* bug#73722: 30.0.91; error calling eshell/clear with no argument @ 2024-10-09 17:33 Christopher Howard 2024-10-15 17:00 ` Jim Porter 0 siblings, 1 reply; 8+ messages in thread From: Christopher Howard @ 2024-10-09 17:33 UTC (permalink / raw) To: 73722 (same with or without emacs -Q) 1. M-x eshell 2. clear <return> Gives error "wrong-type-argument listp progn". I can run "clear 1" to include the scrollback parameter. I can also do (eshell/clear nil) and that does a non-destructive scrollback. Here is the backtrace from entering "clear" all by itself: ``` bt Debugger entered--Lisp error: (wrong-type-argument listp progn) cdr(progn) eshell-resume-eval((nil (let ((eshell-current-handles '[nil (... t) (... t)]) eshell-current-subjob-p) (progn 'nil progn)) nil)) eshell-eval-command((let ((eshell-current-handles '[nil ((... . 2) t) ((... . 2) t)]) eshell-current-subjob-p) (progn 'nil progn)) "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") eshell-send-input() eshell/clear() apply(eshell/clear nil) eshell-exec-lisp(eshell-print-maybe-n eshell-error-maybe-n eshell/clear nil nil) eshell-lisp-command(eshell/clear nil) eshell-plain-command("clear" nil) eshell-named-command("clear") (unwind-protect (eshell-named-command "clear") (mapc #'funcall eshell-this-command-hook)) (let ((eshell-this-command-hook '(ignore))) (unwind-protect (eshell-named-command "clear") (mapc #'funcall eshell-this-command-hook))) (condition-case err (let ((eshell-this-command-hook '(ignore))) (unwind-protect (eshell-named-command "clear") (mapc #'funcall eshell-this-command-hook))) ((debug error) (eshell-errorn (error-message-string err)) (eshell-close-handles 1))) (condition-case-unless-debug err (let ((eshell-this-command-hook '(ignore))) (unwind-protect (eshell-named-command "clear") (mapc #'funcall eshell-this-command-hook))) (error (eshell-errorn (error-message-string err)) (eshell-close-handles 1))) (if eshell-handle-errors (condition-case-unless-debug err (let ((eshell-this-command-hook '(ignore))) (unwind-protect (eshell-named-command "clear") (mapc #'funcall eshell-this-command-hook))) (error (eshell-errorn (error-message-string err)) (eshell-close-handles 1))) (let ((eshell-this-command-hook '(ignore))) (unwind-protect (eshell-named-command "clear") (mapc #'funcall eshell-this-command-hook)))) (eshell-condition-case err (let ((eshell-this-command-hook '(ignore))) (unwind-protect (eshell-named-command "clear") (mapc #'funcall eshell-this-command-hook))) (error (eshell-errorn (error-message-string err)) (eshell-close-handles 1))) (eshell-trap-errors (eshell-named-command "clear")) (let ((eshell-current-handles (eshell-duplicate-handles eshell-current-handles t))) (eshell-trap-errors (eshell-named-command "clear"))) (eshell-with-copied-handles (eshell-trap-errors (eshell-named-command "clear")) t) (progn (eshell-with-copied-handles (eshell-trap-errors (eshell-named-command "clear")) t)) (unwind-protect (progn (eshell-with-copied-handles (eshell-trap-errors (eshell-named-command "clear")) t)) (run-hooks 'eshell-post-command-hook)) (progn (run-hooks 'eshell-pre-command-hook) (unwind-protect (progn (eshell-with-copied-handles (eshell-trap-errors (eshell-named-command "clear")) t)) (run-hooks 'eshell-post-command-hook))) (let ((eshell-current-handles (eshell-create-handles t 'append)) eshell-current-subjob-p) (progn (run-hooks 'eshell-pre-command-hook) (unwind-protect (progn (eshell-with-copied-handles (eshell-trap-errors (eshell-named-command "clear")) t)) (run-hooks 'eshell-post-command-hook)))) (eshell-commands (progn (run-hooks 'eshell-pre-command-hook) (unwind-protect (progn (eshell-with-copied-handles (eshell-trap-errors (eshell-named-command "clear")) t)) (run-hooks 'eshell-post-command-hook)))) eval((eshell-commands (progn (run-hooks 'eshell-pre-command-hook) (unwind-protect (progn (eshell-with-copied-handles (eshell-trap-errors (eshell-named-command "clear")) t)) (run-hooks 'eshell-post-command-hook))))) eshell-send-input(nil) funcall-interactively(eshell-send-input nil) call-interactively(eshell-send-input nil nil) command-execute(eshell-send-input) ``` In GNU Emacs 30.0.91 (build 12, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-10-09 built on theoden Repository revision: f520008744b1eb71accded4108888d1f2055402e Repository branch: emacs-30 Windowing system distributor 'The X.Org Foundation', version 11.0.12101012 System Description: Guix System Configured using: 'configure --prefix=/home/christopher/local/emacs 'CFLAGS=-O0 -g3' PKG_CONFIG_PATH=/gnu/store/f335yc4x4ps0qalm4hafy0dggsfczfkj-profile/lib/pkgconfig:/gnu/store/f335yc4x4ps0qalm4hafy0dggsfczfkj-profile/share/pkgconfig:/home/christopher/.guix-home/profile/lib/pkgconfig:/home/christopher/.guix-home/profile/share/pkgconfig:/home/christopher/.guix-profile/lib/pkgconfig:/home/christopher/.guix-profile/share/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $EMACSLOADPATH: /home/christopher/local/emacs/share/emacs/30.0.91/lisp:/home/christopher/.guix-home/profile/share/emacs/site-lisp value of $EMACSNATIVELOADPATH: /home/christopher/.guix-home/profile/lib/emacs/native-site-lisp:/home/christopher/.guix-profile/lib/emacs/native-site-lisp value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: Info Minor modes in effect: pdf-occur-global-minor-mode: t global-completion-preview-mode: t rcirc-track-minor-mode: t roam-track-minor-mode: t org-roam-db-autosync-mode: t global-centered-cursor-mode: t centered-cursor-mode: t server-mode: t helm-mode: t helm-minibuffer-history-mode: t async-bytecomp-package-mode: t straight-use-package-mode: t straight-package-neutering-mode: t minibuffer-depth-indicate-mode: t global-display-line-numbers-mode: t display-line-numbers-mode: t cl-old-struct-compat-mode: 1 tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t isearch-fold-quotes-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-regexp-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/christopher/local/emacs/share/emacs/30.0.91/lisp/net/soap-client hides /gnu/store/8pr1yy7pcai1g1r52c2xcha58nmbi32a-emacs-soap-client-3.2.3/share/emacs/site-lisp/soap-client-3.2.3/soap-client /home/christopher/local/emacs/share/emacs/30.0.91/lisp/net/soap-inspect hides /gnu/store/8pr1yy7pcai1g1r52c2xcha58nmbi32a-emacs-soap-client-3.2.3/share/emacs/site-lisp/soap-client-3.2.3/soap-inspect /home/christopher/local/emacs/share/emacs/30.0.91/lisp/emacs-lisp/compat hides /gnu/store/5fz4hfsqgh2rgdz2gxpxsnf6ak2nbsnx-emacs-compat-30.0.0.0/share/emacs/site-lisp/compat-30.0.0.0/compat /home/christopher/local/emacs/share/emacs/30.0.91/lisp/progmodes/eglot hides /gnu/store/dc8j46wg6msy43sm8473i2ghb0kkqzrm-emacs-eglot-1.17/share/emacs/site-lisp/eglot-1.17/eglot /home/christopher/local/emacs/share/emacs/30.0.91/lisp/emacs-lisp/eldoc hides /gnu/store/yzh97y7djcn0zylrdqzcq0k3kziwkh3c-emacs-eldoc-1.15.0/share/emacs/site-lisp/eldoc-1.15.0/eldoc /home/christopher/local/emacs/share/emacs/30.0.91/lisp/external-completion hides /gnu/store/w2s88x6rgc8cripdd662pxfh0wdfks2x-emacs-external-completion-0.1/share/emacs/site-lisp/external-completion-0.1/external-completion /home/christopher/local/emacs/share/emacs/30.0.91/lisp/jsonrpc hides /gnu/store/68sh2hccihmj9skgmb3gcc8nr3jhnn9k-emacs-jsonrpc-1.0.25/share/emacs/site-lisp/jsonrpc-1.0.25/jsonrpc /home/christopher/local/emacs/share/emacs/30.0.91/lisp/progmodes/project hides /gnu/store/rhmkc30ad8j5dhl9yws1s2byyqs84yq0-emacs-project-0.11.1/share/emacs/site-lisp/project-0.11.1/project /home/christopher/local/emacs/share/emacs/30.0.91/lisp/progmodes/xref hides /gnu/store/612wcw3lg8gxwsigqkm8b72hj3pnwr8x-emacs-xref-1.7.0/share/emacs/site-lisp/xref-1.7.0/xref /home/christopher/local/emacs/share/emacs/30.0.91/lisp/emacs-lisp/seq hides /gnu/store/prl5nb68h3dj1wx4jivdls5d8f8p9jjc-emacs-seq-2.24/share/emacs/site-lisp/seq-2.24/seq /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-element-ast hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-element-ast /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-lisp hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-lisp /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-awk hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-awk /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-mhe hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-mhe /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-haskell hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-haskell /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-pcomplete hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-pcomplete /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-makefile hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-makefile /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-processing hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-processing /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-sql hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-sql /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-id hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-id /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-refile hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-refile /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-lilypond hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-lilypond /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-html hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-html /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/oc hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/oc /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-octave hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-octave /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-texinfo hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-texinfo /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-entities hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-entities /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-C hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-C /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-w3m hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-w3m /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-archive hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-archive /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-doi hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-doi /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-eww hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-eww /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-man hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-man /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-mobile hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-mobile /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-gnus hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-gnus /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-bbdb hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-bbdb /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-koma-letter hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-koma-letter /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-maxima hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-maxima /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-css hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-css /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-element hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-element /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-datetree hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-datetree /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-tempo hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-tempo /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-keys hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-keys /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-js hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-js /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-emacs-lisp hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-emacs-lisp /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-lint hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-lint /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-habit hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-habit /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-crypt hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-crypt /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-attach hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-attach /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-plantuml hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-plantuml /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-agenda hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-agenda /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-indent hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-indent /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-timer hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-timer /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-beamer hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-beamer /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-macs hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-macs /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-exp hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-exp /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-persist hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-persist /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-eshell hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-eshell /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-icalendar hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-icalendar /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-scheme hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-scheme /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/oc-bibtex hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/oc-bibtex /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-screen hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-screen /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-matlab hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-matlab /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-num hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-num /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-list hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-list /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/oc-csl hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/oc-csl /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-clojure hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-clojure /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-sass hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-sass /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-ditaa hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-ditaa /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-faces hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-faces /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-sqlite hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-sqlite /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-table hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-table /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-latex hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-latex /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-ascii hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-ascii /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-perl hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-perl /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-mouse hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-mouse /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-macro hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-macro /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-goto hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-goto /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-duration hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-duration /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-org hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-org /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-python hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-python /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-inlinetask hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-inlinetask /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-fold-core hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-fold-core /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-eshell hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-eshell /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-cycle hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-cycle /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-capture hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-capture /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-forth hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-forth /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-feed hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-feed /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-lob hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-lob /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-rmail hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-rmail /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-clock hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-clock /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-bibtex hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-bibtex /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-julia hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-julia /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-sed hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-sed /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-table hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-table /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-ref hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-ref /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-compat hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-compat /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-lua hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-lua /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-comint hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-comint /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-colview hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-colview /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-eval hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-eval /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-odt hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-odt /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-fortran hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-fortran /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-shell hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-shell /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-version hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-version /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-docview hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-docview /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/oc-basic hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/oc-basic /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-calc hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-calc /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/oc-biblatex hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/oc-biblatex /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-R hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-R /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-publish hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-publish /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-dot hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-dot /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-tangle hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-tangle /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-ocaml hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-ocaml /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-attach-git hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-attach-git /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ox-md hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ox-md /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-loaddefs hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-loaddefs /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-groovy hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-groovy /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-ctags hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-ctags /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-ruby hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-ruby /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-fold hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-fold /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-protocol hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-protocol /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/oc-natbib hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/oc-natbib /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-org hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-org /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-man hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-man /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-info hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-info /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-footnote hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-footnote /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-plot hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-plot /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ol-irc hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ol-irc /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-core hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-core /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-java hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-java /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-latex hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-latex /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/ob-gnuplot hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/ob-gnuplot /home/christopher/local/emacs/share/emacs/30.0.91/lisp/org/org-src hides /gnu/store/f304gcja6dc9b48p3gsbbpnxsgg07pc4-emacs-org-9.7.11/share/emacs/site-lisp/org-9.7.11/org-src /home/christopher/local/emacs/share/emacs/30.0.91/lisp/transient hides /gnu/store/0v0vh9km8vmylcb9crf52l8rw933c1m6-emacs-transient-0.7.5/share/emacs/site-lisp/transient-0.7.5/transient /home/christopher/local/emacs/share/emacs/30.0.91/lisp/progmodes/peg hides /gnu/store/ak6hlqd0zb5ij1zqrfvqy2p06iigqixq-emacs-peg-1.0.1/share/emacs/site-lisp/peg-1.0.1/peg /home/christopher/.emacs.d/straight/build/straight/straight hides /gnu/store/5mynqak4gavxcjpkjdk96a75pqxd2ki3-emacs-straight-el-0-3.b3760f5/share/emacs/site-lisp/straight-el-0-3.b3760f5/straight /home/christopher/local/emacs/share/emacs/30.0.91/lisp/indent hides /gnu/store/5mynqak4gavxcjpkjdk96a75pqxd2ki3-emacs-straight-el-0-3.b3760f5/share/emacs/site-lisp/straight-el-0-3.b3760f5/indent /home/christopher/.emacs.d/straight/build/straight/straight-x hides /gnu/store/5mynqak4gavxcjpkjdk96a75pqxd2ki3-emacs-straight-el-0-3.b3760f5/share/emacs/site-lisp/straight-el-0-3.b3760f5/straight-x /home/christopher/.emacs.d/straight/build/straight/straight-ert-print-hack hides /gnu/store/5mynqak4gavxcjpkjdk96a75pqxd2ki3-emacs-straight-el-0-3.b3760f5/share/emacs/site-lisp/straight-el-0-3.b3760f5/straight-ert-print-hack /home/christopher/local/emacs/share/emacs/30.0.91/lisp/net/sasl hides /gnu/store/aq7g7fgljahgnibnsnj1z9ibpnnd2brz-emacs-flim-lb-1.14.9-143.23bb29d/share/emacs/site-lisp/flim-lb-1.14.9-143.23bb29d/sasl /gnu/store/5mynqak4gavxcjpkjdk96a75pqxd2ki3-emacs-straight-el-0-3.b3760f5/share/emacs/site-lisp/straight-el-0-3.b3760f5/install hides /gnu/store/nh3vfsdyc82vp2l46v7nkad0zr1f7l33-emacs-apel-lb-10.8-81.82eb232/share/emacs/site-lisp/apel-lb-10.8-81.82eb232/install Features: (shadow sort bbdb-message face-remap mail-extr emacsbug misearch multi-isearch tramp-cache time-stamp tramp-sh shortdoc comp-common project ffap pcmpl-unix vc-git diff-mode track-changes vc-dispatcher dabbrev tabify cus-start help-fns cl-print em-unix em-term term disp-table ehelp em-script em-prompt em-pred em-ls em-hist em-glob em-extpipe em-cmpl em-dirs em-basic em-banner em-alias esh-mode esh-var eshell esh-cmd mule-util winner tramp-archive tramp-gvfs helm-command helm-elisp helm-eval helm-info pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc imenu pdf-tools compile cus-edit pdf-view jka-compr pdf-cache pdf-info tq pdf-util pdf-macs engine-mode discomfort debase-objectmanager debase dbus eieio-base completion-preview rcirc bbdb bbdb-site timezone text-decoration s names edebug debug backtrace org-roam-protocol org-protocol org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id org-roam-node org-roam-db emacsql-sqlite-builtin sqlite org-roam-utils org-roam-compat org-roam org-capture org-element org-persist org-attach org-id org-refile org-element-ast inline org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie treesit executable ob-comint org-pcomplete org-list org-footnote org-faces org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-compat org-macs emacsql-sqlite emacsql-sqlite-common emacsql emacsql-compiler magit-section cursor-sensor compat dash centered-cursor-mode centered-cursor-mode-autoloads hyperclim printing ps-print ps-print-loaddefs lpr esh-ext esh-proc esh-opt esh-io esh-arg esh-module esh-module-loaddefs esh-util elfeed-show elfeed-search wid-edit bookmark pp message sendmail yank-media 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 shr text-property-search pixel-fill kinsoku puny svg dom elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib avl-tree generator url-queue url-file xml-query xml dired-x ascii-table-autoloads server helm-mode helm-misc helm-files image-dired image-dired-tags image-dired-external image-dired-util image-mode dired dired-loaddefs exif filenotify helm-buffers all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons helm-occur helm-tags helm-locate helm-grep helm-regexp helm-utils helm-help helm-types helm helm-global-bindings helm-easymenu edmacro kmacro helm-core async-bytecomp helm-source helm-multi-match helm-lib async straight-autoloads cl-extra straight info loaddefs-gen lisp-mnt radix-tree easy-mmode pcase green-phosphor-theme mb-depth display-line-numbers crux tramp trampver tramp-integration files-x tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc ring parse-time iso8601 time-date format-spec ansi-color tramp-loaddefs thingatpt cus-load mu4e-autoloads yeetube-autoloads xmlgen-autoloads xterm-color-autoloads wttrin-autoloads oauth2-autoloads apel-lb-autoloads flim-lb-autoloads semi-epg-autoloads unfill-autoloads tmr-autoloads rainbow-identifiers-autoloads company-autoloads visual-fill-column-autoloads telega-autoloads straight-el-autoloads srfi-autoloads helm-slime-autoloads macrostep-autoloads slime-autoloads restart-emacs-autoloads puni-autoloads poke-mode-autoloads placeholder-autoloads pdfgrep-autoloads tablist-autoloads pdf-tools-autoloads password-generator-autoloads paredit-autoloads sqlite3-api-autoloads pg-autoloads finalize-autoloads emacsql-autoloads org-roam-autoloads peg-autoloads ov-autoloads ht-autoloads org-super-agenda-autoloads org-ql-autoloads org-present-autoloads org-noter-autoloads org-modern-autoloads hydra-autoloads org-fc-autoloads ox-gemini-autoloads osm-autoloads org-contacts-autoloads orderless-autoloads nssh-autoloads kv-autoloads nov-el-autoloads names-autoloads advice memory-usage-autoloads math-preview-autoloads persist-autoloads ts-autoloads deferred-autoloads request-autoloads mastodon-autoloads markdown-mode-autoloads transient-autoloads magit-autoloads m-buffer-el-autoloads helm-org-contacts-autoloads magit-popup-autoloads edit-indirect-autoloads bui-autoloads guix-autoloads rx gemini-autoloads geiser-guile-autoloads geiser-autoloads srv-autoloads hexrgb-autoloads fsm-autoloads jabber-autoloads inspector-autoloads htmlize-autoloads shut-up-autoloads loop-autoloads list-utils-autoloads elisp-refs-autoloads helpful-autoloads helm-wordnut-autoloads password-store-autoloads helm-pass-autoloads helm-org-rifle-autoloads popup-autoloads async-autoloads helm-autoloads f3-autoloads expand-region-autoloads everywhere-autoloads eshell-z-autoloads engine-mode-autoloads elpher-autoloads elfeed-autoloads eldev-autoloads seq-autoloads xref-autoloads project-autoloads jsonrpc-autoloads external-completion-autoloads eldoc-autoloads eglot-autoloads ed-mode-autoloads compat-autoloads eat-autoloads debase-autoloads discomfort-autoloads soap-client-autoloads debbugs-autoloads daemons-autoloads crux-autoloads casual-info-autoloads casual-dired-autoloads casual-lib-autoloads casual-calc-autoloads browse-kill-ring-autoloads eimp-autoloads blimp-autoloads bbdb-autoloads memoize-autoloads dash-autoloads s-autoloads f-autoloads all-the-icons-autoloads 0x0-autoloads guix-emacs annotate-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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process emacs) Memory information: ((conses 16 446535 114646) (symbols 48 36736 0) (strings 32 129084 7285) (string-bytes 1 3566601) (vectors 16 68312) (vector-slots 8 1343061 207025) (floats 8 907 818) (intervals 56 5928 1316) (buffers 984 38)) -- 📛 Christopher Howard 🚀 gemini://gem.librehacker.com 🌐 http://gem.librehacker.com בראשית ברא אלהים את השמים ואת הארץ ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73722: 30.0.91; error calling eshell/clear with no argument 2024-10-09 17:33 bug#73722: 30.0.91; error calling eshell/clear with no argument Christopher Howard @ 2024-10-15 17:00 ` Jim Porter 2024-10-15 18:04 ` Eli Zaretskii 0 siblings, 1 reply; 8+ messages in thread From: Jim Porter @ 2024-10-15 17:00 UTC (permalink / raw) To: Christopher Howard, 73722 [-- Attachment #1: Type: text/plain, Size: 1360 bytes --] On 10/9/2024 10:33 AM, Christopher Howard wrote: > > (same with or without emacs -Q) > 1. M-x eshell > 2. clear <return> > > Gives error "wrong-type-argument listp progn". I think this is probably the result of some improvements I've made to Eshell's command evaluator that revealed a latent bug in 'eshell/clear' (it actually runs a *second* Eshell command consisting only of newlines, which shouldn't be necessary). The actual error reported here is fixed in Emacs 31; in Emacs 30, 'eshell-do-eval' mis-evaluates an empty '(progn)', but that generally shouldn't occur except in odd cases like this. The "clear" command still doesn't *work* correctly in Emacs 31 though. Attached is the smallest fix I could come up with for this. This is made somewhat more complex due to 'eshell/clear' also being used as an interactive Emacs-level command. The two forms ("clear" at an Eshell prompt and "M-x eshell/clear" in Emacs) should probably be separate functions entirely since they behave differently regarding the current prompt, but for the sake of compatibility, let's keep them fused together for now... Eli, does this look ok for the release branch? It fixes a regression from Emacs 29 and adds a pair of regression tests to prevent future breakage. (If and when this merges, I'll see about a more-thorough fix for the master branch too.) [-- Attachment #2: 0001-Fix-error-when-calling-clear-in-Eshell.patch --] [-- Type: text/plain, Size: 2853 bytes --] From 4c868dbad546b604076ab7c33839b4d3b5919f32 Mon Sep 17 00:00:00 2001 From: Jim Porter <jporterbugs@gmail.com> Date: Thu, 10 Oct 2024 21:03:45 -0700 Subject: [PATCH] Fix error when calling "clear" in Eshell. * lisp/eshell/esh-mode.el (eshell/clear): Fix error, and improve handling for using as an interactive Emacs command. * test/lisp/eshell/esh-mode-tests.el (esh-mode-test/clear/eshell-command, esh-mode-test/clear/emacs-command): New tests. --- lisp/eshell/esh-mode.el | 7 +++++-- test/lisp/eshell/esh-mode-tests.el | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el index 34ce82cfbc4..78e43e84173 100644 --- a/lisp/eshell/esh-mode.el +++ b/lisp/eshell/esh-mode.el @@ -869,8 +869,11 @@ eshell/clear (if scrollback (eshell/clear-scrollback) (let ((eshell-input-filter-functions nil)) - (insert (make-string (window-size) ?\n)) - (eshell-send-input)))) + (eshell-interactive-print (make-string (window-size) ?\n)) + (when (and (null eshell-current-handles) + (eshell-using-module 'eshell-prompt)) + (declare-function eshell-emit-prompt "em-prompt" ()) + (eshell-emit-prompt))))) (defun eshell/clear-scrollback () "Clear the scrollback content of the eshell window." diff --git a/test/lisp/eshell/esh-mode-tests.el b/test/lisp/eshell/esh-mode-tests.el index 306e11ce445..896931c47f6 100644 --- a/test/lisp/eshell/esh-mode-tests.el +++ b/test/lisp/eshell/esh-mode-tests.el @@ -26,6 +26,8 @@ (require 'ert) (require 'esh-mode) (require 'eshell) +(require 'em-banner) +(require 'em-prompt) (require 'eshell-tests-helpers (expand-file-name "eshell-tests-helpers" @@ -59,4 +61,25 @@ esh-mode-test/handle-control-codes/backspace (eshell-match-command-output (format "(format \"hello%c%cp\")" ?\C-h ?\C-h) "\\`help\n"))) +(ert-deftest esh-mode-test/clear/eshell-command () + "Test that `eshell/clear' works as an Eshell command." + (let ((eshell-banner-message "") + (eshell-prompt-function (lambda () "$ "))) + (with-temp-eshell + (eshell-insert-command "echo hi") + (eshell-insert-command "clear") + (should (string-match "\\$ echo hi\nhi\n\\$ clear\n+\\$ " + (buffer-string)))))) + +(ert-deftest esh-mode-test/clear/emacs-command () + "Test that `eshell/clear' works as an interactive Emacs command." + (let ((eshell-banner-message "") + (eshell-prompt-function (lambda () "$ "))) + (with-temp-eshell + (eshell-insert-command "echo hi") + (insert "echo b") + (eshell/clear) + (should (string-match "\\$ echo hi\nhi\n\\$ \n+\\$ echo b" + (buffer-string)))))) + ;; esh-mode-tests.el ends here -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#73722: 30.0.91; error calling eshell/clear with no argument 2024-10-15 17:00 ` Jim Porter @ 2024-10-15 18:04 ` Eli Zaretskii 2024-10-15 21:31 ` Jim Porter 0 siblings, 1 reply; 8+ messages in thread From: Eli Zaretskii @ 2024-10-15 18:04 UTC (permalink / raw) To: Jim Porter; +Cc: christopher, 73722 > Date: Tue, 15 Oct 2024 10:00:40 -0700 > From: Jim Porter <jporterbugs@gmail.com> > > On 10/9/2024 10:33 AM, Christopher Howard wrote: > > > > (same with or without emacs -Q) > > 1. M-x eshell > > 2. clear <return> > > > > Gives error "wrong-type-argument listp progn". > > I think this is probably the result of some improvements I've made to > Eshell's command evaluator that revealed a latent bug in 'eshell/clear' > (it actually runs a *second* Eshell command consisting only of newlines, > which shouldn't be necessary). > > The actual error reported here is fixed in Emacs 31; in Emacs 30, > 'eshell-do-eval' mis-evaluates an empty '(progn)', but that generally > shouldn't occur except in odd cases like this. The "clear" command still > doesn't *work* correctly in Emacs 31 though. > > Attached is the smallest fix I could come up with for this. This is made > somewhat more complex due to 'eshell/clear' also being used as an > interactive Emacs-level command. The two forms ("clear" at an Eshell > prompt and "M-x eshell/clear" in Emacs) should probably be separate > functions entirely since they behave differently regarding the current > prompt, but for the sake of compatibility, let's keep them fused > together for now... > > Eli, does this look ok for the release branch? It fixes a regression > from Emacs 29 and adds a pair of regression tests to prevent future > breakage. (If and when this merges, I'll see about a more-thorough fix > for the master branch too.) If the problem is with empty body of progn, why does the fix have to be so much less self-evident? Can you fix it by protecting against empty body of progn instead, so that the fix is less likely to cause unintended consequences? In any case, please don't forget "Do not merge to master" in the commit log message. Thanks. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73722: 30.0.91; error calling eshell/clear with no argument 2024-10-15 18:04 ` Eli Zaretskii @ 2024-10-15 21:31 ` Jim Porter 2024-10-16 5:17 ` Eli Zaretskii 0 siblings, 1 reply; 8+ messages in thread From: Jim Porter @ 2024-10-15 21:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: christopher, 73722 On 10/15/2024 11:04 AM, Eli Zaretskii wrote: >> Eli, does this look ok for the release branch? It fixes a regression >> from Emacs 29 and adds a pair of regression tests to prevent future >> breakage. (If and when this merges, I'll see about a more-thorough fix >> for the master branch too.) > > If the problem is with empty body of progn, why does the fix have to > be so much less self-evident? Can you fix it by protecting against > empty body of progn instead, so that the fix is less likely to cause > unintended consequences? That's just the loudest part of the bug. Even though I've already fixed that part on Emacs 31, things still don't work correctly there. If you run the "clear" command in Eshell it clears the screen, but then prints two new prompts on the same line together. However, this behavior is pretty close to what "clear" did in Emacs 29: it prints two prompts (but there's a newline between them). If I fix the empty 'progn' case, I guess that would fix the regression (aside from the missing newline, which I'm not sure how to fix). However, "clear" still wouldn't work correctly. What do you think would be better for Emacs 30? Fix "clear" so it works properly, or just fix the new regression? (In the latter case, I can fix it with a one-liner.) ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73722: 30.0.91; error calling eshell/clear with no argument 2024-10-15 21:31 ` Jim Porter @ 2024-10-16 5:17 ` Eli Zaretskii 2024-10-16 18:04 ` Jim Porter 0 siblings, 1 reply; 8+ messages in thread From: Eli Zaretskii @ 2024-10-16 5:17 UTC (permalink / raw) To: Jim Porter; +Cc: christopher, 73722 > Date: Tue, 15 Oct 2024 14:31:21 -0700 > Cc: christopher@librehacker.com, 73722@debbugs.gnu.org > From: Jim Porter <jporterbugs@gmail.com> > > On 10/15/2024 11:04 AM, Eli Zaretskii wrote: > >> Eli, does this look ok for the release branch? It fixes a regression > >> from Emacs 29 and adds a pair of regression tests to prevent future > >> breakage. (If and when this merges, I'll see about a more-thorough fix > >> for the master branch too.) > > > > If the problem is with empty body of progn, why does the fix have to > > be so much less self-evident? Can you fix it by protecting against > > empty body of progn instead, so that the fix is less likely to cause > > unintended consequences? > > That's just the loudest part of the bug. Even though I've already fixed > that part on Emacs 31, things still don't work correctly there. If you > run the "clear" command in Eshell it clears the screen, but then prints > two new prompts on the same line together. However, this behavior is > pretty close to what "clear" did in Emacs 29: it prints two prompts (but > there's a newline between them). > > If I fix the empty 'progn' case, I guess that would fix the regression > (aside from the missing newline, which I'm not sure how to fix). > However, "clear" still wouldn't work correctly. > > What do you think would be better for Emacs 30? Fix "clear" so it works > properly, or just fix the new regression? (In the latter case, I can fix > it with a one-liner.) At this late stage, I prefer the latter, yes. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73722: 30.0.91; error calling eshell/clear with no argument 2024-10-16 5:17 ` Eli Zaretskii @ 2024-10-16 18:04 ` Jim Porter 2024-10-17 4:47 ` Jim Porter 0 siblings, 1 reply; 8+ messages in thread From: Jim Porter @ 2024-10-16 18:04 UTC (permalink / raw) To: Eli Zaretskii; +Cc: christopher, 73722 On 10/15/2024 10:17 PM, Eli Zaretskii wrote: >> Date: Tue, 15 Oct 2024 14:31:21 -0700 >> Cc: christopher@librehacker.com, 73722@debbugs.gnu.org >> From: Jim Porter <jporterbugs@gmail.com> >> >> What do you think would be better for Emacs 30? Fix "clear" so it works >> properly, or just fix the new regression? (In the latter case, I can fix >> it with a one-liner.) > > At this late stage, I prefer the latter, yes. Ok, pushed the one-liner fix to the release branch as d3c94102266. I'll leave this open to work on a better fix for the master branch. ^ permalink raw reply [flat|nested] 8+ messages in thread
* bug#73722: 30.0.91; error calling eshell/clear with no argument 2024-10-16 18:04 ` Jim Porter @ 2024-10-17 4:47 ` Jim Porter 2024-11-01 5:40 ` Jim Porter 0 siblings, 1 reply; 8+ messages in thread From: Jim Porter @ 2024-10-17 4:47 UTC (permalink / raw) To: Eli Zaretskii; +Cc: christopher, 73722 [-- Attachment #1: Type: text/plain, Size: 547 bytes --] On 10/16/2024 11:04 AM, Jim Porter wrote: > Ok, pushed the one-liner fix to the release branch as d3c94102266. I'll > leave this open to work on a better fix for the master branch. And here's a patch for the master branch. I split out 'eshell/clear' into two versions: one for interactive (from M-x) use, and one for use as "clear" at the Eshell prompt. For compatibility, you can still call 'eshell/clear' interactively from M-x, but 99% of the time the 'eshell/FOO' commands aren't meant to be used that way; hence the new 'eshell-clear'. [-- Attachment #2: 0001-Fix-and-improve-behavior-of-eshell-clear.patch --] [-- Type: text/plain, Size: 6909 bytes --] From 2e13a01708c4681a51e0bbd16a94d2f052ce53f4 Mon Sep 17 00:00:00 2001 From: Jim Porter <jporterbugs@gmail.com> Date: Thu, 10 Oct 2024 21:03:45 -0700 Subject: [PATCH] Fix and improve behavior of 'eshell/clear' * lisp/eshell/esh-mode.el (eshell-clear): New function. (eshell/clear): Fix incorrect behavior, and do the right thing when 'eshell-scroll-show-maximum-output' is nil. (eshell/clear-scrollback): Call 'eshell/clear'. * test/lisp/eshell/esh-mode-tests.el (esh-mode-test/clear/eshell-command) (esh-mode-test/clear/eshell-command/erase) (esh-mode-test/clear/emacs-command) (esh-mode-test/clear/emacs-command/erase): New tests. * etc/NEWS: Mention the new 'eshell-command' (bug#73722). --- etc/NEWS | 8 ++++ lisp/eshell/esh-mode.el | 61 +++++++++++++++++++++++++----- test/lisp/eshell/esh-mode-tests.el | 42 ++++++++++++++++++++ 3 files changed, 101 insertions(+), 10 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 4346fb4aedd..b8aff8cc76f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -236,6 +236,14 @@ It removes all the buttons in the specified region. ** Eshell +--- +*** New interactive command 'eshell-clear'. +This command scrolls the screen so that only the current prompt is +visible, optionally erasing all the previous input/output as well. +Previously, the Eshell built-in command 'eshell/clear' supported this +(e.g. to call it via 'M-x'), but this new command behaves more +consistently if you have a partially-typed command at the Eshell prompt. + --- *** New user option 'eshell-command-async-buffer'. This option lets you tell 'eshell-command' how to respond if its output diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el index 34ce82cfbc4..c5bcd28ef51 100644 --- a/lisp/eshell/esh-mode.el +++ b/lisp/eshell/esh-mode.el @@ -862,20 +862,61 @@ eshell-show-maximum-output (goto-char (point-max)) (recenter -1)) -(defun eshell/clear (&optional scrollback) - "Scroll contents of eshell window out of sight, leaving a blank window. -If SCROLLBACK is non-nil, clear the scrollback contents." +(defun eshell-clear (&optional clear-scrollback) + "Scroll contents of the Eshell window out of sight, leaving a blank window. +If CLEAR-SCROLLBACK is non-nil (interactively, with the prefix +argument), clear the scrollback contents. + +Otherwise, the behavior depends on `eshell-scroll-show-maximum-output'. +If non-nil, fill newlines before the current prompt so that the prompt +is the last line in the window; if nil, just scroll the window so that +the prompt is the first line in the window." + (interactive "P") + (cond + (clear-scrollback + (let ((inhibit-read-only t)) + (widen) + (delete-region (point-min) (eshell-end-of-output)))) + (eshell-scroll-show-maximum-output + (save-excursion + (goto-char (eshell-end-of-output)) + (let ((inhibit-read-only t)) + (insert-and-inherit (make-string (window-size) ?\n)))) + (when (< (point) eshell-last-output-end) + (goto-char eshell-last-output-end))) + (t + (when (< (point) eshell-last-output-end) + (goto-char eshell-last-output-end)) + (set-window-start nil (eshell-end-of-output))))) + +(defun eshell/clear (&optional clear-scrollback) + "Scroll contents of the Eshell window out of sight, leaving a blank window. +If CLEAR-SCROLLBACK is non-nil, clear the scrollback contents. + +Otherwise, the behavior depends on `eshell-scroll-show-maximum-output'. +If non-nil, fill newlines before the current prompt so that the prompt +is the last line in the window; if nil, just scroll the window so that +the prompt is the first line in the window. + +This command is for use as an Eshell command (entered at the prompt); +for clearing the Eshell buffer from elsewhere (e.g. via +\\[execute-extended-command]), use `eshell-clear'." (interactive) - (if scrollback - (eshell/clear-scrollback) + (cond + ((null eshell-current-handles) + (eshell-clear clear-scrollback)) + (clear-scrollback + (let ((inhibit-read-only t)) + (erase-buffer))) + (eshell-scroll-show-maximum-output (let ((eshell-input-filter-functions nil)) - (insert (make-string (window-size) ?\n)) - (eshell-send-input)))) + (ignore (eshell-interactive-print (make-string (window-size) ?\n))))) + (t + (recenter 0)))) (defun eshell/clear-scrollback () - "Clear the scrollback content of the eshell window." - (let ((inhibit-read-only t)) - (erase-buffer))) + "Clear the scrollback content of the Eshell window." + (eshell/clear t)) (defun eshell-get-old-input (&optional use-current-region) "Return the command input on the current line. diff --git a/test/lisp/eshell/esh-mode-tests.el b/test/lisp/eshell/esh-mode-tests.el index 306e11ce445..28839eb65cf 100644 --- a/test/lisp/eshell/esh-mode-tests.el +++ b/test/lisp/eshell/esh-mode-tests.el @@ -26,6 +26,8 @@ (require 'ert) (require 'esh-mode) (require 'eshell) +(require 'em-banner) +(require 'em-prompt) (require 'eshell-tests-helpers (expand-file-name "eshell-tests-helpers" @@ -59,4 +61,44 @@ esh-mode-test/handle-control-codes/backspace (eshell-match-command-output (format "(format \"hello%c%cp\")" ?\C-h ?\C-h) "\\`help\n"))) +(ert-deftest esh-mode-test/clear/eshell-command () + "Test that `eshell/clear' works as an Eshell command." + (let ((eshell-banner-message "") + (eshell-prompt-function (lambda () "$ "))) + (with-temp-eshell + (eshell-insert-command "echo hi") + (eshell-insert-command "clear") + (should (string-match "\\`\\$ echo hi\nhi\n\\$ clear\n+\\$ " + (buffer-string)))))) + +(ert-deftest esh-mode-test/clear/eshell-command/erase () + "Test that `eshell/clear' can erase the buffer." + (let ((eshell-banner-message "") + (eshell-prompt-function (lambda () "$ "))) + (with-temp-eshell + (eshell-insert-command "echo hi") + (eshell-insert-command "clear t") + (should (string-match "\\`\\$ " (buffer-string)))))) + +(ert-deftest esh-mode-test/clear/emacs-command () + "Test that `eshell-clear' works as an interactive Emacs command." + (let ((eshell-banner-message "") + (eshell-prompt-function (lambda () "$ "))) + (with-temp-eshell + (eshell-insert-command "echo hi") + (insert "echo b") + (eshell-clear) + (should (string-match "\\`\\$ echo hi\nhi\n\n+\\$ echo b" + (buffer-string)))))) + +(ert-deftest esh-mode-test/clear/emacs-command/erase () + "Test that `eshell-clear' can erase the buffer." + (let ((eshell-banner-message "") + (eshell-prompt-function (lambda () "$ "))) + (with-temp-eshell + (eshell-insert-command "echo hi") + (insert "echo b") + (eshell-clear t) + (should (string-match "\\`\\$ echo b" (buffer-string)))))) + ;; esh-mode-tests.el ends here -- 2.25.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#73722: 30.0.91; error calling eshell/clear with no argument 2024-10-17 4:47 ` Jim Porter @ 2024-11-01 5:40 ` Jim Porter 0 siblings, 0 replies; 8+ messages in thread From: Jim Porter @ 2024-11-01 5:40 UTC (permalink / raw) To: Eli Zaretskii; +Cc: christopher, 73722-done On 10/16/2024 9:47 PM, Jim Porter wrote: > And here's a patch for the master branch. I split out 'eshell/clear' > into two versions: one for interactive (from M-x) use, and one for use > as "clear" at the Eshell prompt. For compatibility, you can still call > 'eshell/clear' interactively from M-x, but 99% of the time the > 'eshell/FOO' commands aren't meant to be used that way; hence the new > 'eshell-clear'. Now merged to the master branch as 98e24e369a3, so closing this bug. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-11-01 5:40 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-09 17:33 bug#73722: 30.0.91; error calling eshell/clear with no argument Christopher Howard 2024-10-15 17:00 ` Jim Porter 2024-10-15 18:04 ` Eli Zaretskii 2024-10-15 21:31 ` Jim Porter 2024-10-16 5:17 ` Eli Zaretskii 2024-10-16 18:04 ` Jim Porter 2024-10-17 4:47 ` Jim Porter 2024-11-01 5:40 ` Jim Porter
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.