GNU bug report logs - #60195
27.1; dired failed to delete file with multi-line name

Previous Next

Package: emacs;

Reported by: David Lambert <b49p23tivg <at> gmail.com>

Date: Mon, 19 Dec 2022 08:54:03 UTC

Severity: normal

Found in version 27.1

To reply to this bug, email your comments to 60195 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#60195; Package emacs. (Mon, 19 Dec 2022 08:54:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Lambert <b49p23tivg <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 19 Dec 2022 08:54:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: David Lambert <b49p23tivg <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.1; dired failed to delete file with multi-line name
Date: Sun, 18 Dec 2022 23:42:56 -0500

I had a file named
' 0 -1 -2 -3'$'\n'' -4 -5 -6 -7'$'\n'' -8 -9 -10 -11'$'\n\n''-12 -13 -14 
-15'$'\n''-16 -17 -18 -19'$'\n''-20 -21 -22 -23'$'\n'

attempting to delete it with the usual d x yes instructions, emacs did
not remove the file.


In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll 
bars)
of 2022-01-24, modified by Debian built on lgw01-amd64-048
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Ubuntu 22.04.1 LTS

Recent messages:
Quit
Deleting...done
Mark set [4 times]
~/Jobs/ZW/ZenuWorld-code/accounts/zw /tmp
Mark set [3 times]
Directory has changed on disk; type g to update Dired
Mark activated
Making completion list... [3 times]
Quit
Making completion list...

Configured using:
'configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --enable-libsystemd --with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp 

--with-sound=alsa --without-gconf --with-mailutils --build
x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib
--infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
--with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp 

--with-sound=alsa --without-gconf --with-mailutils --with-x=yes
--with-x-toolkit=lucid --with-toolkit-scroll-bars --without-gsettings
'CFLAGS=-g -O2
-ffile-prefix-map=/build/emacs-NbbgEv/emacs-27.1+1=. 
-fstack-protector-strong
-Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GLIB NOTIFY INOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS LUCID X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP

Important settings:
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix

Major mode: Shell

Minor modes in effect:
shell-dirtrack-mode: t
which-function-mode: t
display-time-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort emacsbug sendmail log-edit pcvs-util vc vc-dispatcher etags
fileloop generator xref project cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs doc-view image-mode
exif add-log sh-script smie executable vc-cvs dired-aux compile
pcmpl-unix j-mode edmacro kmacro j-help j-console j-font-lock jka-compr
info cl-extra help-fns radix-tree help-mode tabify man mail-extr message
rmc puny format-spec rfc822 mml mml-sec epa derived epg epg-config
gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader ispell thingatpt
vc-git diff-mode easy-mmode arc-mode archive-mode dired dired-loaddefs
misearch multi-isearch rect time-date cus-edit cus-start cus-load
wid-edit warnings dirtrack shell pcomplete comint ansi-color ring
which-func imenu cl time view mule-util cal-china lunar solar cal-dst
cal-bahai cal-islam cal-hebrew holidays hol-loaddefs appt diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs server finder-inf package
easymenu browse-url url-handlers url-parse auth-source cl-seq eieio
eieio-core cl-macs eieio-loaddefs password-cache json subr-x map
url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic 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 charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting font-render-setting x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 438843 78265)
(symbols 48 17277 1)
(strings 32 58339 5862)
(string-bytes 1 1934630)
(vectors 16 34263)
(vector-slots 8 1196659 194394)
(floats 8 607 488)
(intervals 56 33021 447)
(buffers 1000 42))





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#60195; Package emacs. (Mon, 19 Dec 2022 12:42:02 GMT) Full text and rfc822 format available.

Message #8 received at 60195 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: David Lambert <b49p23tivg <at> gmail.com>
Cc: 60195 <at> debbugs.gnu.org
Subject: Re: bug#60195: 27.1; dired failed to delete file with multi-line name
Date: Mon, 19 Dec 2022 14:42:03 +0200
> Date: Sun, 18 Dec 2022 23:42:56 -0500
> From: David Lambert <b49p23tivg <at> gmail.com>
> 
> I had a file named
> ' 0 -1 -2 -3'$'\n'' -4 -5 -6 -7'$'\n'' -8 -9 -10 -11'$'\n\n''-12 -13 -14 
> -15'$'\n''-16 -17 -18 -19'$'\n''-20 -21 -22 -23'$'\n'
> 
> attempting to delete it with the usual d x yes instructions, emacs did
> not remove the file.

This is a known limitation.  The workaround, per the Emacs manual and
the doc string of dired-listing-switches, is:

     Dired does not handle files that have names with embedded newline
  characters well.  If you have many such files, you may consider adding
  ‘-b’ to ‘dired-listing-switches’.  This will quote all special
  characters and allow Dired to handle them better.  (You can also use the
  ‘C-u C-x d’ command to add ‘-b’ temporarily.)

Unfortunately, we cannot add -b to the switches by default because it
is problematic with other nonprintable characters that Dired handles
well without -b.




This bug report was last modified 1 year and 99 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.