summaryrefslogtreecommitdiff
path: root/lisp/eshell/esh-var.el
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
|
* Use proper types for Eshell warningsJim Porter2023-01-181-3/+4
| | | | | | * lisp/eshell/esh-var.el (eshell-get-variable): * lisp/eshell/em-basic (eshell/echo): Don't use ':warning'; that's a warning level, not a warning type.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* ; Fix typosStefan Kangas2022-12-311-1/+1
|
* Improve handling of $PATH in Eshell for remote directoriesJim Porter2022-10-171-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-util.el (eshell-path-env, eshell-parse-colon-path): Make obsolete. (eshell-path-env-list): New variable. (eshell-connection-default-profile): New connection-local profile. (eshell-get-path): Reimplement using 'eshell-path-env-list'; add LITERAL-P argument. (eshell-set-path): New function. * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add entry for $PATH. (eshell-var-initialize): Add 'eshell-path-env-list' to 'eshell-subcommand-bindings'. * lisp/eshell/esh-ext.el (eshell-search-path): Use 'file-name-concat' instead of 'concat'. (eshell/addpath): Use 'eshell-get-path' and 'eshell-set-path'. * lisp/net/tramp-integration.el: Only apply Eshell hooks when 'eshell-path-env-list' is unbound. * test/lisp/eshell/esh-var-tests.el (esh-var-test/path-var/local-directory) (esh-var-test/path-var/remote-directory, esh-var-test/path-var/set) (esh-var-test/path-var/set-locally) (esh-var-test/path-var-preserve-across-hosts): New tests. * test/lisp/eshell/esh-ext-tests.el: New file. * test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell): Set 'eshell-last-dir-ring-file-name' to nil. (eshell-tests-remote-accessible-p, eshell-last-input) (eshell-last-output): New functions. (eshell-match-output, eshell-match-output--explainer): Use 'eshell-last-input' and 'eshell-last-output'. * doc/misc/eshell.texi (Variables): Document $PATH. * etc/NEWS: Announce this change (bug#57556).
* Allow setting the values of variable aliases in EshellJim Porter2022-10-171-36/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes commands like "COLUMNS=40 some-command" work as expected. * lisp/eshell/esh-cmd.el (eshell-subcommand-bindings): Remove 'process-environment' from here... * lisp/eshell/esh-var.el (eshell-var-initialize): ... and add to here, along with 'eshell-variable-aliases-list'. (eshell-inside-emacs): Convert to a 'defvar-local' to make it settable in a particular Eshell buffer. (eshell-variable-aliases-list): Make $?, $$, and $* read-only and update docstring. (eshell-set-variable): New function... (eshell-handle-local-variables, eshell/export, eshell/unset): ... use it. (eshell/set, pcomplete/eshell-mode/set): New functions. (eshell-get-variable): Get the variable alias's getter function when appropriate and use a safer method for checking function arity. * test/lisp/eshell/esh-var-tests.el (esh-var-test/set/env-var) (esh-var-test/set/symbol, esh-var-test/unset/env-var) (esh-var-test/unset/symbol, esh-var-test/setq, esh-var-test/export) (esh-var-test/local-variables, esh-var-test/alias/function) (esh-var-test/alias/function-pair, esh-var-test/alias/string) (esh-var-test/alias/string/prefer-lisp, esh-var-test/alias/symbol) (esh-var-test/alias/symbol-pair, esh-var-test/alias/export) (esh-var-test/alias/local-variables): New tests. * doc/misc/eshell.texi (Built-ins): Add 'set' and update 'unset' documentation. (Variables): Expand documentation of how to get/set variables.
* ; Obsolete 'eshell/define'Jim Porter2022-10-171-0/+5
| | | | | | | * lisp/eshell/esh-var.el (eshell/define): Make obsolete, and explain its current state. * doc/misc/eshell.texi (Built-ins): Remove 'define'.
* Allow using a symbol as an index into an alist in EshellJim Porter2022-09-141-17/+18
| | | | | | | | | * lisp/eshell/esh-var.el (eshell-index-value): If INDEX is a symbol, use 'assoc' for indexing. * test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-var-assoc) (esh-var-test/quoted-interp-var-assoc): Add checks for indexing via symbol (bug#57787).
* Kill the buffer for the temp file after using '$<command>' in EshellJim Porter2022-08-251-2/+5
| | | | | | | * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Kill the temp file's buffer when we're done. Ref: https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-08/msg01444.html
* Update `eshell-variable-aliases-list` defcustom typeMattias EngdegÄrd2022-07-161-1/+3
| | | | | * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add type for SIMPLE-FUNCTION value.
* ; * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Doc fix.Eli Zaretskii2022-07-121-11/+12
|
* Ensure Eshell variable aliases properly handle indexingJim Porter2022-07-121-30/+43
| | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-dirs.el (eshell-dirs-initialize): Properly handle indexing for variable aliases. * lisp/eshell/esh-var (eshell-variable-aliases-list): Properly handle indexing for variable aliases, and add SIMPLE-FUNCTION entry for aliases. (eshell-get-variable): Update how variable alias functions are called. * test/lisp/eshell/em-alias-tests.el (em-alias-test/alias-arg-vars-indices) (em-alias-test/alias-arg-vars-split-indices) (em-alias-test/alias-all-args-var-split-indices): * test/lisp/eshell/em-dirs-tests.el (em-dirs-test/pwd-var-indices) (em-dirs-test/oldpwd-var-indices) (em-dirs-test/directory-ring-var-indices): * test/lisp/eshell/esh-var-tests.el (esh-var-test/inside-emacs-var-split-indices) (esh-var-test/last-result-var-split-indices): New tests. (esh-var-test/last-arg-var-split-indices): Expand test to check conversion behavior inside double quotes (bug#56509).
* Allow Eshell variable aliases to point to other aliasesJim Porter2022-07-121-21/+20
| | | | | | | | | | | | | | In particular, this resolves an issue where '$+' referenced the real environment variable '$PWD' instead of the Eshell variable alias of the same name. This meant that changing directories in Eshell wouldn't update the value of '$+'. * lisp/eshell/esh-var.el (eshell-get-variable): Allow Eshell variable aliaes to point to other aliases. * test/lisp/eshell/em-dirs-tests.el (em-dirs-test/pwd-var) (em-dirs-test/short-pwd-var): Adapt tests to check this case (bug#56509).
* Improve tests/organization for built-in variablesJim Porter2022-07-121-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-dirs.el (eshell-inside-emacs) (eshell-dirs-initialize): Move 'INSIDE_EMACS' from here... * lisp/eshell/esh-var.el (eshell-inside-emacs) (eshell-variable-aliases-alist): ... to here, and improve doc string. * test/lisp/eshell/eshell-tests.el (eshell-test/inside-emacs-var): Move from here... * test/lisp/eshell/esh-var-tests.el (esh-var-test/inside-emacs-var): ... to here. (esh-var-test/last-arg-var-indices) (esh-var-test/last-arg-var-split-indices): New tests. * test/lisp/eshell/em-alias-tests.el: * test/lisp/eshell/em-dirs-tests.el: * test/lisp/eshell-em-script-tests.el: New files. * doc/misc/eshell.texi (Built-ins): Fix 'cd' documentation; it works with the directory ring, not the directory stack. Move built-in variables documentation from here... (Variables): ... to here, and add documentation for missing built-in variables.
* Account for remapped faces in $COLUMNS and $LINES in EshellJim Porter2022-06-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/window.h (window_body_unit): New enum... (window_body_width): ... use it. * src/window.c (window_body_unit_from_symbol): New function. (window_body_height, window_body_width): Make PIXELWISE a 'window_body_unit'. (window-body-height, window-body-width): Accept 'remap' for PIXELWISE. (window-lines-pixel-dimensions, window_change_record_windows) (run_window_change_functions, resize_frame_windows, grow_mini_window) (shrink_mini_window, scroll-left, scroll-right): Update calls to 'window_body_height' and 'window_body_width'. * src/indent.c (compute_motion): Update calls to 'window_body_width'. * lisp/eshell/em-ls.el (eshell-ls-find-column-widths) (eshell-ls-find-column-lengths): Use 'window-body-width'. * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Use 'window-body-width' and 'window-body-height'. * test/lisp/eshell/esh-var-tests.el (esh-var-test/window-height) (esh-var-test/window-width): Rename to... (esh-var-test/lines-var, esh-var-test/columns-var): ... and update expected value. * doc/lispref/windows.texi (Window Sizes): Document new behavior of PIXELWISE argument for 'window-body-width' and 'window-body-height'. * etc/NEWS: Announce this change (bug#55696).
* Don't split Eshell expansions by line when using split-subscript operatorJim Porter2022-06-081-7/+8
| | | | | | | | | * lisp/eshell/esh-var.el (eshell-apply-indices): Use 'eshell-convert-to-number' instead of 'eshell-convert'. * test/lisp/eshell/esh-var-tests.el (esh-var-test/interp-convert-var-split-indices): Expand test (bug#55838).
* Further audits of single quotes in Lisp doc stringsLars Ingebrigtsen2022-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/manual/etags/el-src/emacs/lisp/progmodes/etags.el (tags-apropos-additional-actions): * lisp/window.el (delete-window-choose-selected): * lisp/vc/ediff-merg.el (ediff-combination-pattern): * lisp/vc/diff.el (diff-no-select): * lisp/tab-bar.el (tab-bar-new-tab-choice): * lisp/simple.el (next-error-message-highlight): (backward-delete-char-untabify): * lisp/ses.el (ses-jump-cell-name-function): * lisp/org/org.el (org-latex-to-html-convert-command): * lisp/org/org-agenda.el (org-agenda-sorting-strategy): * lisp/net/tramp.el (tramp-default-file-modes): * lisp/net/newst-treeview.el (newsticker-treeview-use-feed-name-from-url-list-in-treeview): * lisp/net/eww.el (eww-auto-rename-buffer): * lisp/mwheel.el (mouse-wheel-scroll-amount): * lisp/mail/rmail.el (rmail-re-abbrevs): * lisp/info.el (Info-history-forward-menu): * lisp/gnus/nnselect.el (nnselect-retrieve-headers-override-function): * lisp/gnus/gnus-start.el (gnus-subscribe-hierarchical-interactive): * lisp/fringe.el (fboundp): * lisp/eshell/esh-var.el (eshell-variable-aliases-list): * lisp/emacs-lisp/checkdoc.el (checkdoc-column-zero-backslash-before-paren): * lisp/dired-aux.el (dired-confirm-shell-command): * lisp/calendar/calendar.el (calendar-time-zone-style): * lisp/ansi-color.el (ansi-color-faces-vector): (ansi-color-names-vector): Audit use of various single quotes in Lisp doc strings.
* Eshell variable expansion should always return strings inside quotesJim Porter2022-05-031-20/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is closer in behavior to regular shells, and gives Eshell users greater flexibility in how variables are expanded. * lisp/eshell/esh-util.el (eshell-convert): Add TO-STRING argument. * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Add MODIFIER-P argument and adjust how 'eshell-convert' and 'eshell-apply-indices' are called. (eshell-get-variable, eshell-apply-indices): Add QUOTED argument. * test/lisp/eshell/esh-var-tests.el (eshell-test-value): New defvar. (esh-var-test/interp-convert-var-number) (esh-var-test/interp-convert-var-split-indices) (esh-var-test/interp-convert-quoted-var-number) (esh-var-test/interp-convert-quoted-var-split-indices) (esh-var-test/interp-convert-cmd-string-newline) (esh-var-test/interp-convert-cmd-multiline) (esh-var-test/interp-convert-cmd-number) (esh-var-test/interp-convert-cmd-split-indices) (esh-var-test/quoted-interp-convert-var-number) (esh-var-test/quoted-interp-convert-var-split-indices) (esh-var-test/quoted-interp-convert-quoted-var-number) (esh-var-test/quoted-interp-convert-quoted-var-split-indices) (esh-var-test/quoted-interp-convert-cmd-string-newline) (esh-var-test/quoted-interp-convert-cmd-multiline) (esh-var-test/quoted-interp-convert-cmd-number) (esh-var-test/quoted-interp-convert-cmd-split-indices): New tests. * doc/misc/eshell.texi (Arguments): Expand this section, and document the new behavior. (Dollars Expansion): Provide more detail about '$(lisp)' and '${command}' forms. * etc/NEWS (Eshell): Announce this change (bug#55236).
* Audit quoting the quote character in doc stringsLars Ingebrigtsen2022-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/src/regex-emacs-tests.el (regex-tests-compare): (regex-tests-compare): (regex-tests-match): * test/lisp/xml-tests.el (xml-parse-tests--qnames): * test/lisp/mh-e/mh-thread-tests.el (mh-thread-tests-before-from): * test/lisp/cedet/srecode-utest-template.el (srecode-utest-map-reset): * test/lisp/calc/calc-tests.el (calc-tests-equal): * lisp/window.el (get-lru-window): (get-mru-window): (get-largest-window): (quit-restore-window): (display-buffer): * lisp/vc/vc-rcs.el (vc-rcs-consult-headers): * lisp/url/url-auth.el (url-digest-auth-build-response): * lisp/tutorial.el (tutorial--find-changed-keys): * lisp/transient.el (transient-suffix-object): * lisp/textmodes/rst.el (rst-insert-list-new-item): * lisp/textmodes/bibtex.el (bibtex-clean-entry): * lisp/tab-bar.el (tab-bar--key-to-number): (toggle-frame-tab-bar): * lisp/ses.el (ses-recalculate-cell): (ses-define-local-printer): (ses-prin1): * lisp/progmodes/xref.el (xref--find-ignores-arguments): * lisp/progmodes/verilog-mode.el (verilog-single-declaration-end): * lisp/progmodes/tcl.el (tcl-mode-hook): * lisp/progmodes/gdb-mi.el (gdb-get-buffer-create): * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref): * lisp/play/dunnet.el (dun-room-objects): * lisp/outline.el (outline--cycle-state): * lisp/org/ox-publish.el (org-publish-find-property): * lisp/org/ox-html.el (org-html--unlabel-latex-environment): * lisp/org/org-table.el (org-table-collapse-header): * lisp/org/org-plot.el (org--plot/prime-factors): * lisp/org/org-agenda.el (org-agenda--mark-blocked-entry): (org-agenda-set-restriction-lock): * lisp/org/ob-lua.el (org-babel-lua-read-string): * lisp/org/ob-julia.el (org-babel-julia-evaluate-external-process): (org-babel-julia-evaluate-session): * lisp/org/ob-core.el (org-babel-default-header-args): * lisp/obsolete/mouse-sel.el (mouse-select): (mouse-select-secondary): * lisp/net/tramp.el (tramp-methods): * lisp/net/eww.el (eww-accept-content-types): * lisp/net/dictionary-connection.el (dictionary-connection-status): * lisp/minibuffer.el (completion-flex--make-flex-pattern): * lisp/mh-e/mh-mime.el (mh-have-file-command): * lisp/mh-e/mh-limit.el (mh-subject-to-sequence): (mh-subject-to-sequence-threaded): (mh-subject-to-sequence-unthreaded): * lisp/mail/feedmail.el (feedmail-queue-buffer-file-name): (feedmail-vm-mail-mode): * lisp/ls-lisp.el (ls-lisp--sanitize-switches): * lisp/keymap.el (key-valid-p): * lisp/international/ccl.el (ccl-compile-branch-blocks): * lisp/image/image-converter.el (image-convert): * lisp/gnus/spam.el (spam-backend-check): * lisp/gnus/nnselect.el (nnselect-generate-artlist): * lisp/gnus/nnmairix.el (nnmairix-widget-other): * lisp/gnus/message.el (message-mailto): * lisp/gnus/gnus-sum.el (gnus-collect-urls-from-article): * lisp/gnus/gnus-search.el (gnus-search-prepare-query): * lisp/frame.el (frame-size-history): * lisp/eshell/esh-var.el (eshell-parse-variable-ref): * lisp/eshell/em-dirs.el (eshell-expand-multiple-dots): * lisp/erc/erc-backend.el (erc-bounds-of-word-at-point): * lisp/emulation/cua-rect.el (cua--rectangle-operation): * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): * lisp/emacs-lisp/package.el (package-desc-suffix): * lisp/emacs-lisp/faceup.el (faceup-test-explain): * lisp/emacs-lisp/comp.el (comp-curr-allocation-class): (comp-alloc-class-to-container): (comp-add-cstrs): (comp-remove-type-hints-func): (batch-byte+native-compile): * lisp/emacs-lisp/cl-macs.el (cl--optimize): * lisp/elec-pair.el (electric-pair--syntax-ppss): * lisp/doc-view.el (doc-view-doc-type): * lisp/cedet/semantic/symref.el (semantic-symref-tool-alist): (semantic-symref-hit-to-tag-via-db): (semantic-symref-hit-to-tag-via-buffer): * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-get-overlay): * lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map): * lisp/cedet/semantic/find.el (semantic-brute-find-tag-by-function): * lisp/cedet/semantic/db.el (semanticdb-project-predicate-functions): * lisp/cedet/semantic.el (semantic-working-type): * lisp/cedet/ede/files.el (ede-flush-directory-hash): * lisp/calc/calc.el (calc--header-line): * lisp/auth-source.el (auth-source-pick-first-password): (auth-source--decode-octal-string): * etc/themes/modus-themes.el (modus-themes--paren): (modus-themes--agenda-habit): * admin/cus-test.el (cus-test-vars-with-changed-state): Fix quoting in doc strings. In code examples, the ' character is quoted with \\=, and regularize 'foo to `foo', and quote strings like "foo" instead of 'foo'.
* 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-081-6/+8
| | | | | | | | | | | | | | | | * 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-031-9/+18
| | | | | | | | | | | | | | | | | | | | | | | 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.
* 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.
* | 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
| |
* | Prefer the defcustom :risky property in eshellStefan Kangas2021-12-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | * 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.
* | Use defvar-keymap in eshellStefan Kangas2021-12-241-4/+2
|/ | | | | | | | | | | | * 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.
* ; Stylistic docfixes in eshell/*.el found by checkdocStefan Kangas2021-09-191-1/+1
|
* Use string-search instead of string-match[-p]Mattias EngdegÄrd2021-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `string-search` is easier to understand, less error-prone, much faster, does not pollute the regexp cache, and does not mutate global state. Use it where applicable and obviously safe (erring on the conservative side). * admin/authors.el (authors-canonical-file-name) (authors-scan-change-log): * lisp/apropos.el (apropos-command) (apropos-documentation-property, apropos-symbols-internal): * lisp/arc-mode.el (archive-arc-summarize) (archive-zoo-summarize): * lisp/calc/calc-aent.el (math-read-factor): * lisp/calc/calc-ext.el (math-read-big-expr) (math-format-nice-expr, math-format-number-fancy): * lisp/calc/calc-forms.el (math-read-angle-brackets): * lisp/calc/calc-graph.el (calc-graph-set-range): * lisp/calc/calc-keypd.el (calc-keypad-press): * lisp/calc/calc-lang.el (tex, latex, math-read-big-rec): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-user-define-permanent, math-define-exp): * lisp/calc/calc.el (calc-record, calcDigit-key) (calc-count-lines): * lisp/calc/calcalg2.el (calc-solve-for, calc-poly-roots) (math-do-integral): * lisp/calc/calcalg3.el (calc-find-root, calc-find-minimum) (calc-get-fit-variables): * lisp/cedet/ede/speedbar.el (ede-tag-expand): * lisp/cedet/semantic/java.el (semantic-java-expand-tag): * lisp/cedet/semantic/sb.el (semantic-sb-show-extra) (semantic-sb-expand-group): * lisp/cedet/semantic/wisent/python.el (semantic-python-instance-variable-p): * lisp/cus-edit.el (get): * lisp/descr-text.el (describe-text-sexp): * lisp/dired-aux.el (dired-compress-file): * lisp/dired-x.el (dired-make-relative-symlink): * lisp/dired.el (dired-glob-regexp): * lisp/dos-fns.el (dos-convert-standard-filename, dos-8+3-filename): * lisp/edmacro.el (edmacro-format-keys): * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand): * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand): * lisp/emacs-lisp/lisp-mnt.el (lm-keywords-list): * lisp/emacs-lisp/warnings.el (display-warning): * lisp/emulation/viper-ex.el (viper-ex-read-file-name) (ex-print-display-lines): * lisp/env.el (read-envvar-name, setenv): * lisp/epa-mail.el (epa-mail-encrypt): * lisp/epg.el (epg--start): * lisp/erc/erc-backend.el (erc-parse-server-response): * lisp/erc/erc-dcc.el (erc-dcc-member): * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) (erc-speedbar-expand-channel, erc-speedbar-expand-user): * lisp/erc/erc.el (erc-send-input): * lisp/eshell/em-glob.el (eshell-glob-entries): * lisp/eshell/esh-proc.el (eshell-needs-pipe-p): * lisp/eshell/esh-util.el (eshell-convert): * lisp/eshell/esh-var.el (eshell-envvar-names): * lisp/faces.el (x-resolve-font-name): * lisp/ffap.el (ffap-file-at-point): * lisp/files.el (wildcard-to-regexp, shell-quote-wildcard-pattern): * lisp/forms.el (forms--update): * lisp/frameset.el (frameset-filter-unshelve-param): * lisp/gnus/gnus-art.el (article-decode-charset): * lisp/gnus/gnus-kill.el (gnus-kill-parse-rn-kill-file): * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): * lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc) (gnus-inews-insert-gcc): * lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body): * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output) (gnus-search--complete-key-data): * lisp/gnus/gnus-spec.el (gnus-parse-simple-format): * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): * lisp/gnus/gnus-util.el (gnus-extract-address-components) (gnus-newsgroup-directory-form): * lisp/gnus/gnus-uu.el (gnus-uu-grab-view): * lisp/gnus/gnus.el (gnus-group-native-p, gnus-short-group-name): * lisp/gnus/message.el (message-check-news-header-syntax) (message-make-message-id, message-user-mail-address) (message-make-fqdn, message-get-reply-headers, message-followup): * lisp/gnus/mm-decode.el (mm-dissect-buffer): * lisp/gnus/nnheader.el (nnheader-insert): * lisp/gnus/nnimap.el (nnimap-process-quirk) (nnimap-imap-ranges-to-gnus-ranges): * lisp/gnus/nnmaildir.el (nnmaildir--ensure-suffix): * lisp/gnus/nnmairix.el (nnmairix-determine-original-group-from-path): * lisp/gnus/nnrss.el (nnrss-match-macro): * lisp/gnus/nntp.el (nntp-find-group-and-number): * lisp/help-fns.el (help--symbol-completion-table-affixation): * lisp/help.el (help-function-arglist): * lisp/hippie-exp.el (he-concat-directory-file-name): * lisp/htmlfontify.el (hfy-relstub): * lisp/ido.el (ido-make-prompt, ido-complete, ido-copy-current-word) (ido-exhibit): * lisp/image/image-converter.el (image-convert-p): * lisp/info-xref.el (info-xref-docstrings): * lisp/info.el (Info-toc-build, Info-follow-reference) (Info-backward-node, Info-finder-find-node) (Info-speedbar-expand-node): * lisp/international/mule-diag.el (print-fontset-element): * lisp/language/korea-util.el (default-korean-keyboard): * lisp/linum.el (linum-after-change): * lisp/mail/ietf-drums.el (ietf-drums-parse-address): * lisp/mail/mail-utils.el (mail-dont-reply-to): * lisp/mail/rfc2047.el (rfc2047-encode-1, rfc2047-decode-string): * lisp/mail/rfc2231.el (rfc2231-parse-string): * lisp/mail/rmailkwd.el (rmail-set-label): * lisp/mail/rmailsum.el (rmail-header-summary): * lisp/mail/smtpmail.el (smtpmail-maybe-append-domain) (smtpmail-user-mail-address): * lisp/mail/uce.el (uce-reply-to-uce): * lisp/man.el (Man-default-man-entry): * lisp/mh-e/mh-alias.el (mh-alias-gecos-name) (mh-alias-minibuffer-confirm-address): * lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): * lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output): * lisp/mh-e/mh-utils.el (mh-collect-folder-names-filter) (mh-folder-completion-function): * lisp/minibuffer.el (completion--make-envvar-table) (completion-file-name-table, completion-flex-try-completion) (completion-flex-all-completions): * lisp/mpc.el (mpc--proc-quote-string, mpc-cmd-special-tag-p) (mpc-constraints-tag-lookup): * lisp/net/ange-ftp.el (ange-ftp-send-cmd) (ange-ftp-allow-child-lookup): * lisp/net/mailcap.el (mailcap-mime-types): * lisp/net/mairix.el (mairix-search-thread-this-article): * lisp/net/pop3.el (pop3-open-server): * lisp/net/soap-client.el (soap-decode-xs-complex-type): * lisp/net/socks.el (socks-filter): * lisp/nxml/nxml-outln.el (nxml-highlighted-qname): * lisp/nxml/rng-cmpct.el (rng-c-expand-name, rng-c-expand-datatype): * lisp/nxml/rng-uri.el (rng-uri-file-name-1): * lisp/obsolete/complete.el (partial-completion-mode) (PC-do-completion): * lisp/obsolete/longlines.el (longlines-encode-string): * lisp/obsolete/nnir.el (nnir-compose-result): * lisp/obsolete/terminal.el (te-quote-arg-for-sh): * lisp/obsolete/tpu-edt.el (tpu-check-search-case): * lisp/obsolete/url-ns.el (isPlainHostName): * lisp/pcmpl-unix.el (pcomplete/scp): * lisp/play/dunnet.el (dun-listify-string2, dun-get-path) (dun-unix-parse, dun-doassign, dun-cat, dun-batch-unix-interface): * lisp/progmodes/ebnf2ps.el: (ebnf-eps-header-footer-comment): * lisp/progmodes/gdb-mi.el (gdb-var-delete) (gdb-speedbar-expand-node, gdbmi-bnf-incomplete-record-result): * lisp/progmodes/gud.el (gud-find-expr): * lisp/progmodes/idlw-help.el (idlwave-do-context-help1): * lisp/progmodes/idlw-shell.el (idlwave-shell-mode) (idlwave-shell-filter-hidden-output, idlwave-shell-filter): * lisp/progmodes/idlwave.el (idlwave-skip-label-or-case) (idlwave-routine-info): * lisp/progmodes/octave.el (inferior-octave-completion-at-point): * lisp/progmodes/sh-script.el (sh-add-completer): * lisp/progmodes/sql.el (defun): * lisp/progmodes/xscheme.el (xscheme-process-filter): * lisp/replace.el (query-replace-compile-replacement) (map-query-replace-regexp): * lisp/shell.el (shell--command-completion-data) (shell-environment-variable-completion): * lisp/simple.el (display-message-or-buffer): * lisp/speedbar.el (speedbar-dired, speedbar-tag-file) (speedbar-tag-expand): * lisp/subr.el (split-string-and-unquote): * lisp/tar-mode.el (tar-extract): * lisp/term.el (term-command-hook, serial-read-name): * lisp/textmodes/bibtex.el (bibtex-print-help-message): * lisp/textmodes/ispell.el (ispell-lookup-words, ispell-filter) (ispell-parse-output, ispell-buffer-local-parsing): * lisp/textmodes/reftex-cite.el (reftex-do-citation): * lisp/textmodes/reftex-parse.el (reftex-notice-new): * lisp/textmodes/reftex-ref.el (reftex-show-entry): * lisp/textmodes/reftex.el (reftex-compile-variables): * lisp/textmodes/tex-mode.el (tex-send-command) (tex-start-tex, tex-append): * lisp/thingatpt.el (thing-at-point-url-at-point): * lisp/tmm.el (tmm-add-one-shortcut): * lisp/transient.el (transient-format-key): * lisp/url/url-auth.el (url-basic-auth) (url-digest-auth-directory-id-assoc): * lisp/url/url-news.el (url-news): * lisp/url/url-util.el (url-parse-query-string): * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): * lisp/wid-browse.el (widget-browse-sexp): * lisp/woman.el (woman-parse-colon-path, woman-mini-help) (WoMan-getpage-in-background, woman-negative-vertical-space): * lisp/xml.el: * test/lisp/emacs-lisp/check-declare-tests.el (check-declare-tests-warn): * test/lisp/files-tests.el (files-tests-file-name-non-special-dired-compress-handler): * test/lisp/net/network-stream-tests.el (server-process-filter): * test/src/coding-tests.el (ert-test-unibyte-buffer-dos-eol-decode): Use `string-search` instead of `string-match` and `string-match-p`.
* Use `declare` instead of `def-edebug-spec` in most placesStefan Monnier2021-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/speedbar.el: Use lexical-binding. (speedbar-with-writable): Use `declare`. * lisp/subr.el (def-edebug-spec): Use `declare`. * lisp/cedet/ede/base.el: Use lexical-binding. (ede-with-projectfile): Use `declare`. (recentf-exclude): Declare var. * lisp/cedet/ede/pmake.el: Use lexical-binding. (ede-pmake-insert-variable-shared, ede-pmake-insert-variable-once): Use `declare`. * lisp/cedet/ede/proj-comp.el: Use lexical-binding. (ede-compiler-begin-unique, ede-compiler-only-once) (ede-linker-begin-unique, ede-linker-only-once): Use `declare`. * lisp/cedet/semantic/ctxt.el: Use lexical-binding. (semantic-with-buffer-narrowed-to-context) (semantic-with-buffer-narrowed-to-command): Use `declare`. (semantic--progress-reporter): Declare var. (semantic-ctxt-end-of-symbol-default): Remove unused var `fieldsep`. * lisp/cedet/semantic/lex-spp.el: Use lexical-binding. (define-lex-spp-macro-declaration-analyzer) (define-lex-spp-include-analyzer, semantic-lex-with-macro-used) (define-lex-spp-macro-undeclaration-analyzer): Use `declare`. (semantic-lex-spp-symbol-remove): Rename arg to avoid colliding with dynamic variable `obarray`. (semantic-lex-spp-symbol-pop): Remove unused var `oldvalue`. (semantic-lex-spp-lex-text-string): Remove unused var `analyzer`. * lisp/cedet/semantic/lex.el (define-lex) (semantic-lex-unterminated-syntax-protection, define-lex-analyzer) (define-lex-regex-analyzer, define-lex-block-analyzer) (semantic-lex-catch-errors): Use `declare`. * lisp/cedet/semantic/tag.el: Use lexical-binding. (semantic-with-buffer-narrowed-to-current-tag) (semantic-with-buffer-narrowed-to-tag): Use `declare`. * lisp/cedet/semantic/wisent.el: Use lexical-binding. (define-wisent-lexer): Use `declare`. * lisp/emacs-lisp/cl-lib.el (cl-pushnew): The arg to :test can be any form not just function form. * lisp/org/ob-comint.el (org-babel-comint-in-buffer) (org-babel-comint-with-output): Use `declare`. * lisp/org/ob-core.el (org-babel-map-src-blocks): Use `declare`. (org-babel-result-cond): Simplify edebug spec. * lisp/org/org-clock.el (org-with-clock-position, org-with-clock): * lisp/org/org-agenda.el (org-agenda-with-point-at-orig-entry): * lisp/org/ob-tangle.el (org-babel-with-temp-filebuffer): Use `declare`. * lisp/textmodes/rst.el (push): Remove redundant edebug spec. * lisp/vc/pcvs-parse.el: Use lexical-binding. (cvs-parse-buffer): Rename arg to avoid dynbound conflict. (cvs-or): Use `declare`.
* Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* Prefer setq-local in eshellStefan Kangas2020-12-041-4/+3
| | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-cmpl.el (eshell-cmpl-initialize): * lisp/eshell/em-dirs.el (eshell-dirs-initialize): * lisp/eshell/em-glob.el (eshell-glob-initialize, eshell-glob-regexp): * lisp/eshell/em-hist.el (eshell-hist-initialize): * lisp/eshell/em-prompt.el (eshell-prompt-initialize): * lisp/eshell/em-rebind.el (eshell-rebind-initialize) (eshell-setup-input-keymap): * lisp/eshell/em-script.el (eshell-script-initialize): * lisp/eshell/em-smart.el (eshell-smart-initialize): * lisp/eshell/em-term.el (eshell-term-initialize, eshell-exec-visual): * lisp/eshell/em-tramp.el (eshell-tramp-initialize): * lisp/eshell/em-unix.el (eshell-unix-initialize, eshell/diff): * lisp/eshell/esh-arg.el (eshell-arg-initialize): * lisp/eshell/esh-cmd.el (eshell-cmd-initialize): * lisp/eshell/esh-io.el (eshell-get-target): * lisp/eshell/esh-mode.el (eshell-mode): * lisp/eshell/esh-var.el (eshell-var-initialize): Prefer setq-local.
* Remove redundant requires of envStefan Kangas2020-12-021-1/+0
| | | | | | * lisp/eshell/esh-var.el: * lisp/man.el: Don't require 'env'; it is preloaded since version 20.1.
* Don't quote lambdas in eshell/*.elStefan Kangas2020-11-161-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/em-basic.el (eshell-echo): * lisp/eshell/em-cmpl.el (eshell-command-completion-function) (eshell-default-completion-function, eshell-cmpl-initialize) (eshell-complete-parse-arguments, eshell-complete-commands-list): * lisp/eshell/em-dirs.el (eshell-complete-user-reference): * lisp/eshell/em-hist.el (eshell-hist-unload-hook) (eshell-hist-initialize): * lisp/eshell/em-ls.el (eshell-ls-sort-entries): * lisp/eshell/em-pred.el (eshell-modifier-alist) (eshell-display-predicate-help, eshell-display-modifier-help) (eshell-pred-substitute, eshell-split-members): * lisp/eshell/em-prompt.el (eshell-prompt-function): * lisp/eshell/em-smart.el (eshell-smart-unload-hook) (eshell-smart-initialize, eshell-refresh-windows): * lisp/eshell/em-unix.el (eshell-shuffle-files): * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): * lisp/eshell/esh-cmd.el (eshell-cmd-initialize) (eshell-parse-command): * lisp/eshell/esh-mode.el (eshell-preinput-scroll-to-bottom) (eshell-postoutput-scroll-to-bottom): * lisp/eshell/esh-module.el (eshell-modules-list): * lisp/eshell/esh-proc.el (eshell-read-process-name) (eshell-round-robin-kill): * lisp/eshell/esh-var.el (eshell-envvar-names) (eshell-variables-list): Don't quote lambdas.
* Don't quote lambdas in several placesStefan Kangas2020-10-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/find-gc.el (find-gc-unsafe): * lisp/align.el (align-rules-list): * lisp/comint.el (comint-arguments): * lisp/double.el (isearch-mode-map): * lisp/ehelp.el (electric-help-command-loop): * lisp/emacs-lisp/cl-macs.el (cl-defstruct): * lisp/emulation/cua-rect.el (cua--copy-rectangle-as-kill) (cua-copy-rectangle-as-text): * lisp/eshell/esh-var.el (eshell-parse-variable-ref): * lisp/hexl.el (hexl-insert-multibyte-char): * lisp/international/titdic-cnv.el (tsang-quick-converter) (ziranma-converter): * lisp/language/tibet-util.el (tibetan-decompose-precomposition-alist): * lisp/mail/mailalias.el (mail-get-names): * lisp/mh-e/mh-e.el (mh-auto-fields-list, mh-identity-default): * lisp/mouse.el (mouse-buffer-menu-map, mouse-buffer-menu-alist): * lisp/play/gametree.el (gametree-make-heading-function): * lisp/shell.el (shell--command-completion-data): * lisp/talk.el (talk-update-buffers): * lisp/tempo.el (tempo-insert-template, tempo-is-user-element) (tempo-build-collection): * lisp/term.el (term-input-filter, term-pager-help): * lisp/textmodes/table.el (table-delete-column): * lisp/url/url-cache.el (url-cache-create-filename-human-readable): * lisp/textmodes/tex-mode.el (latex-imenu-create-index): Don't quote lambdas.
* ; * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Fix wording.Eli Zaretskii2020-04-111-1/+1
|
* Reword documentation for eshell-variable-aliases-listFederico Tedin2020-04-111-15/+15
| | | | | * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Update documentation string to avoid passive tense.
* Copy INSIDE_EMACS env variable to subprocesses in Eshell (Bug#25496)Federico Tedin2020-04-021-5/+18
| | | | | | | | | | | | * lisp/eshell/em-dirs.el (eshell-dirs-initialize): Add INSIDE_EMACS variable to buffer-local value of eshell-variable-aliases-alist. (eshell-inside-emacs): Add new constant used for INSIDE_EMACS. * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Update doc string; remove mention of eshell-user-aliases-list and explain that variables can optionally be copied to subprocesses' environments. * test/lisp/eshell/eshell-tests.el (eshell-test/inside-emacs-var): Add test for the INSIDE_EMACS variable. * etc/NEWS: Announce changes.
* Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Fix eshell-mode-map initializationAlex Branham2019-08-151-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-mode.el (eshell-mode-map, eshell-command-map): Set up normal keymaps and prefix commands rather than re-initializing them in each eshell buffer * lisp/eshell/em-cmpl.el (eshell-cmpl-mode-map, eshell-cmpl-mode) (eshell-cmpl-initialize): * lisp/eshell/em-hist.el (eshell-hist-mode-map, eshell-hist-mode) (eshell-hist-initialize): * lisp/eshell/em-pred.el (eshell-pred-mode-map, eshell-pred-mode) (eshell-pred-initialize): * lisp/eshell/em-prompt.el (eshell-prompt-mode-map, eshell-prompt-mode) (eshell-prompt-initialize): * lisp/eshell/em-rebind.el (eshell-rebind-mode-map, eshell-rebind-mode) (eshell-rebind-initialize): * lisp/eshell/esh-arg.el (eshell-arg-mode-map, eshell-arg-mode) (eshell-arg-initialize): * lisp/eshell/esh-proc.el (eshell-proc-mode-map, eshell-proc-mode) (eshell-proc-initialize): * lisp/eshell/esh-var.el (eshell-var-mode-map, eshell-var-mode) (eshell-var-initialize): Create a new minor mode with a keymap and call it in the module initialization function. bug#33808 bug#22792
* Fix up Eshell 'require's after previous dependency reshuffle.Stefan Monnier2019-04-091-1/+1
| | | | | | | | | | | | | * lisp/eshell/em-unix.el: * lisp/eshell/em-script.el: * lisp/eshell/em-pred.el: * lisp/eshell/em-dirs.el: * lisp/eshell/em-alias.el: Fix up 'require's to silence byte-compiler. * lisp/eshell/esh-util.el (eshell-read-hosts-file): Don't limit number of entries per line. Preserve the structure. (eshell-read-hosts): Adjust accordingly.
* Eshell: Try to untangle the dependencies; move 'provide's to the endStefan Monnier2019-04-081-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/eshell/esh-arg.el: Move defsubst and vars before first use. Don't require `esh-mode but esh-util instead. * lisp/eshell/esh-cmd.el: Require esh-module and esh-io. * lisp/eshell/esh-ext.el: Don't require esh-proc nor esh-cmd. (eshell-external-command): Require esh-proc for eshell-gather-process-output. * lisp/eshell/esh-mode.el: Don't require esh-io nor esh-var, but require esh-arg. (eshell-directory-name): Move from eshell.el. * lisp/eshell/esh-module.el: Don't require eshell. * lisp/eshell/esh-opt.el: Don't require esh-ext at top-level. (eshell--do-opts, eshell-show-usage): Require it here instead. * lisp/eshell/esh-proc.el: Don't require esh-cmd, but require esh-io. (eshell-reset-after-proc, eshell-record-process-object) (eshell-gather-process-output, eshell-send-eof-to-process): Require esh-mode and esh-var here. * lisp/eshell/esh-var.el: Require esh-module, esh-arg, and esh-io. * lisp/eshell/eshell.el: Require esh-module, esh-proc, esh-io, and esh-cmd. But don't require esh-mode. (eshell-directory-name): Move to esh-mode. (eshell-return-exits-minibuffer): Don't bind 'return' and 'M-return' since we already bind RET and M-RET.
* Eshell: Mostly cosmetic changes to be more explicit about dynbindStefan Monnier2019-03-201-61/+49
| | | | | | | | | | | | | | | | | * lisp/eshell/em-dirs.el (eshell-dirs-initialize): Reveal the lambdas. (eshell-expand-multiple-dots): Fix ^+$ => \`+\' in the regexp. * lisp/eshell/esh-cmd.el (eshell-this-command-hook): Declare as dynamically scoped. (eshell-trap-errors): Use `mapc funcall` since this can't have global/local settings like a true hook. (eshell-do-eval): Split the `let` case from the rest so we can use `cl-progv` rather than `eval` for it. (eshell/which): Use `fboundp` test instead of ugly gymnastics to try and hide the function call from the compiler. * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Reveal the lambdas. (eshell-parse-variable-ref): Use backquotes.
* Merge from origin/emacs-26Paul Eggert2018-12-311-1/+1
|\ | | | | | | | | | | 2fcf2df Fix copyright years by hand 26bed8b Update copyright year to 2019 2814292 Fix value of default frame height. (Bug#33921)
| * Update copyright year to 2019Paul Eggert2019-01-011-1/+1
| | | | | | | | Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
* | eshell-eval-using-options: Avoid compiler warning differentlyStefan Monnier2018-03-101-1/+0
| | | | | | | | | | | | | | | | | | * lisp/eshell/em-unix.el (eshell/time): * lisp/eshell/em-tramp.el (eshell/sudo): * lisp/eshell/esh-var.el (eshell/env): Remove artificial use of `args'. * lisp/eshell/esh-opt.el (eshell-eval-using-options): Silence warning when `args' is not used by `body-forms'.