GNU bug report logs - #57472
29.0.50; dired: async command leads to error: file 'whatever.foo&wait' does not exist

Previous Next

Package: emacs;

Reported by: Tassilo Horn <thorn <at> fastmail.fm>

Date: Mon, 29 Aug 2022 08:16:02 UTC

Severity: normal

Found in version 29.0.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

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 57472 in the body.
You can then email your comments to 57472 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#57472; Package emacs. (Mon, 29 Aug 2022 08:16:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tassilo Horn <thorn <at> fastmail.fm>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 29 Aug 2022 08:16:02 GMT) Full text and rfc822 format available.

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

From: Tassilo Horn <thorn <at> fastmail.fm>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; dired: async command leads to error: file
 'whatever.foo&wait' does not exist
Date: Mon, 29 Aug 2022 09:58:12 +0200
The error can be reproduced like this:

1. emacs -Q
2. M-x dired RET ~ RET
3. With point on file foo.txt do:
3.1 M-x dired-do-async-shell-command RET xdg-open RET
    ;=> xdg-open: file 'foo.pdf&wait' does not exist

It seems likely that this bug was introduced with Lars' commit
1c737673032 where he added the string "&wait" to the invocation to be
the same as the "on-each case".

I guess that "on-each case" is when giving a prefix arg so that the
command operates on the next N files.  I've also tried that and then get
the same error as above, or at least, the *Async Shell Command* buffer
shows that error for the last of the N files and *Messages* shows:

  xdg-open Abrechnung.pdf&xdg-open .aspell.de_DE.prepl&wait: \
    exited abnormally with code 1.

where Abrechnung.pdf and .aspell.de_DE.prepl where the two files
under/after point and I called dired-do-async-shell-command with C-u 2
prefix.

It seems I can prevent the error when I change the "&wait" strings to
" &wait", i.e., add a space in front.  Not sure if that should be done
similarly for the "&".

And maybe this has something to do with my default shell which is fish.


In GNU Emacs 29.0.50 (build 8, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.17.6) of 2022-08-29 built on thinkpad-t440p
Repository revision: 78698e9211ce642fb0ddeb63ce7d26339863d557
Repository branch: master
System Description: Arch Linux

Configured using:
 'configure --with-pgtk --with-native-compilation --with-xinput2'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XIM GTK3 ZLIB

Important settings:
  value of $LC_MONETARY: de_DE.utf8
  value of $LC_NUMERIC: de_DE.utf8
  value of $LC_TIME: de_DE.utf8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Annotate

Minor modes in effect:
  editorconfig-mode: t
  global-aggressive-indent-mode: t
  pdf-occur-global-minor-mode: t
  dirvish-override-dired-mode: t
  diredfl-global-mode: t
  which-key-mode: t
  highlight-parentheses-mode: t
  global-corfu-mode: t
  corfu-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  vertico-mode: t
  marginalia-mode: t
  minibuffer-depth-indicate-mode: t
  electric-pair-mode: t
  recentf-mode: t
  pixel-scroll-precision-mode: t
  pixel-scroll-mode: t
  override-global-mode: t
  save-place-mode: t
  savehist-mode: t
  shell-dirtrack-mode: t
  puni-global-mode: t
  puni-mode: t
  tooltip-mode: t
  global-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
  blink-cursor-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
~/Repos/el/mu/build/mu4e/mu4e hides ~/Repos/el/mu/mu4e/mu4e
~/Repos/el/mu/build/mu4e/mu4e-main hides ~/Repos/el/mu/mu4e/mu4e-main
~/Repos/el/mu/build/mu4e/mu4e-view hides ~/Repos/el/mu/mu4e/mu4e-view
~/Repos/el/mu/build/mu4e/mu4e-org hides ~/Repos/el/mu/mu4e/mu4e-org
~/Repos/el/mu/build/mu4e/mu4e-lists hides ~/Repos/el/mu/mu4e/mu4e-lists
~/Repos/el/mu/build/mu4e/mu4e-actions hides ~/Repos/el/mu/mu4e/mu4e-actions
~/Repos/el/mu/build/mu4e/mu4e-helpers hides ~/Repos/el/mu/mu4e/mu4e-helpers
~/Repos/el/mu/build/mu4e/mu4e-search hides ~/Repos/el/mu/mu4e/mu4e-search
~/Repos/el/mu/build/mu4e/mu4e-server hides ~/Repos/el/mu/mu4e/mu4e-server
~/Repos/el/mu/build/mu4e/mu4e-obsolete hides ~/Repos/el/mu/mu4e/mu4e-obsolete
~/Repos/el/mu/build/mu4e/mu4e-update hides ~/Repos/el/mu/mu4e/mu4e-update
~/Repos/el/mu/build/mu4e/mu4e-context hides ~/Repos/el/mu/mu4e/mu4e-context
~/Repos/el/mu/build/mu4e/mu4e-draft hides ~/Repos/el/mu/mu4e/mu4e-draft
~/Repos/el/mu/build/mu4e/mu4e-bookmarks hides ~/Repos/el/mu/mu4e/mu4e-bookmarks
~/Repos/el/mu/build/mu4e/mu4e-message hides ~/Repos/el/mu/mu4e/mu4e-message
~/Repos/el/mu/build/mu4e/mu4e-compose hides ~/Repos/el/mu/mu4e/mu4e-compose
~/Repos/el/mu/build/mu4e/mu4e-headers hides ~/Repos/el/mu/mu4e/mu4e-headers
~/Repos/el/mu/build/mu4e/mu4e-mark hides ~/Repos/el/mu/mu4e/mu4e-mark
~/Repos/el/mu/build/mu4e/mu4e-contacts hides ~/Repos/el/mu/mu4e/mu4e-contacts
~/Repos/el/mu/build/mu4e/mu4e-icalendar hides ~/Repos/el/mu/mu4e/mu4e-icalendar
~/Repos/el/mu/build/mu4e/mu4e-folders hides ~/Repos/el/mu/mu4e/mu4e-folders
~/Repos/el/mu/build/mu4e/mu4e-speedbar hides ~/Repos/el/mu/mu4e/mu4e-speedbar
~/Repos/el/mu/build/mu4e/mu4e-contrib hides ~/Repos/el/mu/mu4e/mu4e-contrib
~/Repos/el/mu/build/mu4e/mu4e-vars hides ~/Repos/el/mu/mu4e/mu4e-vars
/home/horn/.emacs.d/elpa/transient-20220806.2224/transient hides /home/horn/Repos/el/emacs/lisp/transient

