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 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)) > >