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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74739 in the body.
You can then email your comments to 74739 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
bug-gnu-emacs <at> gnu.org
:bug#74739
; Package emacs
.
(Sun, 08 Dec 2024 16:31:02 GMT) Full text and rfc822 format available.the_wurfkreuz <the_wurfkreuz <at> proton.me>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 08 Dec 2024 16:31:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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 1 (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 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#74739
; Package emacs
.
(Sun, 08 Dec 2024 20:32:01 GMT) Full text and rfc822 format available.Message #8 received at 74739 <at> debbugs.gnu.org (full text, mbox):
From: Ship Mints <shipmints <at> gmail.com> To: the_wurfkreuz <the_wurfkreuz <at> proton.me> Cc: 74739 <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 15:30:09 -0500
[Message part 1 (text/plain, inline)]
I don't know why I'm choosing to answer eshell questions today... which is an eshell built-in command. You can see this by running $ which which eshell/which is a native-compiled Lisp function in 'esh-cmd.el'. Try running /usr/bin/false and then echo $? and you'll see the correct unix command exit value. I do not think eshell builtins are intended to behave the same way. On Sun, Dec 8, 2024 at 11:31 AM the_wurfkreuz via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org> 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. > > 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 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#74739
; Package emacs
.
(Sun, 08 Dec 2024 20:47:02 GMT) Full text and rfc822 format available.Message #11 received at 74739 <at> debbugs.gnu.org (full text, mbox):
From: the_wurfkreuz <the_wurfkreuz <at> proton.me> To: Ship Mints <shipmints <at> gmail.com> Cc: 74739 <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, 08 Dec 2024 20:46:04 +0000
[Message part 1 (text/plain, inline)]
I understand that eshell built-ins might behave differently from Unix commands, but isn't it still inconsistent for eshell/which to use stderr (indicating an error) while returning exit code 0 (indicating success)? If this isn't an accidental oversight, i'd be interested to know why it was designed this way. On Sunday, December 8th, 2024 at 23:30, Ship Mints <shipmints <at> gmail.com> wrote: > I don't know why I'm choosing to answer eshell questions today... > > which is an eshell built-in command. You can see this by running > > $ which which > eshell/which is a native-compiled Lisp function in 'esh-cmd.el'. > > Try running /usr/bin/false and then echo $? and you'll see the correct unix command exit value. > > I do not think eshell builtins are intended to behave the same way. > > On Sun, Dec 8, 2024 at 11:31 AM the_wurfkreuz via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org> 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. >> >> 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 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#74739
; Package emacs
.
(Sun, 08 Dec 2024 20:49:02 GMT) Full text and rfc822 format available.Message #14 received at 74739 <at> debbugs.gnu.org (full text, mbox):
From: the_wurfkreuz <the_wurfkreuz <at> proton.me> To: Ship Mints <shipmints <at> gmail.com> Cc: 74739 <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, 08 Dec 2024 20:48:04 +0000
[Message part 1 (text/plain, inline)]
But yeah, i'm not an expert on unix, maybe other standard utilities also behave like this. On Sunday, December 8th, 2024 at 23:46, the_wurfkreuz <the_wurfkreuz <at> proton.me> wrote: > I understand that eshell built-ins might behave differently from Unix commands, but isn't it still inconsistent for eshell/which to use stderr (indicating an error) while returning exit code 0 (indicating success)? If this isn't an accidental oversight, i'd be interested to know why it was designed this way. > > On Sunday, December 8th, 2024 at 23:30, Ship Mints <shipmints <at> gmail.com> wrote: > >> I don't know why I'm choosing to answer eshell questions today... >> >> which is an eshell built-in command. You can see this by running >> >> $ which which >> eshell/which is a native-compiled Lisp function in 'esh-cmd.el'. >> >> Try running /usr/bin/false and then echo $? and you'll see the correct unix command exit value. >> >> I do not think eshell builtins are intended to behave the same way. >> >> On Sun, Dec 8, 2024 at 11:31 AM the_wurfkreuz via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org> 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. >>> >>> 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 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#74739
; Package emacs
.
(Sun, 08 Dec 2024 20:55:01 GMT) Full text and rfc822 format available.Message #17 received at 74739 <at> debbugs.gnu.org (full text, mbox):
From: Ship Mints <shipmints <at> gmail.com> To: the_wurfkreuz <the_wurfkreuz <at> proton.me> Cc: 74739 <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 15:52:20 -0500
[Message part 1 (text/plain, inline)]
Not a big eshell user myself and I can't speak to its history. Reading the code suggests that return values from functions like eshell/which weren't considered significant by the authors. Every "print" ultimately seems to return nil. Not sure if there's a way to detect if errors make it to the stderr channel eshell is coded to use. I suppose you could write your own eshell aliases in elisp to return better values. Seems like a lot of work, though. On Sun, Dec 8, 2024 at 3:48 PM the_wurfkreuz <the_wurfkreuz <at> proton.me> wrote: > But yeah, i'm not an expert on unix, maybe other standard utilities also > behave like this. > > On Sunday, December 8th, 2024 at 23:46, the_wurfkreuz < > the_wurfkreuz <at> proton.me> wrote: > > I understand that eshell built-ins might behave differently from Unix > commands, but isn't it still inconsistent for eshell/which to use stderr > (indicating an error) while returning exit code 0 (indicating success)? If > this isn't an accidental oversight, i'd be interested to know why it was > designed this way. > > On Sunday, December 8th, 2024 at 23:30, Ship Mints <shipmints <at> gmail.com> > wrote: > > I don't know why I'm choosing to answer eshell questions today... > > which is an eshell built-in command. You can see this by running > > $ which which > eshell/which is a native-compiled Lisp function in 'esh-cmd.el'. > > Try running /usr/bin/false and then echo $? and you'll see the correct > unix command exit value. > > I do not think eshell builtins are intended to behave the same way. > > On Sun, Dec 8, 2024 at 11:31 AM the_wurfkreuz via Bug reports for GNU > Emacs, the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org> 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. >> >> 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 2 (text/html, inline)]
Jim Porter <jporterbugs <at> gmail.com>
:the_wurfkreuz <the_wurfkreuz <at> proton.me>
:Message #22 received at 74739-done <at> debbugs.gnu.org (full text, mbox):
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 -0800
On 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.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 06 Jan 2025 12:24:09 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.