* 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).