aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/eshell/esh-mode.el (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2026 to copyright years.Sean Whitton2026-01-011-1/+1
|
* ; Add missing defcustom types in eshell and eww (bug#79607)Jacob S. Gordon2025-11-071-2/+8
| | | | | | * lisp/eshell/esh-mode.el (eshell-scroll-to-bottom-on-input) (eshell-scroll-to-bottom-on-output): Add t as a choice. * lisp/net/eww.el (eww-restore-desktop): Add 'auto' as a choice.
* Update copyright year to 2025Paul Eggert2025-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Merge from origin/emacs-30Eli Zaretskii2024-12-281-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ba6387d1d6 ; Fix inaccuracy in ELisp Reference manual 8ac6a178804 ; * etc/PROBLEMS: Mention problems with XPM support in GD... 624322d5f6a Add missing fontification matches for elixir-ts-mode 5bafb11b400 ; Fix copyright year 186ea407326 Don't start docstrings with "This function" or similar cb8ce2e68bb Enable indent-tabs-mode in obj-c-mode 54f35137096 Fix comment indent in 'lua-ts-mode' and old grammar 8b95549e908 * admin/nt/dist-build/build-dep-zips.py: (deps src) handl... 8064b2a6798 Document undocumented completion commands c29b798537e ; etc/w32-feature.el (harfbuzz): improve test 0e43e35f96e * admin/nt/dist-build/emacs.nsi: (Uninstall) delete only ... b83cd8a8fb0 ; * etc/tutorials/TUTORIAL.ko: Fix the beginning. 41caccc488b ; * etc/publicsuffix.txt: Update from upstream. e6fb18406ee ; Fix refcards 14e791f9ba2 ; Update acknowledgments for Emacs 30 861b7864fc4 ; Fix node name in emacs-lisp-intro.texi 77243ba5be8 ; Update version tags of defcustoms fe2ac33bae8 ;* doc/misc/efaq.texi (New in Emacs 30): Mention 'trusted... 8fb884f0dc0 ; * etc/NEWS: Fix wording. e281355a5e8 Improve D-Bus and Tramp manual # Conflicts: # doc/emacs/emacs.texi # etc/NEWS # lisp/erc/erc-log.el # lisp/eshell/esh-mode.el # lisp/which-key.el
| * Don't start docstrings with "This function" or similarStefan Kangas2024-12-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/calculator.el (calculator-add-operators): * lisp/erc/erc-backend.el (erc-server-ping-handler): * lisp/erc/erc-log.el (erc-generate-log-file-name-with-date): (erc-generate-log-file-name-short): * lisp/erc/erc-track.el (erc-track-shorten-function): * lisp/eshell/em-smart.el (eshell-where-to-jump): * lisp/eshell/esh-mode.el (eshell-begin-on-new-line): * lisp/gnus/gnus-art.el (gnus-prompt-before-saving): * lisp/mail/supercite.el (sc-cite-region-limit): * lisp/net/nsm.el (network-security-protocol-checks): * lisp/org/org-element.el (org-element--cache-avoid-synchronous-headline-re-parsing): * lisp/progmodes/hideif.el (hif-merge-ifdef-region): * lisp/progmodes/modula2.el (m2-indent): * lisp/progmodes/xscheme.el (xscheme-running-p): (xscheme-control-g-disabled-p): * lisp/tab-bar.el (tab-bar--event-to-item): * lisp/which-key.el (which-key--hide-popup): Don't start docstrings with "This function" or "This variable".
* | Don't start docstrings with "This function"Stefan Kangas2024-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/calculator.el (calculator-add-operators): * lisp/erc/erc-log.el (erc-generate-log-file-name-with-date) (erc-generate-log-file-name-short): * lisp/eshell/esh-mode.el (eshell-begin-on-new-line): * lisp/progmodes/hideif.el (hif-merge-ifdef-region): * lisp/tab-bar.el (tab-bar--event-to-item): * lisp/textmodes/artist.el (artist-no-rb-unset-point2) (artist-no-rb-unset-points): * lisp/which-key.el (which-key--hide-popup): Don't start function docstrings with "This function".
* | Fix and improve behavior of 'eshell/clear'Jim Porter2024-10-311-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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).
* | Fix a race condition when running Eshell startup scriptsJim Porter2024-10-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, these scripts could run before all the Eshell modules had fully-initialized. * lisp/eshell/esh-mode.el (eshell-after-initialize-hook): New hook... (eshell-mode): ... run it. * lisp/eshell/em-script.el (eshell-run-startup-scripts): New function... (eshell-script-initialize): ... add it to 'eshell-after-initialize-hook'. * etc/NEWS: Announce 'eshell-after-initialize-hook'.
* | ; Mark interactive Eshell output as such after inserting into the bufferJim Porter2024-10-171-3/+13
|/ | | | | | | | | | | | | This avoids adding the "output" text properties to strings that may live past the call to 'eshell-interactive-filter'. * lisp/eshell/esh-mode.el (eshell-interactive-output-filter): New function... (eshell-interactive-print): ... call it. (eshell-interactive-filter): Update docstring. * lisp/eshell/esh-proc.el (eshell-interactive-process-filter) (eshell-sentinel): Call 'eshell-interactive-output-filter'.
* Limit the amount of text we examine when looking for password promptsJim Porter2024-06-201-13/+19
| | | | | | | | | | | | | | | Both Comint and Eshell do this, and it can significantly slow down commands that write a lot of output (bug#71576). * lisp/comint.el (comint-password-prompt-max-length): New variable... (comint-watch-for-password-prompt): ... use it. Additionally, use the matched result for the Emacs-based password prompt. * lisp/eshell/esh-mode.el (eshell-password-prompt-max-length): New variable... (eshell-watch-for-password-prompt): ... use it. * etc/NEWS: Announce this change.
* Improve implementations of some Eshell output filter functionsJim Porter2024-06-081-38/+30
| | | | | | | | | * lisp/eshell/esh-mode.el (eshell-postoutput-scroll-to-bottom): Use 'get-buffer-window-list' for simplicity. (eshell-handle-control-codes): Use 're-search-forward'; this way is much faster. * test/lisp/eshell/esh-mode-tests.el: New file.
* Check for a real process when trying to find password prompts in EshellJim Porter2024-06-031-1/+1
| | | | | * lisp/eshell/esh-mode.el (eshell-watch-for-password-prompt): Use 'eshell-head-process'.
* ; Remove superfluous 'quit' handler in 'eshell-send-input'Jim Porter2024-06-021-5/+1
| | | | | | This is now handled by the command form itself, thanks to eef32d13da5. * lisp/eshell/esh-mode.el (eshell-send-input): Remove 'quit' handler.
* Fix calling Eshell scripts outside of EshellJim Porter2024-05-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-script.el (eshell-source-file): Make obsolete. (eshell--source-file): Adapt from 'eshell-source-file'... (eshell-script-initialize, eshell/source, eshell/.): ... use it. (eshell-princ-target): New struct. (eshell-output-object-to-target, eshell-target-line-oriented-p): New implementations for 'eshell-princ-target'. (eshell-execute-file, eshell-batch-file): New functions. * lisp/eshell/esh-mode.el (eshell-mode): Just warn if we can't create the Eshell directory. * test/lisp/eshell/em-script-tests.el (em-script-test/execute-file): (em-script-test/execute-file/args), em-script-test/batch-file): New tests. * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell-settings): New function... (with-temp-eshell): ... use it. * doc/misc/eshell.texi (Control Flow): Update documentation. * etc/NEWS: Announce this change (bug#70847).
* Consolidate Eshell module loading/unloading codeJim Porter2024-05-291-26/+5
| | | | | | | | | | | | | | | | | | | | | This also adds the ability to suppress module loading/unloading messages, which will be necessary to support running Eshell scripts as batch scripts. * lisp/eshell/esh-mode.el (eshell-mode): Move module loading/initialization to... * lisp/eshell/esh-module.el (eshell-load-modules) (eshell-initialize-modules): ... here. (eshell-module-loading-messages): New option. (eshell-module--feature-name): Improve docstring. (eshell-unload-modules): Display a real warning if unable to unload a module. * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell) (eshell-command-result-equal): * test/lisp/eshell/eshell-tests-unload.el (load-eshell): Silence Eshell loading messages.
* esh-mode.el: Refrain from hiding buffer modifications (bug#70966)Stefan Monnier2024-05-281-37/+35
| | | | | | | | | | | We have not been able to discover why these functions let-bound `inhibit-modification-hooks`, but these let-bindings are undesired effects on other modes such as `diff-mode` which need to keep track of buffer modifications. Let's remove those let-bindings and hope for the best. * lisp/eshell/esh-mode.el (eshell-send-input) (eshell-interactive-filter): Don't bind `inhibit-modification-hooks`.
* ; Clean up some 'require' and 'declare-function' calls in EshellJim Porter2024-05-101-3/+0
| | | | | | | | | | * lisp/eshell/em-ls.el: * lisp/eshell/esh-cmd.el: * lisp/eshell/esh-mode.el: * lisp/eshell/esh-ext.el: Remove superfluous 'declare-function' calls. * lisp/eshell/esh-proc.el (pcomplete): Require this explicitly instead of transitively.
* Only run 'eshell-first-time-mode-hook' once per Emacs sessionLin Sun2024-05-021-2/+4
| | | | | * lisp/eshell/esh-mode.el (eshell-mode): Set 'eshell-first-time-p' to nil (bug#70610).
* When deleting output in Eshell, optionally add it to the kill ring.Tomas Volf2024-02-151-5/+13
| | | | | | | | * lisp/eshell/esh-mode.el (eshell-kill-output): Rename to... (eshell-delete-output): ... this, for consistency with 'comint-mode', and accept KILL argument. Update callers. Copyright-paperwork-exempt: yes
* Fix detection of directly-invokable commands in EshellJim Porter2024-01-261-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | I think this regressed partly due to eef32d13da58, so let's add some regression tests to make sure that doesn't happen again. * lisp/eshell/em-unix.el (eshell-unix-initialize): Add "compile". * lisp/eshell/esh-cmd.el (eshell--find-subcommands): Yield the second element of the subcommand. (eshell--invoke-command-directly-p): Rename and account for 'eshell-with-copied-handles'. (eshell-invoke-directly): Rename to... (eshell-invoke-directly-p): ... this, and use 'pcase' to make the logic clearer. * lisp/eshell/esh-mode.el (eshell-send-input): Always queue input if the process is running; rename some locals to be clearer. * lisp/eshell/esh-var.el (eshell-var-initialize): Add "env" as a complex command. * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test--deftest-invoke-directly): New macro. (no-args, with-args, multiple-cmds, subcmd, complex, complex-subcmd): New test cases.
* Merge from savannah/emacs-29Po Lu2024-01-021-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
| * ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
| |
* | Fix behavior of Eshell prompt when yanking output into itJim Porter2023-10-111-0/+3
| | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-util.el (eshell--unmark-string-as-output): New function... * lisp/eshell/esh-mode.el (eshell-mode): ... use it. * test/lisp/eshell/eshell-tests.el (eshell-test/yank-output): New test (bug#66469).
* | Support Eshell iterative evaluation in the backgroundJim Porter2023-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This really just generalizes Eshell's previous support for iterative evaluation of a single current command to a list of multiple commands, of which at most one can be in the foreground (bug#66066). * lisp/eshell/esh-cmd.el (eshell-last-async-procs) (eshell-current-command): Make obsolete in favor of... (eshell-foreground-command): ... this (eshell-background-commands): New variable. (eshell-interactive-process-p): Make obsolete. (eshell-head-process, eshell-tail-process): Use 'eshell-foreground-command'. (eshell-cmd-initialize): Initialize new variables. (eshell-add-command, eshell-remove-command) (eshell-commands-for-process): New functions. (eshell-parse-command): Make 'eshell-do-subjob' the outermost call. (eshell-do-subjob): Call 'eshell-resume-eval' to split this command off from its parent forms. (eshell-eval-command): Use 'eshell-add-command'. (eshell-resume-command): Use 'eshell-commands-for-process'. (eshell-resume-eval): Take a COMMAND argument. Return ':eshell-background' form for deferred background commands. (eshell-do-eval): Remove check for 'eshell-current-subjob-p'. This is handled differently now. * lisp/eshell/eshell.el (eshell-command): Wait for all processes to exit when running synchronously. * lisp/eshell/esh-mode.el (eshell-intercept-commands) (eshell-watch-for-password-prompt): * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): * lisp/eshell/em-smart.el (eshell-smart-display-move): Use 'eshell-foreground-command'. * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/background/simple-command) (esh-cmd-test/background/subcommand): New tests. (esh-cmd-test/throw): Use 'eshell-foreground-command'. * test/lisp/eshell/eshell-tests.el (eshell-test/queue-input): Use 'eshell-foreground-command'. * test/lisp/eshell/em-script-tests.el (em-script-test/source-script/background): Make the test script more complex. * test/lisp/eshell/eshell-tests.el (eshell-test/eshell-command/pipeline-wait): New test. * doc/misc/eshell.texi (Bugs and ideas): Remove implemented feature.
* | ; Throw strings as the values for 'eshell-incomplete'Jim Porter2023-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us distinguish between cases like "'foo" and "$'foo". * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Use strings when checking the delimiter. * lisp/eshell/em-glob.el (eshell-parse-glob-chars): * lisp/eshell/em-pred.el (eshell-parse-arg-modifier): * lisp/eshell/esh-arg.el (eshell-parse-backslash) (eshell-parse-literal-quote, eshell-parse-double-quote) (eshell-parse-special-reference): * lisp/eshell/esh-cmd.el (eshell-parse-subcommand-argument) (eshell-parse-lisp-argument): * lisp/eshell/esh-var (eshell-parse-variable-ref) (eshell-parse-indices): Throw strings instead of characters. * lisp/eshell/esh-mode.el (eshell-parse-command-input): Print delimiter as a string.
* | Allow unloading EshellJim Porter2023-02-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-extpipe.el (eshell-extpipe): * lisp/eshell/esh-opt.el (eshell-opt): New groups. Eshell uses these to identify modules to unload. * lisp/eshell/em-hist.el (eshell-hist-unload-hook): * lisp/eshell/em-ls.el (eshell-ls-unload-hook): * lisp/eshell/em-smart.el (eshell-smart-unload-hook): * lisp/eshell/eshell.el (eshell-unload-hook): Make obsolete and move to... * lisp/eshell/em-smart.el (em-smart-unload-function): * lisp/eshell/em-hist.el (em-hist-unload-function): * lisp/eshell/em-ls.el (em-ls-unload-function): * lisp/eshell/eshell.el (eshell-unload-function): ... these. * lisp/eshell/esh-mode.el (eshell-mode-unload-hook): * lisp/eshell/esh-module.el (eshell-module-unload-hook): Make obsolete. * lisp/eshell/em-ls (eshell-ls-enable-in-dired, eshell-ls-disable-in-dired): New functions... (eshell-ls-use-in-dired): ... use them. * lisp/eshell/esh-module.el (eshell-module--feature-name, eshell-unload-modules): New functions. (eshell-unload-extension-modules): Use 'eshell-unload-modules'. * lisp/eshell/eshell.el (eshell-unload-all-modules): Remove. * test/lisp/eshell/eshell-tests-unload.el: New file. * doc/misc/eshell.texi (Bugs and ideas): Remove item about unloading Eshell not working. * etc/NEWS: Announce this change (bug#61501).
* | ; Don't require 'eshell' in other Eshell filesJim Porter2023-02-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This isn't necessary and just makes unloading Eshell harder. * lisp/eshell/em-banner.el: * lisp/eshell/em-basic.el: * lisp/eshell/em-cmpl.el: * lisp/eshell/em-glob.el: * lisp/eshell/em-prompt.el: * lisp/eshell/em-rebind.el: * lisp/eshell/em-smart.el: * lisp/eshell/em-term.el: * lisp/eshell/em-tramp.el: * lisp/eshell/em-xtra.el: Stop requiring 'eshell', and instead require specific subcomponents. * lisp/eshell/em-hist.el: Stop requiring 'eshell' and 'em-pred' (extension modules shouldn't require each other so they can be independent). (eshell-hist-parse-modifier): Ensure this can only be called when 'em-pred' is in use, and declare the relevant function. * lisp/eshell/eshell.el (eshell-non-interactive-p): Move from here... * lisp/eshell/esh-mode.el (eshell-non-interactive-p): ... to here.
* | Add new user option password-colon-equivalentsMichael Albinus2023-02-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/international/mule-conf.el (password-colon-equivalents): New defcustom. * lisp/comint.el (comint-password-prompt-regexp): * lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Use it. * lisp/net/tramp-compat.el (tramp-compat-password-colon-equivalents): New variable. * lisp/net/tramp.el (tramp-password-prompt-regexp): Use it.
* | Make sure core Eshell modules are loadedJim Porter2023-02-111-3/+9
| | | | | | | | | | | | | | | | | | Previously, if you removed all (or most) extension modules from Eshell, it failed to load esh-var.el, meaning that you couldn't use variable expansions. To avoid this issue, we now explicitly load the core modules in esh-mode.el. * lisp/eshell/esh-mode.el: Explicitly require core Eshell modules.
* | Ensure that Eshell users can run lines of command output as inputJim Porter2023-02-091-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, this failed to work properly because any additional input the user entered would have no 'field' property, confusing 'eshell-get-old-input'. To fix this, we simply ensure that any user-entered text in the output field retains said output field (bug#61310). * lisp/eshell/esh-util.el (eshell-command-output-properties): New variable. (eshell--mark-as-output, eshell--mark-yanked-as-output): New functions, mostly copied from comint. * lisp/eshell/esh-proc.el (eshell-interactive-process-filter): * lisp/eshell/esh-mode.el (eshell-interactive-print): Call 'eshell--mark-as-output'. (eshell-get-old-input): Remove properties from the returned string just to be safe. * test/lisp/eshell/eshell-tests.el (eshell-test-value): New variable. (eshell-test/get-old-input/rerun-command) (eshell-test/get-old-input/run-output): New tests. * test/lisp/eshell/em-prompt-tests.el (em-prompt-test/field-properties) (em-prompt-test/field-properties/no-highlight): Use 'eshell-command-output-properties'.
* | Use the 'field' property to navigate through Eshell promptsJim Porter2023-01-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-mode.el (eshell-skip-prompt-function): Make obsolete. * lisp/eshell/em-prompt.el (eshell-prompt-regexp): Update docstring. (eshell-prompt-initialize): Don't set 'eshell-skip-prompt-function'. (eshell-next-prompt): Search for the 'field' property set to 'prompt' to find the next prompt. (eshell-previous-prompt): Move 'forward-line' call into 'eshell-next-prompt'. (eshell-forward-matching-input, eshell-backward-matching-input): Reimplement on top of 'eshell-next-prompt'. (eshell-skip-prompt): Make obsolete. * test/lisp/eshell/em-prompt-tests.el (em-prompt-test/next-previous-prompt): New test.
* | Make 'eshell-bol' obsoleteJim Porter2023-01-141-18/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that Eshell uses fields for its output, 'eshell-bol' is no longer needed, and we can just use 'beginning-of-line'. * lisp/eshell/esh-mode.el (eshell-bol): Mark obsolete. (eshell-mode-map): Remove 'C-a' mapping. (eshell-command-map): Use 'move-beginning-of-line'. (eshell-move-argument, eshell-kill-input): Use 'beginning-of-line'. (eshell-get-old-input): Remove unnecessary call to 'eshell-skip-prompt-function'. * lisp/eshell/em-rebind.el (eshell-rebind-keys-alist): Remove 'C-a' and '<home>' mappings; the global mapping for these ('move-beginning-of-line') does the same thing now. * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): * lisp/eshell/em-elecslash.el (eshell-electric-forward-slash): * lisp/eshell/em-hist.el (eshell-hist-word-reference) (eshell-previous-matching-input-from-input, eshell-test-imatch): * lisp/eshell/em-prompt.el (eshell-backward-matching-input): * lisp/eshell/em-rebind.el (eshell-point-within-input-p): * test/lisp/eshell/eshell-tests.el (eshell-test/forward-arg): Use 'beginning-of-line'. * test/lisp/eshell/eshell-tests.el (eshell-test/run-old-command): Rename to... (eshell-test/get-old-input): ... this, and expand the test.
* | Set the 'field' property for Eshell outputJim Porter2023-01-141-10/+15
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes Eshell work more like 'M-x shell', and lets the <home> key move to the beginning of the user's input at the prompt (bug#60666). * lisp/eshell/em-prompt.el (eshell-emit-prompt): Add 'field' property to prompt. (eshell-bol-ignoring-prompt): New function. * lisp/eshell/esh-io.el: Declare 'eshell-interactive-print'... (eshell-output-object-to-target): ... use it. * lisp/eshell/esh-mode.el (eshell-output-filter-functions): Update docstring. (eshell-interactive-print): Set the output to have a field value of 'command-output'. (eshell-output-filter): Rename to... (eshell-interactive-filter): ... this, and take a buffer instead of a process. * lisp/eshell/esh-proc.el (eshell-interactive-process-filter): New function, adapted from 'eshell-output-filter'... (eshell-gather-process-output): ... use it. * test/lisp/eshell/em-prompt-tests.el: New file. * etc/NEWS: Announce this change.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Use the new keyword ':repeat' in repeatable keymaps.Juri Linkov2022-12-221-3/+1
| | | | | | | | | | | | | | | | | | | | | | | * lisp/bindings.el (undo-repeat-map) (buffer-navigation-repeat-map, next-error-repeat-map) (page-navigation-repeat-map): * lisp/comint.el (comint-repeat-map): * lisp/dired.el (dired-jump-map): * lisp/outline.el (outline-navigation-repeat-map) (outline-editing-repeat-map): * lisp/shell.el (shell-repeat-map): * lisp/tab-bar.el (tab-bar-switch-repeat-map) (tab-bar-move-repeat-map): * lisp/window.el (other-window-repeat-map) (resize-window-repeat-map): * lisp/winner.el (winner-repeat-map): * lisp/eshell/em-prompt.el (eshell-prompt-repeat-map): * lisp/eshell/esh-mode.el (eshell-command-repeat-map): Add the keyword ':repeat' to 'defvar-keymap' instead of setting the symbol property 'repeat-map' explicitly. * lisp/keymap.el (defvar-keymap): Check for 'props' that is used in 'defvar-form'.
* esh-mode: Add repeat-map for eshell-{forward,backward}-argumentBrian Leung2022-11-171-0/+8
| | | | | * lisp/eshell/esh-mode.el (eshell-command-repeat-map): New defvar. (Bug#59144)
* Remove redundant let-bindings of `inhibit-point-motion-hooks`Stefan Monnier2022-10-071-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `inhibit-point-motion-hooks` has defaulted to t (and been declared obsolete) since Emacs-25, so remove left-over bindings to that now default value. * lisp/dabbrev.el (dabbrev--search): * lisp/format.el (format-insert-file): * lisp/forms.el (forms-next-field, forms-prev-field): * lisp/minibuf-eldef.el (minibuf-eldef-setup-minibuffer): * lisp/simple.el (primitive-undo): * lisp/cedet/semantic/edit.el (semantic-change-function): * lisp/cedet/srecode/fields.el (srecode-field-mod-hook): * lisp/cedet/srecode/insert.el (srecode-insert-fcn): * lisp/erc/erc-button.el (erc-button-add-buttons): * lisp/erc/erc.el (erc-display-line): * lisp/eshell/em-script.el (eshell-source-file): * lisp/eshell/em-smart.el (eshell-smart-scroll-window): * lisp/eshell/esh-arg.el (eshell-parse-arguments): * lisp/eshell/esh-cmd.el (eshell-with-temp-command): * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter): * lisp/gnus/gnus-art.el (gnus-with-article-headers) (article-hide-headers, article-hide-boring-headers) (article-decode-mime-words, article-decode-charset) (article-decode-encoded-words, article-decode-group-name) (article-decode-idna-rhs, article-hide-list-identifiers) (article-strip-banner, article-really-strip-banner) (article-strip-leading-blank-lines) (article-strip-multiple-blank-lines, article-strip-leading-space) (article-strip-trailing-space, article-strip-all-blank-lines) (gnus-article-narrow-to-signature, gnus-article-show-hidden-text) (article-date-ut, article-verify-x-pgp-sig) (gnus-article-only-boring-p, gnus-article-highlight-signature) (gnus-article-add-buttons, gnus-signature-toggle, gnus-button-push): * lisp/gnus/gnus-cite.el (gnus-article-highlight-citation) (gnus-article-fill-cited-article, gnus-article-hide-citation) (gnus-article-toggle-cited-text, gnus-article-hide-citation-maybe) (gnus-cite-parse-wrapper, gnus-cite-add-face, gnus-cite-toggle): * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): * lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body): * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header): * lisp/gnus/gnus-util.el (gnus-fetch-field): * lisp/gnus/message.el (message-fetch-field, message-reply) (message-followup, message-hide-headers): * lisp/net/goto-addr.el (goto-address-fontify): * lisp/obsolete/linum.el (linum-update-window): * lisp/play/zone.el (zone-shift-left, zone-shift-right) (zone-fill-out-screen): * lisp/progmodes/opascal.el (opascal-save-excursion): * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2): * lisp/textmodes/enriched.el (enriched-encode): * lisp/textmodes/flyspell.el (flyspell-word-search-backward) (flyspell-word-search-forward): * lisp/textmodes/table.el (table--point-entered/left-cell-function): Remove let-binding of `inhibit-point-motion-hooks`.
* Abolish max-specpdl-size (bug#57911)Mattias Engdegård2022-09-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The max-lisp-eval-depth limit is sufficient to prevent unbounded stack growth including the specbind stack; simplify matters for the user by not having them to worry about two different limits. This change turns max-specpdl-size into a harmless variable with no effects, to keep existing code happy. * lisp/subr.el (max-specpdl-size): Define as an ordinary (but obsolete) dynamic variable. * admin/grammars/Makefile.in: * doc/lispintro/emacs-lisp-intro.texi (Loops & Recursion): * doc/lispref/control.texi (Cleanups): * doc/lispref/edebug.texi (Checking Whether to Stop): * doc/lispref/eval.texi (Eval): * doc/lispref/variables.texi (Local Variables): * doc/misc/calc.texi (Recursion Depth): Update documentation. * etc/NEWS: Announce. * src/eval.c (FletX): Use safe iteration to guard against circular bindings list. (syms_of_eval): Remove old max-specpdl-size definition. (init_eval_once, restore_stack_limits, call_debugger) (signal_or_quit, grow_specpdl_allocation): * leim/Makefile.in: * lisp/Makefile.in: * lisp/calc/calc-stuff.el (calc-more-recursion-depth) (calc-less-recursion-depth): * lisp/calc/calc.el (calc-do): * lisp/cedet/semantic/ede-grammar.el (ede-proj-makefile-insert-rules): * lisp/cedet/semantic/grammar.el (semantic-grammar-batch-build-one-package): * lisp/cus-start.el (standard): * lisp/emacs-lisp/comp.el (comp--native-compile): * lisp/emacs-lisp/edebug.el (edebug-max-depth): (edebug-read-and-maybe-wrap-form, edebug-default-enter): * lisp/emacs-lisp/regexp-opt.el (regexp-opt): * lisp/eshell/esh-mode.el (eshell-mode): * lisp/loadup.el (max-specpdl-size): * lisp/mh-e/mh-e.el (mh-invisible-headers): * lisp/net/shr.el (shr-insert-document, shr-descend): * lisp/play/hanoi.el (hanoi-internal): * lisp/progmodes/cperl-mode.el: * src/fileio.c (Fdo_auto_save): Remove references to and modifications of max-specpdl-size.
* Delete many items obsolete since 24.3Stefan Kangas2022-09-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/allout.el (allout-exposure-change-hook) (allout-structure-added-hook, allout-structure-deleted-hook) (allout-structure-shifted-hook): * lisp/arc-mode.el (archive-extract-hooks): * lisp/buff-menu.el (Buffer-menu-buffer+size-width): * lisp/calendar/timeclock.el (timeclock-modeline-display) (timeclock-modeline-display, timeclock-update-modeline): * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym-function-arglist): * lisp/cedet/semantic/db-file.el (semanticdb-save-database-hooks): * lisp/cedet/semantic/edit.el (semantic-change-hooks) (semantic-edits-new-change-hooks) (semantic-edits-delete-change-hooks) (semantic-edits-reparse-change-hooks): * lisp/cedet/semantic/lex.el (semantic-lex-reset-hooks): * lisp/comint.el (comint--unquote&expand-filename) (comint-unquote-filename): * lisp/custom.el (user-variable-p): * lisp/dired.el (dired-shrink-to-fit, dired-pop-to-buffer) (dired-sort-set-modeline): * lisp/ebuff-menu.el (Electric-buffer-menu-mode): * lisp/emacs-lisp/byte-run.el (macro-declaration-function): * lisp/emacs-lisp/checkdoc.el (custom-print-functions) (checkdoc-comment-style-hooks): * lisp/emacs-lisp/cl-lib.el (custom-print-functions): * lisp/emacs-lisp/edebug.el (gud-inhibit-global-bindings): * lisp/erc/erc-dcc.el (erc-dcc-chat-filter-hook): * lisp/eshell/esh-mode.el (eshell-status-in-modeline): * lisp/eshell/eshell.el (eshell-add-to-window-buffer-names) (eshell-remove-from-window-buffer-names): * lisp/faces.el (set-face-underline-p, font-list-limit): * lisp/files.el (automount-dir-prefix, toggle-read-only): * lisp/filesets.el (filesets-cache-fill-content-hooks): * lisp/frame.el (automatic-hscrolling): * lisp/generic-x.el (javascript-generic-mode) (javascript-generic-mode-hook): * lisp/gnus/gnus-start.el (gnus-subscribe-newsgroup-hooks): * lisp/gnus/nndiary.el (nndiary-request-create-group-hooks) (nndiary-request-update-info-hooks) (nndiary-request-accept-article-hooks): * lisp/htmlfontify.el (hfy-post-html-hooks): * lisp/international/mule-cmds.el (inactivate-current-input-method-function) (inactivate-input-method, input-method-inactivate-hook) (ucs-insert): * lisp/international/quail.el (quail-inactivate) (quail-inactivate-hook): * lisp/international/robin.el (robin-inactivate) (robin-inactivate-hook): * lisp/leim/quail/hangul.el (hangul-input-method-inactivate): * lisp/leim/quail/uni-input.el (ucs-input-inactivate): * lisp/mail/emacsbug.el (report-emacs-bug-info): * lisp/mh-e/mh-e.el (mh-kill-folder-suppress-prompt-hooks): * lisp/mpc.el (mpc-string-prefix-p): * lisp/net/rcirc.el (rcirc-print-hooks, rcirc-sentinel-hooks) (rcirc-receive-message-hooks, rcirc-activity-hooks): * lisp/obsolete/crisp.el (crisp-mode-modeline-string): * lisp/pcomplete.el (pcomplete-arg-quote-list) (pcomplete-quote-argument): * lisp/progmodes/cc-mode.el (c-prepare-bug-report-hooks): * lisp/progmodes/python.el (python-info-ppss-context) (python-info-ppss-context-type) (python-info-ppss-comment-or-string-p, python-indent) (python-guess-indent, python-buffer, python-preoutput-result) (python-proc, python-send-receive, python-send-string) (python-use-skeletons): * lisp/progmodes/sh-script.el (sh-maybe-here-document): * lisp/replace.el (query-replace-interactive): * lisp/strokes.el (strokes-modeline-string): * lisp/subr.el (redraw-modeline): * lisp/term.el (term-default-fg-color, term-default-bg-color): * lisp/textmodes/tex-mode.el (latex-string-prefix-p) (tex-string-prefix-p): * lisp/url/url-parse.el (url-recreate-url-attributes): * lisp/vc/add-log.el (change-log-acknowledgement): * lisp/vc/ediff-wind.el (ediff-choose-window-setup-function-automatically): * lisp/vc/pcvs-util.el (cvs-string-prefix-p): * lisp/vc/vc.el (vc-string-prefix-p): * lisp/window.el (display-buffer-function): * lisp/winner.el (winner-mode-leave-hook): Remove many functions and variables obsolete since 24.3. * lisp/buff-menu.el (list-buffers--refresh): * lisp/dired.el (dired-mode-map): * lisp/files.el (abbreviate-file-name): * lisp/generic-x.el (generic-default-modes): * lisp/mh-e/mh-funcs.el (mh-kill-folder): * lisp/progmodes/hideif.el (hide-ifdef-mode-submap): * lisp/replace.el (query-replace-read-from): * lisp/term.el (term): * lisp/window.el (display-buffer): Don't use above deleted functions and variables. * src/marker.c (Fbuffer_has_markers_at): Delete DEFUN obsolete since 24.3. (syms_of_marker) <Sbuffer_has_markers_at>: Delete defsubr. * lisp/subr.el (buffer-has-markers-at): Remove obsoletion of above deleted DEFUN. * etc/TODO: Doc fix; don't mention above deleted function. * admin/cus-test.el (cus-test-get-options): * lisp/pcomplete.el: Doc fixes; don't mention removed items. ; * etc/NEWS: List removed items.
* Make eshell-mode more resilient towards `mode-line-format'Lars Ingebrigtsen2022-08-151-1/+2
| | | | | * lisp/eshell/esh-mode.el (eshell-mode): `mode-line-format' can be a string (bug#57185). In that case, don't alter anything.
* Make some defcustom types more restrictiveStefan Kangas2022-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/abbrev.el (abbrev-suggest-hint-threshold): * lisp/bookmark.el (bookmark-bmenu-file-column) (bookmark-menu-length): * lisp/buff-menu.el (Buffer-menu-size-width) (Buffer-menu-mode-width): * lisp/calendar/calendar.el (calendar-week-start-day) (calendar-intermonth-spacing, calendar-column-width) (calendar-day-digit-width): * lisp/calc/calc.el (calc-undo-length): * lisp/calendar/timeclock.el (timeclock-workday): * lisp/comint.el (comint-buffer-maximum-size) (comint-input-ring-size): * lisp/doc-view.el (doc-view-resolution, doc-view-image-width): * lisp/emacs-lisp/bytecomp.el (byte-compile-docstring-max-column): * lisp/emacs-lisp/comp.el (native-comp-debug) (native-comp-verbose, native-comp-async-jobs-number): * lisp/emacs-lisp/package.el (package-name-column-width) (package-version-column-width, package-status-column-width) (package-archive-column-width): * lisp/eshell/esh-mode.el (eshell-buffer-maximum-lines): * lisp/frame.el (blink-cursor-blinks): * lisp/info.el (Info-breadcrumbs-depth): * lisp/jit-lock.el (jit-lock-chunk-size): * lisp/kmacro.el (kmacro-ring-max): * lisp/menu-bar.el (yank-menu-length, yank-menu-max-items): * lisp/midnight.el (clean-buffer-list-delay-general) (clean-buffer-list-delay-special): * lisp/net/dictionary.el (dictionary-port) (dictionary-proxy-port): * lisp/net/ldap.el (ldap-default-port): * lisp/net/pop3.el (pop3-port, pop3-stream-length): * lisp/net/rcirc.el (rcirc-default-port): * lisp/net/sieve-manage.el (sieve-manage-default-port): * lisp/play/spook.el (spook-phrase-default-count): * lisp/play/tetris.el (tetris-buffer-width) (tetris-buffer-height, tetris-width, tetris-height) (tetris-top-left-x, tetris-top-left-y): * lisp/profiler.el (profiler-sampling-interval): * lisp/progmodes/sql.el (sql-port): * lisp/recentf.el (recentf-max-menu-items): * lisp/strokes.el (strokes-grid-resolution): * lisp/tab-bar.el (tab-bar-tab-name-truncated-max): * lisp/term/xterm.el (xterm-max-cut-length): * lisp/time.el (display-time-interval, world-clock-timer-second): * lisp/url/url-cache.el (url-cache-expire-time): * lisp/url/url-cookie.el (url-cookie-save-interval): * lisp/url/url-history.el (url-history-save-interval): * lisp/url/url-queue.el (url-queue-parallel-processes) (url-queue-timeout): * lisp/url/url-vars.el (url-max-password-attempts) (url-max-redirections): * lisp/vc/emerge.el (emerge-min-visible-lines): * lisp/vc/vc.el (vc-log-show-limit): * lisp/window.el (window-min-height, window-min-width): * lisp/winner.el (winner-ring-size): Use :type natnum. * lisp/savehist.el (savehist-file-modes): Fix setting to nil value and use :type natnum.
* Fix starting eshell with missing/invalid modules definedStefan Kangas2022-06-191-1/+5
| | | | | * lisp/eshell/esh-mode.el (eshell-mode): Warn instead of failing to start when 'eshell-modules-list' has invalid entries. (Bug#54976)
* Set bookmark handler type for EshellStefan Kangas2022-06-171-0/+2
| | | | | * lisp/eshell/esh-mode.el (eshell-bookmark-jump): Set bookmark handler type.
* When executing an Eshell pipeline, send input to the first processJim Porter2022-02-031-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, input was sent to the last process in the pipeline, resulting in unexpected behavior when running commands like 'tr a-z A-Z | rev'. * lisp/eshell/esh-util.el (eshell-process-pair-p) (eshell-make-process-pair): New functions. * lisp/eshell/esh-cmd.el (eshell-last-async-proc): Rename to... (eshell-last-async-procs): ... this, and store a pair of processes. (eshell-interactive-process): Replace with... (eshell-interactive-process-p, eshell-head-process) (eshell-tail-process): ... these. (eshell-cmd-initialize): Set 'eshell-last-async-procs'. (eshell-do-pipelines): Set 'headproc'. (eshell-execute-pipeline): Return 'headproc' and 'tailproc'. (eshell-resume-eval): Use 'eshell-last-async-procs'. (eshell-do-eval): Make sure we work with a pair of processes. * lisp/eshell/esh-proc.el (eshell-send-eof-to-process): Move from here... * lisp/eshell/esh-mode.el (eshell-send-eof-to-process): ... to here, and only send EOF to the head process. * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments) * lisp/eshell/esh-mode.el (eshell-intercept-commands) (eshell-watch-for-password-prompt): Use 'eshell-interactive-process-p'. * lisp/eshell/em-rebind.el (eshell-delchar-or-maybe-eof) * lisp/eshell/em-term.el (eshell-term-send-raw-string) * lisp/eshell/esh-mode.el (eshell-self-insert-command) (eshell-send-input, eshell-send-invisible): Use 'eshell-head-process'. * lisp/eshell/esh-cmd.el (eshell-as-subcommand): Use 'eshell-tail-process'. * lisp/eshell/eshell.el (eshell-command): * test/lisp/eshell/eshell-tests-helpers.el (eshell-wait-for-subprocess): Use 'eshell-interactive-process-p' and 'eshell-tail-process'. * test/lisp/eshell/eshell-tests.el (eshell-test/pipe-headproc-stdin): New test.
* Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | Use defvar-keymap in eshellStefan Kangas2021-12-241-25/+22
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-cmpl.el (eshell-cmpl-mode-map): * lisp/eshell/em-hist.el (eshell-isearch-map, eshell-hist-mode-map): * lisp/eshell/em-pred.el (eshell-pred-mode-map): * lisp/eshell/em-prompt.el (eshell-prompt-mode-map): * lisp/eshell/em-rebind.el (eshell-rebind-mode-map): * lisp/eshell/esh-arg.el (eshell-arg-mode-map): * lisp/eshell/esh-mode.el (eshell-mode-map, eshell-command-map): * lisp/eshell/esh-proc.el (eshell-proc-mode-map): * lisp/eshell/esh-var.el (eshell-var-mode-map): Use defvar-keymap.
* | Change eshell-mode mode-line-format insinuationLars Ingebrigtsen2021-11-241-1/+1
| | | | | | | | | | * lisp/eshell/esh-mode.el (eshell-mode): Tweak how the mode line is altered after recent mode-line-format changes.
* | Improve undoing of RET in comint and eshellMiha Rihtaršič2021-11-081-0/+8
| | | | | | | | | | | | | | | | | | * lisp/comint.el (comint-send-input): (comint-accumulate): * lisp/eshell/esh-mode.el (eshell-send-input): Before sending input to the process, delete it and reinsert it again. Undoing this insertion with 'C-/' will delete the region, moving the process mark back to its original position (bug#49484).
* | Merge from origin/emacs-28Glenn Morris2021-10-251-4/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | a2c17e115e (origin/emacs-28) Merge branch 'emacs-28' of git.savannah.... fde56eeb76 Revert "Fix a typo in emacs-lisp-intro.texi" 4779d3ba19 * doc/lispref/functions.texi (Mapping Functions): Use #' w... 85ea3f7f47 Fix issue with interpreting ANSI codes in eshell 50f9436146 image-dired: Doc fix to better explain thumbnail generation bb475e10b9 Clarify two image-dired docstrings f5b4bb4a6f Fix flymake example backend conditions in the manual 0771d8939a * etc/PROBLEMS: Mention problems with regexp matcher. (Bu... ee579033b9 * test/lisp/repeat-tests.el: New file. 7385a7667f * lisp/tab-bar.el (tab-bar-move-repeat-map): Fix alias bin... 56caf1c9b8 Use restrictive umask when creating image-dired data 3b5de7f991 ; lisp/transient.el: Revert some misguided stylistic fixes.