summaryrefslogtreecommitdiff
path: root/lisp/eshell
Commit message (Collapse)AuthorAgeFilesLines
...
* | Pcomplete: Better obey `completion-at-point-functions`Stefan Monnier2022-03-181-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions on `completion-at-point-functions` should not modify the buffer. Pcomplete itself mostly abides by this but Eshell's use of it doesn't. Try and catch those cases. Also fix one of those cases. * lisp/pcomplete.el (pcomplete-allow-modifications): New var. (pcomplete-completions-at-point): Enforce it. (pcomplete, pcomplete-expand-and-complete, pcomplete-expand): Rebind it since these commands expect the extra side effects. * lisp/eshell/em-cmpl.el (eshell--pcomplete-insert-tab): New function, extracted from `eshell-complete-parse-arguments`. (eshell-complete-parse-arguments): Use it and obey `pcomplete-allow-modifications`.
* | Fix evaluation of negated argument predicates in EshellJim Porter2022-03-131-6/+6
| | | | | | | | | | * lisp/eshell/em-pred.el (eshell-add-pred-func): Let-bind 'pred' so the lambdas see the original value (bug#54369).
* | Support applying indices to more Eshell dollar expansionsJim Porter2022-03-081-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, '${echo -e "hi\nbye"}[1]' should expand to "bye". * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Support applying indices to '${}', '$()', and '$<>' forms. (Bug#54227) * lisp/eshell/esh-var-tests.el (esh-var-test/interp-lisp-indices) (esh-var-test/interp-cmd-indices) (esh-var-test/interp-cmd-external-indices) (esh-var-test/quoted-interp-lisp-indices) (esh-var-test/quoted-interp-cmd-indices): New tests.
* | Improve wording of Eshell variable interpolation code/documentationJim Porter2022-03-083-19/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-arg.el (eshell-unescape-inner-double-quote): Rename from 'eshell-parse-inner-double-quote'. * lisp/eshell/esh-cmd.el (eshell-with-temp-command): Improve docstring. * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Use 'eshell-unescape-inner-double-quote' and improve robustness of quoted variable name matching. (eshell-parse-indices): Use 'eshell-unescape-inner-double-quote'. * doc/misc/eshell.texi (Dollars Expansion): Improve wording of subscript notation.
* | Allow splitting strings in Eshell expansions with "plain" stringsJim Porter2022-03-031-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since '$var[hello 0]' doesn't make sense when 'var' is a string, the previous restriction was unnecessary. * lisp/eshell/esh-var.el (Commentary): Update documentation. (eshell-apply-indices): Allow "plain" strings to split strings. * test/lisp/eshell/esh-var-test.el (esh-var-test/interp-var-string-split-indices) (esh-var-test/quoted-interp-var-string-split-indices): Update tests. * doc/misc/eshell.texi (Dollars expansion): Update documentation.
* | Fix parsing of indices in Eshell expansionsJim Porter2022-03-031-28/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, more-complex index expansions, like '$var[":" 0]' or '$var[$(expr) 0]' failed to parse correctly. * lisp/eshell/esh-var.el (Commentary): Clarify indexing and length expansions. (eshell-parse-indices): Expand docstring and support parsing inside double-quotes. (eshell-eval-indices): New function. (eshell-parse-variable): Use it. * test/lisp/eshell/esh-var-tests.el (eshell-test-value): New defvar. (esh-var-test/interp-var-indices, (esh-var-test/interp-var-split-indices) (esh-var-test/interp-var-string-split-indices) (esh-var-test/interp-var-regexp-split-indices) (esh-var-test/interp-var-assoc, esh-var-test/interp-var-length-list) (esh-var-test/interp-var-length-string) (esh-var-test/interp-var-length-alist) (esh-var-test/quoted-interp-var-indices) (esh-var-test/quoted-interp-var-split-indices) (esh-var-test/quoted-interp-var-string-split-indices) (esh-var-test/quoted-interp-var-regexp-split-indices) (esh-var-test/quoted-interp-var-assoc) (esh-var-test/quoted-interp-var-length-list) (esh-var-test/quoted-interp-var-length-string) (esh-var-test/quoted-interp-var-length-alist): New tests. * doc/misc/eshell.texi (Dollars Expansion): Expand and reword documentation for indexing and length expansions.
* | Fix Eshell dollar interpolation inside of double-quotesJim Porter2022-03-032-9/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, echo "${echo hi}" previously tried to run the program named 'echo hi', instead of 'echo' with the argument 'hi'. * lisp/eshell/esh-arg.el (eshell-parse-inner-double-quote): New function. * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Support parsing when wrapped in double-quiotes. * test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-var) (esh-var-test/interp-quoted-var) (esh-var-test/interp-quoted-var-concat) (esh-var-test/quoted-interp-var) (esh-var-test/quoted-interp-quoted-var) (esh-var-test/quoted-interp-lisp, esh-var-test/quoted-interp-cmd) (esh-var-test/quoted-interp-temp-cmd): New tests.
* | Add a new macro to simplify parsing temporary Eshell command stringsJim Porter2022-03-031-9/+33
| | | | | | | | | | | | | | | | | | This abstracts out the somewhat-unusual "insert&delete" logic in 'eshell-parse-command' so that it can be used elsewhere, and also ensures that the deletion occurs even if an an error occurs. * lisp/eshell/esh-cmd.el (eshell-with-temp-command): New macro. (eshell-parse-command): Use it.
* | Merge from origin/emacs-28Stefan Kangas2022-03-021-5/+18
|\| | | | | | | | | | | 9dadcbe429 ; * doc/misc/eshell.texi (Dollars Expansion): Fix markup. 2c3d1b6bf4 Improve/correct documentation about Eshell variable expansion 9e257aecc9 Partially revert b03f74e0f2a578b1580e8b1c368665850ee7f808
| * Improve/correct documentation about Eshell variable expansionJim Porter2022-03-011-3/+12
| | | | | | | | | | | | | | | | * lisp/eshell/esh-var.el: Correct documentation comment. (eshell-parse-variable-ref): Correct docstring. * doc/misc/eshell.texi (Dollars Expansion): Add documentation for $"var"/$'var' and $<command> syntaxes.
| * Partially revert b03f74e0f2a578b1580e8b1c368665850ee7f808Jim Porter2022-03-011-2/+6
| | | | | | | | | | | | | | | | | | | | | | That commit regressed '$<command>' forms in Eshell, due to a limitation/bug in how 'eshell-do-eval' works. This fixes bug#54190. * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Quote a lambda. * test/lisp/eshell/eshell-tests.el (eshell-test/interp-temp-cmd): New test.
* | Don't superfluously emit prompts when terminating processes in EshellJim Porter2022-02-241-4/+12
| | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-proc.el (eshell-kill-process-function): Only reset the prompt if PROC is writing to the terminal. (eshell-sentinel): Only write the exit message if PROC is writing to the terminal (bug#54136). * test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline) (esh-proc-test/kill-pipeline-head) (esh-proc-test/kill-background-process): New tests.
* | Ignore 'eshell-broken-pipe' error in 'eshell-sentinel'Jim Porter2022-02-231-6/+6
| | | | | | | | | | | | | | | | This can happen if 'eshell-sentinel' tries to write output to another process, but that process has already terminated. * lisp/eshell/esh-proc.el (eshell-sentinel): Use 'ignore-error' instead of 'unwind-protect'.
* | Send SIGPIPE to external Eshell processes if their output target closesJim Porter2022-02-212-8/+35
| | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-io.el (eshell-pipe-broken): New error. (eshell-output-object-to-target): Signal 'eshell-pipe-broken' if the target is an exited/signaled process. * lisp/eshell/esh-proc.el (eshell-insertion-filter): Handle 'eshell-pipe-broken'. * test/lisp/eshell/esh-proc-tests.el: New test.
* | Ensure 'eshell-output-object' always returns nil for consistencyJim Porter2022-02-211-6/+11
| | | | | | | | | | | | | | | | | | | | This prevents functions like 'eshell-print' from writing doubled output when run in Eshell. Previously, the result would be: ~ $ eshell-print hi hihi * lisp/eshell/esh-io.el (eshell-output-object): Always return nil.
* | Improve docstrings for 'eshell-exec-lisp' and functions that call itJim Porter2022-02-211-17/+30
| | | | | | | | | | | | | | * lisp/eshell/esh-cmd.el (eshell-exec-lisp, eshell-apply*) (eshell-funcall*, eshell-eval*, eshell-apply, eshell-eval) (eshell-funcall, eshell-applyn, eshell-funcalln, eshell-evaln): Improve docstrings.
* | ; * lisp/eshell/esh-io.el (grep-null-device): Remove unused defvar.Jim Porter2022-02-211-2/+0
| |
* | Make usage of su and sudo consistent in eshell (bug#53783)Michael Albinus2022-02-061-2/+2
| | | | | | | | | | * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo): Use `tramp-default-host' instead of "localhost".
* | Tweak how eshell/cd works when cd-ing to ".." from "/"Lars Ingebrigtsen2022-02-051-0/+4
| | | | | | | | | | * lisp/eshell/em-dirs.el (eshell/cd): Make "cd .." from "/" less confusing (bug#16861).
* | Ensure that the CAR of 'eshell-last-async-procs' always points to a processJim Porter2022-02-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | Previously, if a non-process was piped to a process, this could end up being nil, which isn't correct. 'eshell-last-async-procs' should just ignore non-process commands in a pipeline. * lisp/eshell/esh-cmd.el (eshell-do-pipelines): Set 'headproc' correctly. * test/lisp/eshell/eshell-tests.el (eshell-test/pipe-headproc): New test.
* | When executing an Eshell pipeline, send input to the first processJim Porter2022-02-039-48/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Ensure that tailproc is set for the last process in an Eshell pipelineJim Porter2022-02-031-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | In particular, this used to fail for pipelines where the last process in the pipeline came from the first element of the pipeline. This could happen when a process was piped to an ordinary Lisp function, like in '*echo hi | echo bye'. * lisp/eshell/esh-cmd.el (eshell-do-pipelines): Set the tailproc even for the first process in the pipeline. * test/lisp/eshell/eshell-tests.el (eshell-test/pipe-tailproc): New test.
* | Fix input of sharp-quoted symbols in Eshell with em-extpipeSean Whitton2022-01-261-3/+10
| | | | | | | | | | | | | | | | * lisp/eshell/em-extpipe.el (eshell-parse-external-pipeline): Fix misinterpreting sharp-quoted symbols as the beginning of single-quoted strings (Bug#53518). Add protection against a possible infinite loop. * test/lisp/eshell/em-extpipe-tests.el (em-extpipe-test-17): New test (bug#53518).
* | Treat "-" as a positional arg in 'eshell-eval-using-options'Jim Porter2022-01-252-10/+8
| | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-opt.el (eshell--process-args): Treat "-" as a positional arg. * lisp/eshell/em-tramp.el (eshell/su): Simplify checking for "-". * test/lisp/eshell/esh-opt-tests.el (esh-opt-test/eval-using-options-stdin): New test.
* | Don't manipulate args in-place for 'eshell-eval-using-options'Jim Porter2022-01-252-69/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is necessary for preserve the original arguments to forward on to :external commands. Previously, when :preserve-args was also set, the original argument list could be altered, changing the meaning of the command. * lisp/eshell/esh-opt.el (eshell-eval-using-options): Copy MACRO-ARGS when :preserve-args is set, and pass the original value to 'eshell--do-opts'. (eshell--do-opts): Use the original arguments when calling an external command. * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo): Don't copy the original arguments, since 'eshell-eval-using-options' does this for us. * test/lisp/eshell/esh-opt-tests.el (esh-opt-process-args-test): Split this test into... (esh-opt-test/process-args) (esh-opt-test/process-args-parse-leading-options-only) (esh-opt-test/process-args-external): ... these. (test-eshell-eval-using-options): Split this test into... (esh-opt-test/eval-using-options-short) (esh-opt-test/eval-using-options-long) (esh-opt-test/eval-using-options-constant) (esh-opt-test/eval-using-options-user-specified) (esh-opt-test/eval-using-options-short-single-token) (esh-opt-test/eval-using-options-terminate-options) (esh-opt-test/eval-using-options-parse-leading-options-only) (esh-opt-test/eval-using-options-unrecognized): ... these. (esh-opt-test/eval-using-options-external): New test. * test/lisp/eshell/em-tramp-tests.el: New tests.
* | Add Eshell syntax to more easily bypass Eshell's own pipeliningSean Whitton2022-01-242-0/+184
| | | | | | | | | | | | | | | | * etc/NEWS: * doc/misc/eshell.texi (Input/Output): Document the new syntax. * lisp/eshell/em-extpipe.el: New module (Bug#46351). * test/lisp/eshell/em-extpipe-tests.el: New tests. * lisp/eshell/esh-module.el (eshell-modules-list): Add `eshell-extpipe'.
* | Don't use 'eshell-eval-using-options' for 'eshell/source' or 'eshell/.'Jim Porter2022-01-211-16/+2
| | | | | | | | | | | | | | | | | | | | | | This makes 'source' and '.' in Eshell more compatible with regular shells, which just treat the first argument as the file to source and all subsequent arguments as arguments to that file. * lisp/eshell/em-script.el (eshell/source, eshell/.): Don't use 'eshell-eval-using-options'. * etc/NEWS: Announce the change (bug#53293)
* | Raise an error from 'eval-eval-using-options' for unknown optionsJim Porter2022-01-212-10/+15
| | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-basic.el (eshell/echo): Add -E option. * lisp/eshell/esh-opt.el (eshell--process-option): Raise an error if an unknown option is encountered, even when :external is nil. * test/lisp/eshell/esh-opt-tests.el (esh-opt-process-args-test) (test-eshell-eval-using-options): Add test cases for this.
* | Further improve determination of when commands can be invoked directlyJim Porter2022-01-211-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | This covers the case when a subcommand is to be invoked in more places than before, for example when a subcommand is concatenated in an argument. * lisp/eshell/esh-cmd.el (eshell--find-subcommands): New fuction. (eshell--invoke-command-directly): Use 'eshell-find-subcommands'. * test/lisp/eshell/eshell-tests.el (eshell-test/interp-cmd-external-concat): New test (bug#30725).
* | Consider subcommands when deciding to invoke Eshell command directlyJim Porter2022-01-201-14/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an Eshell command contains an asynchronous subcommand (such as calling an external process), it must be evaluated iteratively. See bug#30725. * lisp/eshell/esh-cmd.el (eshell-invoke-command): Move most of the logic from here... (eshell--invoke-command-directly): ... to here. Also add checks for subcommands. * test/lisp/eshell/eshell-tests.el (eshell-test--max-subprocess-time): New variable. (eshell-wait-for-subprocess): New function. (eshell-command-result-p): Use 'eshell-wait-for-subprocess'. (eshell-test/interp-cmd-external): New test (bug#30725).
* | In Eshell, allow "-n" to suppress the trailing newline for "plain" echoJim Porter2022-01-201-8/+22
| | | | | | | | | | | | | | | | | | | | | | * doc/misc/eshell.texi (Built-in commands): Expand on the documentation of echo (bug#27361). * lisp/eshell/em-basic.el (eshell-echo): Respect OUTPUT-NEWLINE even when 'eshell-plain-echo-behavior' is non-nil. (eshell/echo): Add "-N" option and recommend its use over "-n" in Lisp-friendly echo. (eshell/printnl): Simplify; 'eshell-stringify' is equivalent to calling 'eshell-echo' here.
* | Follow POSIX/GNU argument conventions for 'eshell-eval-using-options'Jim Porter2022-01-121-30/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-opt.el (eshell--split-switch): New function. (eshell-set-option): Allow setting a supplied value instead of always consuming from 'eshell--args'. (eshell--process-option): Support consuming option values specified as a single token. (eshell--process-args): For short options, pass full switch token to 'eshell--process-option'. * test/lisp/eshell/esh-opt-tests.el (esh-opt-process-args-test): Fix test. (test-eshell-eval-using-options): Add tests for various types of options. * doc/misc/eshell.texi (Defining new built-in commands): New subsection, describe how to use 'eshell-eval-using-options'. * etc/NEWS: Announce the change.
* | Merge from origin/emacs-28Eli Zaretskii2022-01-0128-28/+28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0128-28/+28
| |
* | Fix bug#52467 by adding a new custom variable 'display-comint-buffer-action'Sam Steingold2021-12-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/window.el (display-comint-buffer-action): New `defcustom`, defaults to 'display-buffer-same-window' for backward compatibility. * lisp/cmuscheme.el (run-scheme, switch-to-scheme): Pass 'display-comint-buffer-action' to 'pop-to-buffer' instead of using 'pop-to-buffer-same-window'. * lisp/eshell/eshell.el (eshell): Likewise. * lisp/shell.el (shell): Likewise. * lisp/org/ol-eshell.el (org-eshell-open): Likewise. * lisp/progmodes/inf-lisp.el (inferior-lisp): Likewise. * lisp/progmodes/project.el (project-shell, project-eshell): Likewise. * lisp/textmodes/tex-mode.el (tex-display-shell, tex-compile-default) (tex-recenter-output-buffer): Pass 'display-comint-buffer-action' to 'pop-to-buffer'.
* | Merge from origin/emacs-28Stefan Kangas2021-12-281-1/+1
|\| | | | | | | | | c0815aca18 Fix typos in in 'reset-language-environment' ea65de7577 eshell-complete-parse-arguments: don't use string-match on...
| * eshell-complete-parse-arguments: don't use string-match on a listÓscar Fuentes2021-12-271-1/+1
| | | | | | | | | | | | | | | | | | When there is more than one candidate for completion, `val' is a list. Fixes bug#52794. * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): protect use of string-match with stringp.
* | Prefer the defcustom :risky property in eshellStefan Kangas2021-12-246-19/+12
| | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-banner.el (eshell-banner-message): * lisp/eshell/em-hist.el (eshell-input-filter): * lisp/eshell/em-pred.el (eshell-predicate-alist) (eshell-modifier-alist): * lisp/eshell/esh-cmd.el (eshell-subcommand-bindings): * lisp/eshell/esh-io.el (eshell-virtual-targets): * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Prefer defcustom :risky property to setting 'risky-local-variable manually.
* | * lisp/eshell/em-hist.el (eshell-hist-match-partial): Minor doc fix.Stefan Kangas2021-12-241-2/+2
| |
* | Use defvar-keymap in eshellStefan Kangas2021-12-249-94/+74
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Respect changes in eshell-hist-match-partialStefan Kangas2021-12-241-13/+23
| | | | | | | | | | | | | | | | * lisp/eshell/em-hist.el (eshell-hist--update-keymap): New function. (eshell-hist-match-partial): Add :set property with above new function. (eshell-hist-mode-map): Update for eshell-hist-match-partial using eshell-hist--update-keymap.
* | Merge from origin/emacs-28Stefan Kangas2021-12-131-2/+2
|\| | | | | | | | | | | | | | | 9bd3f78645 Make `M-x run-python' select the window again 62139aeb42 * lisp/tab-bar.el (tab-bar-switch-to-last-tab): Add 'abs' ... ea8422204f * make-dist (manifest): Filter out msdos/autogen/* files. b5354e989d Rewrite the "Quitting Windows" section of Emacs Lisp Refer... 64ea1a178c Fix eshell for systems that do not have subprocesses
| * Fix eshell for systems that do not have subprocessesPo Lu2021-12-121-2/+2
| | | | | | | | | | * lisp/eshell/esh-cmd.el (eshell-eval-command): Use `eshell-processp' instead of `processp'.
* | eshell: Prefer octal number for file modesStefan Kangas2021-12-121-2/+2
| | | | | | | | | | * lisp/eshell/esh-util.el (eshell-private-file-modes) (eshell-private-directory-modes): Prefer octal number for file modes.
* | 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.
| * Fix issue with interpreting ANSI codes in eshellMiha Rihtaršič2021-10-251-4/+3
| | | | | | | | | | | | * lisp/eshell/esh-mode.el (eshell-mode): Make window point advance on insertion. (eshell-output-filter): Don't use insert-before-markers (bug#45380).
* | *-watch-for-password-prompt: Use run-at-time to read passwordMiha Rihtaršič2021-10-181-1/+8
|/ | | | | | | * lisp/comint.el (comint-watch-for-password-prompt): * lisp/eshell/esh-mode.el (eshell-watch-for-password-prompt): * lisp/term.el (term-watch-for-password-prompt): Use run-at-time to read a password (bug#51263).
* * etc/NEWS: Announce Eshell bookmarks.Stefan Kangas2021-09-291-2/+0
|