Features:
(shadow vc-annotate emacsbug expand-region yaml-mode-expansions
text-mode-expansions the-org-mode-expansions web-mode-expansions
er-basic-expansions expand-region-core expand-region-custom org-element
ol-eww eww xdg mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
ol-docview doc-view ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi
dired-aux dirvish-subtree dirvish-collapse dirvish-media dirvish-vc
dirvish-widgets dirvish-layout shr-color bs conf-mode magit-extras
hippie-exp cursor-sensor symbol-overlay eglot array jsonrpc ert
flymake-proc flymake etags fileloop xref misearch multi-isearch project
consult-vertico consult-icomplete consult compat-28 secrets
network-stream mailalias executable dabbrev cape-keyword cape eudc-capf
eudc cus-start eudc-vars editorconfig-core editorconfig-core-handle
editorconfig-fnmatch shortdoc sort gnus-cite qp mm-archive mail-extr
textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check view puni pulse display-fill-column-indicator generic
yaml-mode fish-mode cargo cargo-process rust-utils rust-mode
rust-rustfmt rust-playpen rust-compile rust-cargo web-mode disp-table
preview-latex tex-site editorconfig elfeed-show elfeed-search vc-hg
vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view debbugs-browse
elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib avl-tree
generator url-queue xml-query socks elpher hl-todo aggressive-indent
rainbow-mode pdf-occur tablist tablist-filter semantic/wisent/comp
semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util
semantic semantic/tag semantic/lex semantic/fw mode-local cedet
pdf-isearch pdf-misc pdf-tools pdf-view jka-compr pdf-cache pdf-info tq
pdf-util pdf-macs image-mode exif vc-git vc-dir ewoc epa-file rdictcc
dirvish so-long diredfl dired-x mu4e-icalendar gnus-icalendar
org-capture org-refile icalendar diary-lib diary-loaddefs mu4e mu4e-org
org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote
org-src ob-comint org-pcomplete org-list org-faces org-entities
org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol
org-keys oc org-compat org-macs org-loaddefs mu4e-main mu4e-view
cal-menu calendar cal-loaddefs mu4e-headers mu4e-compose mu4e-draft
mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark
mu4e-message flow-fill mule-util hl-line mu4e-contacts mu4e-update
mu4e-folders mu4e-server mu4e-context mu4e-obsolete mu4e-vars
mu4e-helpers mu4e-config magit-bookmark bookmark ido ecomplete
auto-dictionary flyspell ispell tramp-smb which-key
highlight-parentheses restclient kind-icon svg-lib corfu yasnippet
forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs
gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
gsexp ghub let-alist forge-notify forge-revnote forge-pullreq
forge-issue forge-topic yaml forge-post markdown-mode color thingatpt
noutline outline forge-repo forge forge-core forge-db closql
emacsql-sqlite emacsql emacsql-compiler 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 edebug debug backtrace
find-func magit-diff smerge-mode diff diff-mode git-commit log-edit
pcvs-util add-log magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process with-editor server magit-mode
magit-git magit-base magit-section crm dash compat-27 compat-26 pcase
visual-filename-abbrev rg vc vc-dispatcher rg-info-hack advice rg-menu
transient comp comp-cstr compat compat-macs rg-ibuffer rg-result
wgrep-rg wgrep rg-history rg-header ibuf-ext ibuffer ibuffer-loaddefs
grep compile debbugs soap-client url-http url-auth url-gw nsm warnings
rng-xsd rng-dt rng-util xsd-regexp bug-reference vertico marginalia
icomplete mb-depth use-package-diminish ace-window avy elec-pair recentf
tree-widget pixel-scroll cua-base edmacro kmacro use-package-bind-key
bind-key diminish saveplace savehist smiley gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus xml
gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range message sendmail yank-media puny dired dired-loaddefs rfc822
mml mml-sec epa derived epg rfc6068 epg-config mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util text-property-search
mail-utils range doom-themes-ext-org doom-themes-ext-visual-bell
face-remap doom-Iosvkem-theme doom-themes doom-themes-base
use-package-ensure quelpa-use-package cl-extra use-package-core quelpa
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr lisp-mnt help-fns radix-tree help-mode finder-inf
tramp rx tramp-loaddefs trampver tramp-integration cus-edit pp cus-load
icons wid-edit files-x tramp-compat shell pcomplete comint ansi-color
ring parse-time iso8601 time-date ls-lisp format-spec
aggressive-indent-autoloads cape-autoloads cargo-autoloads
clojure-mode-autoloads consult-eglot-autoloads consult-autoloads
csv-mode-autoloads debbugs-autoloads diredfl-autoloads dirvish-autoloads
doom-themes-autoloads editorconfig-autoloads eglot-autoloads
elfeed-autoloads elpher-autoloads ement-autoloads
expand-region-autoloads fish-mode-autoloads forge-autoloads
closql-autoloads ghub-autoloads hl-todo-autoloads magit-autoloads
git-commit-autoloads marginalia-autoloads pdf-tools-autoloads
plz-autoloads puni-autoloads easy-mmode quelpa-autoloads
rainbow-mode-autoloads rcirc-color-autoloads rust-mode-autoloads
symbol-overlay-autoloads tablist-autoloads taxy-magit-section-autoloads
taxy-autoloads magit-section-autoloads transient-autoloads
use-package-autoloads bind-key-autoloads web-mode-autoloads
which-key-autoloads with-editor-autoloads info compat-autoloads
yaml-autoloads yaml-mode-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 cconv url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
pgtk-dnd 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 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 dbusbind
inotify dynamic-setting system-font-setting font-render-setting cairo
gtk pgtk lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 4964156 504264)
 (symbols 48 57813 59)
 (strings 32 444735 23582)
 (string-bytes 1 13496978)
 (vectors 16 156535)
 (vector-slots 8 3351233 302846)
 (floats 8 1141 2044)
 (intervals 56 459282 16410)
 (buffers 1000 72))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#57472; Package emacs. (Mon, 29 Aug 2022 15:17:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Tassilo Horn <thorn <at> fastmail.fm>
