Package: emacs;
Reported by: the_wurfkreuz <the_wurfkreuz <at> proton.me>
Date: Sun, 8 Dec 2024 16:31:02 UTC
Severity: normal
Found in version 31.0.50
Done: Jim Porter <jporterbugs <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Jim Porter <jporterbugs <at> gmail.com> Cc: tracker <at> debbugs.gnu.org Subject: bug#74739: closed (31.0.50; eshell/which doesn't return a non-zero exit code on not finding a file) Date: Mon, 09 Dec 2024 04:27:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 8 Dec 2024 20:25:16 -0800 with message-id <2bab93f0-7945-69b7-5862-f7f4a687d5ca <at> gmail.com> and subject line Re: bug#74739: 31.0.50; eshell/which doesn't return a non-zero exit code on not finding a file has caused the debbugs.gnu.org bug report #74739, regarding 31.0.50; eshell/which doesn't return a non-zero exit code on not finding a file to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 74739: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74739 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: the_wurfkreuz <the_wurfkreuz <at> proton.me> To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org> Subject: 31.0.50; eshell/which doesn't return a non-zero exit code on not finding a file Date: Sun, 08 Dec 2024 16:30:19 +0000[Message part 3 (text/plain, inline)]eshell/which doesn't return a non-zero exit code on not finding a file. Yet it sends the output to stderr. It looks like there is an inconsistency. Steps to reproduce: ~ $ which test-file which: no test-file in ([...]/usr/local/bin:/usr/bin:/snap/bin) ~ $ which test-file | grep theoretical which: no test-file in ([...]/usr/local/bin:/usr/bin:/snap/bin) ~ $ echo $? 0 ~ $ which test-file 2>&1 | grep theoretical ~ [1] $ In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-12-06 built on wurfkreuz-B650M-PG-Riptide Repository revision: 9ddec89e422d0dd6e9069731b8f2dd2c90aa5607 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12302006 System Description: Ubuntu 24.04.1 LTS Configured using: 'configure --with-native-compilation=aot --with-tree-sitter --with-gif --with-png --with-jpeg --with-tiff --with-imagemagick --with-x-toolkit=gtk3 --with-xwidgets --without-rsvg 'WEBKIT_CFLAGS=-I/usr/include/webkitgtk-4.1 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/libsoup-3.0 -I/usr/include/sysprof-6 -pthread ' 'WEBKIT_LIBS=-lwebkit2gtk-4.1 -lgtk-3 -lgdk-3 -lz -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lsoup-3.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lgio-2.0 -ljavascriptcoregtk-4.1 -lgobject-2.0 -lglib-2.0 ' CPPFLAGS=-I/usr/lib/gcc/x86_64-linux-gnu/14/include --with-mailutils' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ IMAGEMAGICK JPEG LCMS2 LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB Important settings: value of $LC_MONETARY: be_BY.UTF-8 value of $LC_NUMERIC: be_BY.UTF-8 value of $LC_TIME: be_BY.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: windmove-mode: t savehist-mode: t eshell-syntax-highlighting-global-mode: t global-evil-collection-unimpaired-mode: t evil-collection-unimpaired-mode: t global-evil-surround-mode: t evil-surround-mode: t evil-mode: t evil-local-mode: t global-org-modern-mode: t envrc-global-mode: t envrc-mode: t eat-eshell-visual-command-mode: t eat-eshell-mode: t shackle-mode: t popper-echo-mode: t popper-mode: t global-git-commit-mode: t magit-auto-revert-mode: t all-the-icons-completion-mode: t marginalia-mode: t vertico-mode: t global-fish-completion-mode: t fish-completion-mode: t corfu-popupinfo-mode: t corfu-history-mode: t corfu-echo-mode: t global-corfu-mode: t corfu-mode: t yas-global-mode: t yas-minor-mode: t which-key-mode: t global-treesit-auto-mode: t global-undo-tree-mode: t undo-tree-mode: t delete-selection-mode: t global-auto-revert-mode: t save-place-mode: t electric-pair-mode: t recentf-mode: t global-display-line-numbers-mode: t display-line-numbers-mode: t override-global-mode: t tooltip-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-regexp-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: /home/wurfkreuz/.emacs.d/elpa/eat/eat hides /home/wurfkreuz/.emacs.d/elpa/emacs-eat/eat /home/wurfkreuz/.emacs.d/elpa/eat/eat-tests hides /home/wurfkreuz/.emacs.d/elpa/emacs-eat/eat-tests /home/wurfkreuz/.emacs.d/elpa/transient-20241201.1616/transient hides /home/wurfkreuz/.source/emacs/lisp/transient ~/.source/org-mode/lisp/org-element-ast hides /home/wurfkreuz/.source/emacs/lisp/org/org-element-ast ~/.source/org-mode/lisp/org-list hides /home/wurfkreuz/.source/emacs/lisp/org/org-list ~/.source/org-mode/lisp/org-clock hides /home/wurfkreuz/.source/emacs/lisp/org/org-clock ~/.source/org-mode/lisp/ob-eval hides /home/wurfkreuz/.source/emacs/lisp/org/ob-eval ~/.source/org-mode/lisp/ob-lisp hides /home/wurfkreuz/.source/emacs/lisp/org/ob-lisp ~/.source/org-mode/lisp/ob-table hides /home/wurfkreuz/.source/emacs/lisp/org/ob-table ~/.source/org-mode/lisp/ol-rmail hides /home/wurfkreuz/.source/emacs/lisp/org/ol-rmail ~/.source/org-mode/lisp/ol-gnus hides /home/wurfkreuz/.source/emacs/lisp/org/ol-gnus ~/.source/org-mode/lisp/ob-shell hides /home/wurfkreuz/.source/emacs/lisp/org/ob-shell ~/.source/org-mode/lisp/ol-irc hides /home/wurfkreuz/.source/emacs/lisp/org/ol-irc ~/.source/org-mode/lisp/ob-exp hides /home/wurfkreuz/.source/emacs/lisp/org/ob-exp ~/.source/org-mode/lisp/ob-tangle hides /home/wurfkreuz/.source/emacs/lisp/org/ob-tangle ~/.source/org-mode/lisp/ob-julia hides /home/wurfkreuz/.source/emacs/lisp/org/ob-julia ~/.source/org-mode/lisp/ob-fortran hides /home/wurfkreuz/.source/emacs/lisp/org/ob-fortran ~/.source/org-mode/lisp/ob-haskell hides /home/wurfkreuz/.source/emacs/lisp/org/ob-haskell ~/.source/org-mode/lisp/org-refile hides /home/wurfkreuz/.source/emacs/lisp/org/org-refile ~/.source/org-mode/lisp/org-timer hides /home/wurfkreuz/.source/emacs/lisp/org/org-timer ~/.source/org-mode/lisp/org-version hides /home/wurfkreuz/.source/emacs/lisp/org/org-version ~/.source/org-mode/lisp/org-attach-git hides /home/wurfkreuz/.source/emacs/lisp/org/org-attach-git ~/.source/org-mode/lisp/ob-awk hides /home/wurfkreuz/.source/emacs/lisp/org/ob-awk ~/.source/org-mode/lisp/ob-C hides /home/wurfkreuz/.source/emacs/lisp/org/ob-C ~/.source/org-mode/lisp/ol-bibtex hides /home/wurfkreuz/.source/emacs/lisp/org/ol-bibtex ~/.source/org-mode/lisp/oc-basic hides /home/wurfkreuz/.source/emacs/lisp/org/oc-basic ~/.source/org-mode/lisp/org-inlinetask hides /home/wurfkreuz/.source/emacs/lisp/org/org-inlinetask ~/.source/org-mode/lisp/ob-ref hides /home/wurfkreuz/.source/emacs/lisp/org/ob-ref ~/.source/org-mode/lisp/ob-emacs-lisp hides /home/wurfkreuz/.source/emacs/lisp/org/ob-emacs-lisp ~/.source/org-mode/lisp/ob-sed hides /home/wurfkreuz/.source/emacs/lisp/org/ob-sed ~/.source/org-mode/lisp/org-archive hides /home/wurfkreuz/.source/emacs/lisp/org/org-archive ~/.source/org-mode/lisp/ob-lua hides /home/wurfkreuz/.source/emacs/lisp/org/ob-lua ~/.source/org-mode/lisp/org-goto hides /home/wurfkreuz/.source/emacs/lisp/org/org-goto ~/.source/org-mode/lisp/org-fold-core hides /home/wurfkreuz/.source/emacs/lisp/org/org-fold-core ~/.source/org-mode/lisp/oc-csl hides /home/wurfkreuz/.source/emacs/lisp/org/oc-csl ~/.source/org-mode/lisp/org hides /home/wurfkreuz/.source/emacs/lisp/org/org ~/.source/org-mode/lisp/ob-forth hides /home/wurfkreuz/.source/emacs/lisp/org/ob-forth ~/.source/org-mode/lisp/ox-koma-letter hides /home/wurfkreuz/.source/emacs/lisp/org/ox-koma-letter ~/.source/org-mode/lisp/ob-eshell hides /home/wurfkreuz/.source/emacs/lisp/org/ob-eshell ~/.source/org-mode/lisp/ol-info hides /home/wurfkreuz/.source/emacs/lisp/org/ol-info ~/.source/org-mode/lisp/ol-docview hides /home/wurfkreuz/.source/emacs/lisp/org/ol-docview ~/.source/org-mode/lisp/ox-latex hides /home/wurfkreuz/.source/emacs/lisp/org/ox-latex ~/.source/org-mode/lisp/org-crypt hides /home/wurfkreuz/.source/emacs/lisp/org/org-crypt ~/.source/org-mode/lisp/ob-makefile hides /home/wurfkreuz/.source/emacs/lisp/org/ob-makefile ~/.source/org-mode/lisp/org-plot hides /home/wurfkreuz/.source/emacs/lisp/org/org-plot ~/.source/org-mode/lisp/ob-ocaml hides /home/wurfkreuz/.source/emacs/lisp/org/ob-ocaml ~/.source/org-mode/lisp/org-faces hides /home/wurfkreuz/.source/emacs/lisp/org/org-faces ~/.source/org-mode/lisp/org-datetree hides /home/wurfkreuz/.source/emacs/lisp/org/org-datetree ~/.source/org-mode/lisp/ob-lilypond hides /home/wurfkreuz/.source/emacs/lisp/org/ob-lilypond ~/.source/org-mode/lisp/ob-octave hides /home/wurfkreuz/.source/emacs/lisp/org/ob-octave ~/.source/org-mode/lisp/oc hides /home/wurfkreuz/.source/emacs/lisp/org/oc ~/.source/org-mode/lisp/ob-sass hides /home/wurfkreuz/.source/emacs/lisp/org/ob-sass ~/.source/org-mode/lisp/ob-maxima hides /home/wurfkreuz/.source/emacs/lisp/org/ob-maxima ~/.source/org-mode/lisp/ob-latex hides /home/wurfkreuz/.source/emacs/lisp/org/ob-latex ~/.source/org-mode/lisp/ob-python hides /home/wurfkreuz/.source/emacs/lisp/org/ob-python ~/.source/org-mode/lisp/org-keys hides /home/wurfkreuz/.source/emacs/lisp/org/org-keys ~/.source/org-mode/lisp/org-pcomplete hides /home/wurfkreuz/.source/emacs/lisp/org/org-pcomplete ~/.source/org-mode/lisp/ob-sqlite hides /home/wurfkreuz/.source/emacs/lisp/org/ob-sqlite ~/.source/org-mode/lisp/org-duration hides /home/wurfkreuz/.source/emacs/lisp/org/org-duration ~/.source/org-mode/lisp/org-id hides /home/wurfkreuz/.source/emacs/lisp/org/org-id ~/.source/org-mode/lisp/ob-plantuml hides /home/wurfkreuz/.source/emacs/lisp/org/ob-plantuml ~/.source/org-mode/lisp/org-macro hides /home/wurfkreuz/.source/emacs/lisp/org/org-macro ~/.source/org-mode/lisp/ob-ruby hides /home/wurfkreuz/.source/emacs/lisp/org/ob-ruby ~/.source/org-mode/lisp/ob-groovy hides /home/wurfkreuz/.source/emacs/lisp/org/ob-groovy ~/.source/org-mode/lisp/ox-beamer hides /home/wurfkreuz/.source/emacs/lisp/org/ox-beamer ~/.source/org-mode/lisp/ob-comint hides /home/wurfkreuz/.source/emacs/lisp/org/ob-comint ~/.source/org-mode/lisp/ox-odt hides /home/wurfkreuz/.source/emacs/lisp/org/ox-odt ~/.source/org-mode/lisp/ob-calc hides /home/wurfkreuz/.source/emacs/lisp/org/ob-calc ~/.source/org-mode/lisp/ob-R hides /home/wurfkreuz/.source/emacs/lisp/org/ob-R ~/.source/org-mode/lisp/org-loaddefs hides /home/wurfkreuz/.source/emacs/lisp/org/org-loaddefs ~/.source/org-mode/lisp/ol-man hides /home/wurfkreuz/.source/emacs/lisp/org/ol-man ~/.source/org-mode/lisp/org-capture hides /home/wurfkreuz/.source/emacs/lisp/org/org-capture ~/.source/org-mode/lisp/ol-eshell hides /home/wurfkreuz/.source/emacs/lisp/org/ol-eshell ~/.source/org-mode/lisp/ox-texinfo hides /home/wurfkreuz/.source/emacs/lisp/org/ox-texinfo ~/.source/org-mode/lisp/ox-ascii hides /home/wurfkreuz/.source/emacs/lisp/org/ox-ascii ~/.source/org-mode/lisp/org-element hides /home/wurfkreuz/.source/emacs/lisp/org/org-element ~/.source/org-mode/lisp/org-macs hides /home/wurfkreuz/.source/emacs/lisp/org/org-macs ~/.source/org-mode/lisp/org-compat hides /home/wurfkreuz/.source/emacs/lisp/org/org-compat ~/.source/org-mode/lisp/ob hides /home/wurfkreuz/.source/emacs/lisp/org/ob ~/.source/org-mode/lisp/ob-js hides /home/wurfkreuz/.source/emacs/lisp/org/ob-js ~/.source/org-mode/lisp/ol-bbdb hides /home/wurfkreuz/.source/emacs/lisp/org/ol-bbdb ~/.source/org-mode/lisp/org-fold hides /home/wurfkreuz/.source/emacs/lisp/org/org-fold ~/.source/org-mode/lisp/ol hides /home/wurfkreuz/.source/emacs/lisp/org/ol ~/.source/org-mode/lisp/oc-biblatex hides /home/wurfkreuz/.source/emacs/lisp/org/oc-biblatex ~/.source/org-mode/lisp/ob-perl hides /home/wurfkreuz/.source/emacs/lisp/org/ob-perl ~/.source/org-mode/lisp/ob-screen hides /home/wurfkreuz/.source/emacs/lisp/org/ob-screen ~/.source/org-mode/lisp/org-ctags hides /home/wurfkreuz/.source/emacs/lisp/org/org-ctags ~/.source/org-mode/lisp/org-table hides /home/wurfkreuz/.source/emacs/lisp/org/org-table ~/.source/org-mode/lisp/org-persist hides /home/wurfkreuz/.source/emacs/lisp/org/org-persist ~/.source/org-mode/lisp/ob-scheme hides /home/wurfkreuz/.source/emacs/lisp/org/ob-scheme ~/.source/org-mode/lisp/org-agenda hides /home/wurfkreuz/.source/emacs/lisp/org/org-agenda ~/.source/org-mode/lisp/oc-natbib hides /home/wurfkreuz/.source/emacs/lisp/org/oc-natbib ~/.source/org-mode/lisp/ob-processing hides /home/wurfkreuz/.source/emacs/lisp/org/ob-processing ~/.source/org-mode/lisp/org-habit hides /home/wurfkreuz/.source/emacs/lisp/org/org-habit ~/.source/org-mode/lisp/org-entities hides /home/wurfkreuz/.source/emacs/lisp/org/org-entities ~/.source/org-mode/lisp/ob-java hides /home/wurfkreuz/.source/emacs/lisp/org/ob-java ~/.source/org-mode/lisp/ob-gnuplot hides /home/wurfkreuz/.source/emacs/lisp/org/ob-gnuplot ~/.source/org-mode/lisp/ol-w3m hides /home/wurfkreuz/.source/emacs/lisp/org/ol-w3m ~/.source/org-mode/lisp/ox-org hides /home/wurfkreuz/.source/emacs/lisp/org/ox-org ~/.source/org-mode/lisp/ox-man hides /home/wurfkreuz/.source/emacs/lisp/org/ox-man ~/.source/org-mode/lisp/org-lint hides /home/wurfkreuz/.source/emacs/lisp/org/org-lint ~/.source/org-mode/lisp/org-protocol hides /home/wurfkreuz/.source/emacs/lisp/org/org-protocol ~/.source/org-mode/lisp/ob-core hides /home/wurfkreuz/.source/emacs/lisp/org/ob-core ~/.source/org-mode/lisp/ol-eww hides /home/wurfkreuz/.source/emacs/lisp/org/ol-eww ~/.source/org-mode/lisp/ox-publish hides /home/wurfkreuz/.source/emacs/lisp/org/ox-publish ~/.source/org-mode/lisp/org-footnote hides /home/wurfkreuz/.source/emacs/lisp/org/org-footnote ~/.source/org-mode/lisp/ox-md hides /home/wurfkreuz/.source/emacs/lisp/org/ox-md ~/.source/org-mode/lisp/org-feed hides /home/wurfkreuz/.source/emacs/lisp/org/org-feed ~/.source/org-mode/lisp/ol-doi hides /home/wurfkreuz/.source/emacs/lisp/org/ol-doi ~/.source/org-mode/lisp/ox-html hides /home/wurfkreuz/.source/emacs/lisp/org/ox-html ~/.source/org-mode/lisp/org-src hides /home/wurfkreuz/.source/emacs/lisp/org/org-src ~/.source/org-mode/lisp/ob-org hides /home/wurfkreuz/.source/emacs/lisp/org/ob-org ~/.source/org-mode/lisp/oc-bibtex hides /home/wurfkreuz/.source/emacs/lisp/org/oc-bibtex ~/.source/org-mode/lisp/org-mouse hides /home/wurfkreuz/.source/emacs/lisp/org/org-mouse ~/.source/org-mode/lisp/org-colview hides /home/wurfkreuz/.source/emacs/lisp/org/org-colview ~/.source/org-mode/lisp/ol-mhe hides /home/wurfkreuz/.source/emacs/lisp/org/ol-mhe ~/.source/org-mode/lisp/ob-lob hides /home/wurfkreuz/.source/emacs/lisp/org/ob-lob ~/.source/org-mode/lisp/ox-icalendar hides /home/wurfkreuz/.source/emacs/lisp/org/ox-icalendar ~/.source/org-mode/lisp/org-tempo hides /home/wurfkreuz/.source/emacs/lisp/org/org-tempo ~/.source/org-mode/lisp/ob-matlab hides /home/wurfkreuz/.source/emacs/lisp/org/ob-matlab ~/.source/org-mode/lisp/ob-sql hides /home/wurfkreuz/.source/emacs/lisp/org/ob-sql ~/.source/org-mode/lisp/ob-dot hides /home/wurfkreuz/.source/emacs/lisp/org/ob-dot ~/.source/org-mode/lisp/ob-ditaa hides /home/wurfkreuz/.source/emacs/lisp/org/ob-ditaa ~/.source/org-mode/lisp/ob-clojure hides /home/wurfkreuz/.source/emacs/lisp/org/ob-clojure ~/.source/org-mode/lisp/org-indent hides /home/wurfkreuz/.source/emacs/lisp/org/org-indent ~/.source/org-mode/lisp/org-cycle hides /home/wurfkreuz/.source/emacs/lisp/org/org-cycle ~/.source/org-mode/lisp/org-mobile hides /home/wurfkreuz/.source/emacs/lisp/org/org-mobile ~/.source/org-mode/lisp/org-num hides /home/wurfkreuz/.source/emacs/lisp/org/org-num ~/.source/org-mode/lisp/ob-css hides /home/wurfkreuz/.source/emacs/lisp/org/ob-css ~/.source/org-mode/lisp/org-attach hides /home/wurfkreuz/.source/emacs/lisp/org/org-attach ~/.source/org-mode/lisp/ox hides /home/wurfkreuz/.source/emacs/lisp/org/ox Features: (shadow sort mail-extr emacsbug tramp-cmds pulse color help-fns radix-tree pcmpl-unix windmove flymake-shellcheck python bug-reference org-bullets org-indent dired-aux toc-org image-file image-converter oc-basic ol-eww eww vtable mule-util url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect 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 gnus-win gnus nnheader range ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi vc-git vc-dispatcher em-unix em-term evil-collection-term term disp-table ehelp em-script em-pred em-ls em-hist em-glob em-extpipe em-basic em-banner em-elecslash eshell savehist em-tramp eshell-syntax-highlighting em-prompt em-alias evil-collection-unimpaired evil-collection-debug evil-collection-magit evil-collection-docker evil-collection-minibuffer evil-collection-org evil-collection-dired evil-collection annalist evil-org evil-surround evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core evil-common rect evil-vars org-modern org-tempo tempo org-drill persist org-agenda org-download org-attach url-http url-auth url-gw nsm async embark-org org-element org-persist org-id org-refile org-element-ast inline avl-tree org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar cal-loaddefs org-version org-compat org-macs eglot external-completion jsonrpc ert ewoc debug backtrace systemd conf-mode nix-mode nix-repl nix-shell nix-store nix-log nix-instantiate nix-shebang nix-format nix yaml-mode haskell-mode haskell-cabal haskell-utils haskell-font-lock haskell-indentation haskell-string haskell-sort-imports haskell-lexeme haskell-align-imports haskell-complete-module haskell-ghc-support flymake-proc dabbrev haskell-customize dockerfile-mode sh-script executable terraform-mode noutline outline hcl-mode lua-mode go-mode find-file etags fileloop xref raku-mode raku-repl raku-imenu raku-indent smie raku-font-lock raku-detect flymake-hadolint flymake envrc inheritenv eat shackle trace cl-print popper-echo popper transpose-frame magit-bookmark magit-submodule 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-mode track-changes git-commit log-edit message sendmail yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util 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 magit-mode benchmark magit-git magit-base magit-section cursor-sensor crm hydra lv with-editor server all-the-icons-completion all-the-icons-dired all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons embark-consult embark ffap thingatpt consult bookmark marginalia vertico project zoxide sudo-edit exec-path-from-shell fish-completion em-cmpl em-dirs esh-mode esh-var esh-cmd esh-ext esh-proc esh-opt esh-io esh-arg esh-module esh-module-loaddefs esh-util cape corfu-popupinfo corfu-history corfu-echo corfu orderless yasnippet commander f wgrep grep compile text-property-search which-key docker docker-context docker-volume docker-network docker-image docker-container docker-faces docker-core docker-compose docker-process docker-utils tablist advice tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic pp semantic/tag semantic/lex semantic/fw mode-local find-func cedet dired dired-loaddefs docker-group transient edmacro kmacro compat dash aio generator s avy clojure-ts-mode treesit-auto treesit rose-pine-theme undo-tree diff queue delsel midnight autorevert filenotify saveplace tramp-cache time-stamp tramp-sh tramp trampver tramp-integration files-x tramp-message tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs desktop frameset comp comp-cstr cl-extra help-mode warnings comp-run comp-common elec-pair recentf tree-widget wid-edit display-line-numbers use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core all-the-icons-completion-autoloads all-the-icons-dired-autoloads all-the-icons-autoloads avy-autoloads cape-autoloads clojure-ts-mode-autoloads commander-autoloads corfu-autoloads docker-autoloads aio-autoloads dockerfile-mode-autoloads eat-autoloads emacs-eat-autoloads finder-inf embark-consult-autoloads consult-autoloads embark-autoloads envrc-autoloads eshell-syntax-highlighting-autoloads evil-collection-autoloads annalist-autoloads evil-org-autoloads evil-surround-autoloads evil-autoloads exec-path-from-shell-autoloads f-autoloads fish-completion-autoloads flymake-ansible-lint-autoloads flymake-hadolint-autoloads flymake-shellcheck-autoloads go-mode-autoloads goto-chg-autoloads haskell-mode-autoloads hydra-autoloads inheritenv-autoloads lua-mode-autoloads lv-autoloads magit-autoloads pcase marginalia-autoloads meow-autoloads nix-mode-autoloads magit-section-autoloads orderless-autoloads org-bullets-autoloads org-download-autoloads async-autoloads org-drill-autoloads org-modern-autoloads persist-autoloads popper-autoloads pyvenv-autoloads raku-mode-autoloads s-autoloads shackle-autoloads sudo-edit-autoloads swiper-autoloads ivy-autoloads systemd-autoloads rx tablist-autoloads terraform-mode-autoloads dash-autoloads hcl-mode-autoloads toc-org-autoloads transient-autoloads transpose-frame-autoloads treesit-auto-autoloads undo-tree-autoloads queue-autoloads vertico-autoloads wgrep-autoloads info with-editor-autoloads yaml-mode-autoloads yasnippet-autoloads zoxide-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 icons 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/x-win x-win term/common-win x-dnd touch-screen 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 xwidget-internal dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 1092583 211653) (symbols 48 57721 53) (strings 32 278315 13612) (string-bytes 1 8739130) (vectors 16 111852) (vector-slots 8 2563160 82266) (floats 8 1134 533) (intervals 56 27324 2396) (buffers 992 52))[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
From: Jim Porter <jporterbugs <at> gmail.com> To: the_wurfkreuz <the_wurfkreuz <at> proton.me>, 74739-done <at> debbugs.gnu.org Subject: Re: bug#74739: 31.0.50; eshell/which doesn't return a non-zero exit code on not finding a file Date: Sun, 8 Dec 2024 20:25:16 -0800On 12/8/2024 8:30 AM, the_wurfkreuz via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > eshell/which doesn't return a non-zero exit code on not finding a file. > Yet it sends the output to stderr. It looks like there is an inconsistency. Thanks for noticing this. Fixed in b6c91cdf541. Closing this bug now.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.