unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#68814: 29.1; dired fails to mark links to . or .. for deletion
@ 2024-01-30  3:36 Devon Sean McCullough
  2024-02-03 10:40 ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Devon Sean McCullough @ 2024-01-30  3:36 UTC (permalink / raw)
  To: 68814

$ mkdir /tmp/scratch
$ cd /tmp/scratch
$ ln -s . self
$ ln -s .. up
$ ln -s ... ...
$ emacs .
Type the letter d three times.
Dired fails to mark all three files for deletion, unlike prior versions.

In GNU Emacs 29.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60
  Version 10.14.6 (Build 18G9323)) of 2023-08-16 built on
  builder10-14.lan
Windowing system distributor 'Apple', version 10.3.1671
System Description:  Mac OS X 10.14.6

Configured using:
  'configure --with-ns '--enable-locallisppath=/Library/Application
  Support/Emacs/${version}/site-lisp:/Library/Application
  Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000
  -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no'

Configured features:
ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER
PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB

Important settings:
   locale-coding-system: utf-8-unix

Major mode: Dired by name

Minor modes in effect:
   shell-dirtrack-mode: t
   tooltip-mode: t
   global-eldoc-mode: t
   show-paren-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   buffer-read-only: t
   line-number-mode: t
   indent-tabs-mode: t
   transient-mark-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny rfc822
mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils dired-aux dired dired-loaddefs
sh-script rx smie treesit cl-seq cl-loaddefs cl-lib executable files-x
shell subr-x pcomplete comint ansi-osc ansi-color ring rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 55090 8899)
  (symbols 48 6568 0)
  (strings 32 20027 1921)
  (string-bytes 1 574682)
  (vectors 16 13706)
  (vector-slots 8 204004 10049)
  (floats 8 24 56)
  (intervals 56 382 0)
  (buffers 984 16))





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#68814: 29.1; dired fails to mark links to . or .. for deletion
  2024-01-30  3:36 bug#68814: 29.1; dired fails to mark links to . or .. for deletion Devon Sean McCullough
@ 2024-02-03 10:40 ` Eli Zaretskii
       [not found]   ` <3752af386f3390232e20b17bf135c5a9@jovi.net>
  0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2024-02-03 10:40 UTC (permalink / raw)
  To: Devon Sean McCullough; +Cc: 68814

> Date: Mon, 29 Jan 2024 21:36:04 -0600
> From: Devon Sean McCullough <Emacs-hacker2023@jovi.net>
> 
> $ mkdir /tmp/scratch
> $ cd /tmp/scratch
> $ ln -s . self
> $ ln -s .. up
> $ ln -s ... ...
> $ emacs .
> Type the letter d three times.
> Dired fails to mark all three files for deletion, unlike prior versions.

Thanks.  This is the (unintended) result of fixing bug#38729.

How does the patch below look?  Do you see any possible problems with
it?  That is, would exempting symlinks from the dot-dot rule cause any
problems?

diff --git a/lisp/dired.el b/lisp/dired.el
index c33569d..d9fbafb 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -4110,6 +4110,11 @@ dired-mark
        (prefix-numeric-value arg)
        (lambda ()
          (when (or (not (looking-at-p dired-re-dot))
+                   ;; Don't skip symlinks to ".", "..", etc.
+                   (save-excursion
+                     (re-search-forward
+                      dired-permission-flags-regexp nil t)
+                     (eq (char-after (match-beginning 1)) ?l))
                    (not (equal dired-marker-char dired-del-marker)))
            (delete-char 1)
            (insert dired-marker-char))))))))





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#68814: 29.1; dired fails to mark links to . or .. for deletion
       [not found]   ` <3752af386f3390232e20b17bf135c5a9@jovi.net>
@ 2024-02-08 11:54     ` Eli Zaretskii
  0 siblings, 0 replies; 3+ messages in thread
From: Eli Zaretskii @ 2024-02-08 11:54 UTC (permalink / raw)
  To: Devon Sean McCullough; +Cc: 68814-done

> Date: Sat, 03 Feb 2024 06:11:50 -0600
> From: Devon Sean McCullough <Emacs-hacker2023@jovi.net>
> 
> On 2024-02-03 04:40, Eli Zaretskii wrote:
> > That is, would exempting symlinks from the dot-dot rule cause any 
> > problems?
> 
> Seems sensible to me.

Thanks, I've now installed this on the emacs-29 branch, and I'm
closing this bug.

> P.S.  I am uncomfortable with how dired deals with $ touch '. . .'
> but perhaps that can of worms can remain unopened for now,
> LOL, wonder what will happen with $ touch $'foo\nbar'

Yes, that's a separate issue.





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-02-08 11:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-30  3:36 bug#68814: 29.1; dired fails to mark links to . or .. for deletion Devon Sean McCullough
2024-02-03 10:40 ` Eli Zaretskii
     [not found]   ` <3752af386f3390232e20b17bf135c5a9@jovi.net>
2024-02-08 11:54     ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).