Cc: 57472 <at> debbugs.gnu.org
Subject: Re: bug#57472: 29.0.50; dired: async command leads to error: file
 'whatever.foo&wait' does not exist
Date: Mon, 29 Aug 2022 17:16:26 +0200
Tassilo Horn <thorn <at> fastmail.fm> writes:

> 1. emacs -Q
> 2. M-x dired RET ~ RET
> 3. With point on file foo.txt do:
> 3.1 M-x dired-do-async-shell-command RET xdg-open RET
>     ;=> xdg-open: file 'foo.pdf&wait' does not exist

I'm unable to reproduce this problem when using bash.

> It seems I can prevent the error when I change the "&wait" strings to
> " &wait", i.e., add a space in front.  Not sure if that should be done
> similarly for the "&".
>
> And maybe this has something to do with my default shell which is fish.

Perhaps.  I've now added a space before the &, which works fine on bash,
too.





bug marked as fixed in version 29.1, send any further explanations to 57472 <at> debbugs.gnu.org and Tassilo Horn <thorn <at> fastmail.fm> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 29 Aug 2022 15:17:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#57472; Package emacs. (Mon, 29 Aug 2022 18:20:02 GMT) Full text and rfc822 format available.

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

From: Tassilo Horn <thorn <at> fastmail.fm>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 57472-done <at> debbugs.gnu.org
Subject: Re: bug#57472: 29.0.50; dired: async command leads to error: file
 'whatever.foo&wait' does not exist
Date: Mon, 29 Aug 2022 20:17:49 +0200
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

Hi Lars,

>> 1. emacs -Q
>> 2. M-x dired RET ~ RET
>> 3. With point on file foo.txt do:
>> 3.1 M-x dired-do-async-shell-command RET xdg-open RET
>>     ;=> xdg-open: file 'foo.pdf&wait' does not exist
>
> I'm unable to reproduce this problem when using bash.
>
>> It seems I can prevent the error when I change the "&wait" strings to
>> " &wait", i.e., add a space in front.  Not sure if that should be done
>> similarly for the "&".
>>
>> And maybe this has something to do with my default shell which is
>> fish.
>
> Perhaps.  I've now added a space before the &, which works fine on
> bash, too.

I can confirm it works now for me and my fish.  Thanks a lot, I'm
closing the issue.

Bye,
Tassilo




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

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

Previous Next


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