GNU bug report logs - #69592
29.2; eshell rm doesn't expand wildcard over TRAMP

Previous Next

Package: emacs;

Reported by: Antero Mejr <mail <at> antr.me>

Date: Wed, 6 Mar 2024 19:51:01 UTC

Severity: normal

Found in version 29.2

Done: Jim Porter <jporterbugs <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69592 in the body.
You can then email your comments to 69592 AT debbugs.gnu.org in the normal way.

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#69592; Package emacs. (Wed, 06 Mar 2024 19:51:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Antero Mejr <mail <at> antr.me>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 06 Mar 2024 19:51:01 GMT) Full text and rfc822 format available.

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

From: Antero Mejr <mail <at> antr.me>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.2; eshell rm doesn't expand wildcard over TRAMP
Date: Wed, 06 Mar 2024 14:50:09 -0500
When deleting multiple files with the * wildcard expansion in eshell
over TRAMP, like this:

rm /ssh:some-machine:path/*

nothing is deleted. However, when running the same command locally:

rm path/*

the files under path are deleted. Deleting single files over TRAMP
does work, however.

Could eshell/rm support wild card expansions on remote machines?


In GNU Emacs 29.2 (build 2, aarch64-apple-darwin23.2.0, NS
 appkit-2487.30 Version 14.2.1 (Build 23C71)) of 2024-01-18 built on
 sonomaa.local
Windowing system distributor 'Apple', version 10.3.2487
System Description:  macOS 14.3.1

Configured using:
 'configure --prefix=/opt/local --disable-silent-rules --without-dbus
 --without-gconf --without-libotf --without-m17n-flt --with-libgmp
 --with-gnutls --with-json --with-xml2 --with-modules --with-sqlite3
 --with-webp --infodir /opt/local/share/info/emacs --with-ns
 --with-lcms2 --without-harfbuzz --without-imagemagick --without-xaw3d
 --with-rsvg --with-native-compilation=aot --with-tree-sitter
 'CFLAGS=-pipe -Os -Wno-attributes
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch
 arm64' 'CPPFLAGS=-I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk'
 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath
 /opt/local/lib/gcc13 -Wl,-no_pie
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
 -arch arm64''

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

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  bug-reference-prog-mode: t
  display-fill-column-indicator-mode: t
  pixel-scroll-precision-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  global-auto-revert-mode: t
  server-mode: t
  override-global-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/opt/local/share/emacs/site-lisp/site-start hides /Applications/MacPorts/Emacs.app/Contents/Resources/site-lisp/site-start
/Users/a/.emacs.d/elpa/transient-0.5.3/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient

Features:
(shadow sort mail-extr emacsbug vc cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cl-print shortdoc
delsel rect face-remap help-fns radix-tree bug-reference conf-mode
pcmpl-git misearch multi-isearch vc-hg vc-git vc-bzr vc-dispatcher
python project pcase treesit dired-aux tramp-cache time-stamp tramp-sh
gomoku nndraft nnmh utf-7 network-stream nsm nnfolder nnnil gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime gnutls dig gnus-cache gnus-sum shr
pixel-fill kinsoku url-file svg dom gnus-demon nntp gnus-group gnus-undo
gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7
gnus-spec gnus-win nnoo gnus-int gnus-range gnus nnheader range wid-edit
pcmpl-unix em-unix em-term term disp-table ehelp em-script em-prompt
em-ls em-hist em-pred em-glob em-extpipe em-cmpl em-dirs esh-var
em-basic em-banner em-alias em-tramp tramp tramp-loaddefs trampver
tramp-integration tramp-compat parse-time iso8601 esh-mode eshell
esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups
esh-util files-x display-fill-column-indicator pixel-scroll cua-base
markdown-mode color thingatpt magit-submodule magit-obsolete magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag magit-merge magit-branch magit-reset
magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log which-func imenu magit-diff smerge-mode diff
diff-mode git-commit log-edit message sendmail yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config
gnus-util 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 pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
comp comp-cstr warnings shell magit-mode transient edmacro kmacro compat
magit-git magit-section magit-utils crm dash cl-extra help-mode advice
autorevert filenotify server ox-man ox-odt rng-loc rng-uri rng-parse
rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok
nxml-util ox-latex ox-icalendar org-agenda ox-html table ox-ascii
ox-publish ox org-element org-persist xdg org-id org-refile org ob
ob-tangle ob-ref ob-lob ob-table org-macro org-src ob-comint
org-pcomplete pcomplete comint ansi-osc ansi-color org-list org-footnote
org-faces org-entities time-date noutline outline icons ob-emacs-lisp
org-table org-keys org-loaddefs find-func cal-menu calendar cal-loaddefs
ring avl-tree generator ol rx oc ob-exp ob-core org-cycle org-fold
org-fold-core org-compat ob-eval org-version org-macs format-spec
use-package use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core
magit-autoloads git-commit-autoloads magit-section-autoloads
dash-autoloads markdown-mode-autoloads transient-autoloads
with-editor-autoloads info compat-autoloads package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib 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 lcms2
multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 544232 61786)
 (symbols 48 35992 0)
 (strings 32 133712 7121)
 (string-bytes 1 4708176)
 (vectors 16 72291)
 (vector-slots 8 1252694 70109)
 (floats 8 609 445)
 (intervals 56 23468 177)
 (buffers 984 23))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#69592; Package emacs. (Wed, 06 Mar 2024 22:13:01 GMT) Full text and rfc822 format available.

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

From: Jim Porter <jporterbugs <at> gmail.com>
To: Antero Mejr <mail <at> antr.me>, 69592 <at> debbugs.gnu.org
Subject: Re: bug#69592: 29.2; eshell rm doesn't expand wildcard over TRAMP
Date: Wed, 6 Mar 2024 14:10:31 -0800
[Message part 1 (text/plain, inline)]
On 3/6/2024 11:50 AM, Antero Mejr wrote:
> 
> When deleting multiple files with the * wildcard expansion in eshell
> over TRAMP, like this:
> 
> rm /ssh:some-machine:path/*
> 
> nothing is deleted.

Interesting. I didn't realize this case wasn't already covered in 
Eshell. Does the attached patch fix things for you?
[0001-Support-expanding-Eshell-globs-for-remote-file-names.patch (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#69592; Package emacs. (Thu, 07 Mar 2024 15:49:01 GMT) Full text and rfc822 format available.

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

From: Antero Mejr <mail <at> antr.me>
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: 69592 <at> debbugs.gnu.org
Subject: Re: bug#69592: 29.2; eshell rm doesn't expand wildcard over TRAMP
Date: Thu, 07 Mar 2024 10:46:45 -0500
Jim Porter <jporterbugs <at> gmail.com> writes:

> On 3/6/2024 11:50 AM, Antero Mejr wrote:
>> When deleting multiple files with the * wildcard expansion in eshell
>> over TRAMP, like this:
>> rm /ssh:some-machine:path/*
>> nothing is deleted.
>
> Interesting. I didn't realize this case wasn't already covered in Eshell. Does
> the attached patch fix things for you?

Yes, that patch fixes it. The em-glob-tests pass on my machine as well.
Thanks!




Reply sent to Jim Porter <jporterbugs <at> gmail.com>:
You have taken responsibility. (Thu, 07 Mar 2024 20:27:02 GMT) Full text and rfc822 format available.

Notification sent to Antero Mejr <mail <at> antr.me>:
bug acknowledged by developer. (Thu, 07 Mar 2024 20:27:02 GMT) Full text and rfc822 format available.

Message #16 received at 69592-done <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: Antero Mejr <mail <at> antr.me>
Cc: 69592-done <at> debbugs.gnu.org
Subject: Re: bug#69592: 29.2; eshell rm doesn't expand wildcard over TRAMP
Date: Thu, 7 Mar 2024 12:25:19 -0800
On 3/7/2024 7:46 AM, Antero Mejr wrote:
> Yes, that patch fixes it. The em-glob-tests pass on my machine as well.
> Thanks!

Thanks for testing. I've now merged this to the master branch as 
e42f14f0e03, so closing this bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 05 Apr 2024 11:24:36 GMT) Full text and rfc822 format available.

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

Previous Next


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