summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2020-12-04 10:55:50 +0100
committerStefan Kangas <stefan@marxist.se>2020-12-04 10:55:56 +0100
commit78cdf4c7627e0ce857bb6c6ebbca183e18762c21 (patch)
treece125a31fb64908805310a83ed0dedcd6395c425
parentf365eb2e055c05e8dbd76aca6b6d10b0a888d5da (diff)
downloademacs-78cdf4c7627e0ce857bb6c6ebbca183e18762c21.tar.gz
Prefer setq-local in eshell
* 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.
-rw-r--r--lisp/eshell/em-cmpl.el72
-rw-r--r--lisp/eshell/em-dirs.el6
-rw-r--r--lisp/eshell/em-glob.el4
-rw-r--r--lisp/eshell/em-hist.el11
-rw-r--r--lisp/eshell/em-prompt.el5
-rw-r--r--lisp/eshell/em-rebind.el5
-rw-r--r--lisp/eshell/em-script.el6
-rw-r--r--lisp/eshell/em-smart.el6
-rw-r--r--lisp/eshell/em-term.el8
-rw-r--r--lisp/eshell/em-tramp.el7
-rw-r--r--lisp/eshell/em-unix.el5
-rw-r--r--lisp/eshell/esh-arg.el4
-rw-r--r--lisp/eshell/esh-cmd.el12
-rw-r--r--lisp/eshell/esh-io.el4
-rw-r--r--lisp/eshell/esh-mode.el35
-rw-r--r--lisp/eshell/esh-var.el7
16 files changed, 90 insertions, 107 deletions
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index 53a0cda354e..d0d7aff7720 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -267,48 +267,48 @@ to writing a completion function."
(defun eshell-cmpl-initialize () ;Called from `eshell-mode' via intern-soft!
"Initialize the completions module."
- (set (make-local-variable 'pcomplete-command-completion-function)
- eshell-command-completion-function)
- (set (make-local-variable 'pcomplete-command-name-function)
- eshell-cmpl-command-name-function)
- (set (make-local-variable 'pcomplete-default-completion-function)
- eshell-default-completion-function)
- (set (make-local-variable 'pcomplete-parse-arguments-function)
- 'eshell-complete-parse-arguments)
- (set (make-local-variable 'pcomplete-file-ignore)
- eshell-cmpl-file-ignore)
- (set (make-local-variable 'pcomplete-dir-ignore)
- eshell-cmpl-dir-ignore)
- (set (make-local-variable 'pcomplete-ignore-case)
- eshell-cmpl-ignore-case)
- (set (make-local-variable 'pcomplete-autolist)
- eshell-cmpl-autolist)
+ (setq-local pcomplete-command-completion-function
+ eshell-command-completion-function)
+ (setq-local pcomplete-command-name-function
+ eshell-cmpl-command-name-function)
+ (setq-local pcomplete-default-completion-function
+ eshell-default-completion-function)
+ (setq-local pcomplete-parse-arguments-function
+ 'eshell-complete-parse-arguments)
+ (setq-local pcomplete-file-ignore
+ eshell-cmpl-file-ignore)
+ (setq-local pcomplete-dir-ignore
+ eshell-cmpl-dir-ignore)
+ (setq-local pcomplete-ignore-case
+ eshell-cmpl-ignore-case)
+ (setq-local pcomplete-autolist
+ eshell-cmpl-autolist)
(if (boundp 'pcomplete-suffix-list)
- (set (make-local-variable 'pcomplete-suffix-list)
- eshell-cmpl-suffix-list))
- (set (make-local-variable 'pcomplete-recexact)
- eshell-cmpl-recexact)
- (set (make-local-variable 'pcomplete-man-function)
- eshell-cmpl-man-function)
- (set (make-local-variable 'pcomplete-compare-entry-function)
- eshell-cmpl-compare-entry-function)
- (set (make-local-variable 'pcomplete-expand-before-complete)
- eshell-cmpl-expand-before-complete)
- (set (make-local-variable 'pcomplete-cycle-completions)
- eshell-cmpl-cycle-completions)
- (set (make-local-variable 'pcomplete-cycle-cutoff-length)
- eshell-cmpl-cycle-cutoff-length)
- (set (make-local-variable 'pcomplete-restore-window-delay)
- eshell-cmpl-restore-window-delay)
- (set (make-local-variable 'pcomplete-use-paring)
- eshell-cmpl-use-paring)
+ (setq-local pcomplete-suffix-list
+ eshell-cmpl-suffix-list))
+ (setq-local pcomplete-recexact
+ eshell-cmpl-recexact)
+ (setq-local pcomplete-man-function
+ eshell-cmpl-man-function)
+ (setq-local pcomplete-compare-entry-function
+ eshell-cmpl-compare-entry-function)
+ (setq-local pcomplete-expand-before-complete
+ eshell-cmpl-expand-before-complete)
+ (setq-local pcomplete-cycle-completions
+ eshell-cmpl-cycle-completions)
+ (setq-local pcomplete-cycle-cutoff-length
+ eshell-cmpl-cycle-cutoff-length)
+ (setq-local pcomplete-restore-window-delay
+ eshell-cmpl-restore-window-delay)
+ (setq-local pcomplete-use-paring
+ eshell-cmpl-use-paring)
;; `comint-file-name-quote-list' should only be set after all the
;; load-hooks for any other extension modules have been run, which
;; is true at the time `eshell-mode-hook' is run
(add-hook 'eshell-mode-hook
(lambda ()
- (set (make-local-variable 'comint-file-name-quote-list)
- eshell-special-chars-outside-quoting))
+ (setq-local comint-file-name-quote-list
+ eshell-special-chars-outside-quoting))
nil t)
(add-hook 'pcomplete-quote-arg-hook #'eshell-quote-backslash nil t)
(add-hook 'completion-at-point-functions
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el
index b4ed3794add..c0c25390256 100644
--- a/lisp/eshell/em-dirs.el
+++ b/lisp/eshell/em-dirs.el
@@ -175,8 +175,7 @@ Thus, this does not include the current directory.")
(defun eshell-dirs-initialize () ;Called from `eshell-mode' via intern-soft!
"Initialize the builtin functions for Eshell."
- (make-local-variable 'eshell-variable-aliases-list)
- (setq eshell-variable-aliases-list
+ (setq-local eshell-variable-aliases-list
(append
eshell-variable-aliases-list
`(("-" ,(lambda (indices)
@@ -199,8 +198,7 @@ Thus, this does not include the current directory.")
t))))
(when eshell-cd-on-directory
- (make-local-variable 'eshell-interpreter-alist)
- (setq eshell-interpreter-alist
+ (setq-local eshell-interpreter-alist
(cons (cons #'(lambda (file _args)
(eshell-lone-directory-p file))
'eshell-dirs-substitute-cd)
diff --git a/lisp/eshell/em-glob.el b/lisp/eshell/em-glob.el
index a32a6abe29c..9ae2dd94ecf 100644
--- a/lisp/eshell/em-glob.el
+++ b/lisp/eshell/em-glob.el
@@ -129,7 +129,7 @@ This option slows down recursive glob processing by quite a bit."
"Initialize the extended globbing code."
;; it's important that `eshell-glob-chars-list' come first
(when (boundp 'eshell-special-chars-outside-quoting)
- (set (make-local-variable 'eshell-special-chars-outside-quoting)
+ (setq-local eshell-special-chars-outside-quoting
(append eshell-glob-chars-list eshell-special-chars-outside-quoting)))
(add-hook 'eshell-parse-argument-hook 'eshell-parse-glob-chars t t)
(add-hook 'eshell-pre-rewrite-command-hook
@@ -205,7 +205,7 @@ resulting regular expression."
regexp)
(while (string-match
(or eshell-glob-chars-regexp
- (set (make-local-variable 'eshell-glob-chars-regexp)
+ (setq-local eshell-glob-chars-regexp
(format "[%s]+" (apply 'string eshell-glob-chars-list))))
pattern matched-in-pattern)
(let* ((op-begin (match-beginning 0))
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index c27e4503767..490b8b679c1 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -243,11 +243,10 @@ Returns nil if INPUT is prepended by blank space, otherwise non-nil."
(if (and (eshell-using-module 'eshell-rebind)
(not eshell-non-interactive-p))
(let ((rebind-alist eshell-rebind-keys-alist))
- (make-local-variable 'eshell-rebind-keys-alist)
- (setq eshell-rebind-keys-alist
+ (setq-local eshell-rebind-keys-alist
(append rebind-alist eshell-hist-rebind-keys-alist))
- (set (make-local-variable 'search-invisible) t)
- (set (make-local-variable 'search-exit-option) t)
+ (setq-local search-invisible t)
+ (setq-local search-exit-option t)
(add-hook 'isearch-mode-hook
(lambda ()
(if (>= (point) eshell-last-output-end)
@@ -278,8 +277,8 @@ Returns nil if INPUT is prepended by blank space, otherwise non-nil."
(make-local-variable 'eshell-save-history-index)
(if (minibuffer-window-active-p (selected-window))
- (set (make-local-variable 'eshell-save-history-on-exit) nil)
- (set (make-local-variable 'eshell-history-ring) nil)
+ (setq-local eshell-save-history-on-exit nil)
+ (setq-local eshell-history-ring nil)
(if eshell-history-file-name
(eshell-read-history nil t))
diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el
index dcee1e7a981..c6afc5a240d 100644
--- a/lisp/eshell/em-prompt.el
+++ b/lisp/eshell/em-prompt.el
@@ -117,10 +117,9 @@ arriving, or after."
(make-local-variable 'eshell-prompt-regexp)
(if eshell-prompt-regexp
- (set (make-local-variable 'paragraph-start) eshell-prompt-regexp))
+ (setq-local paragraph-start eshell-prompt-regexp))
- (set (make-local-variable 'eshell-skip-prompt-function)
- 'eshell-skip-prompt)
+ (setq-local eshell-skip-prompt-function #'eshell-skip-prompt)
(eshell-prompt-mode)))
(defun eshell-emit-prompt ()
diff --git a/lisp/eshell/em-rebind.el b/lisp/eshell/em-rebind.el
index 7991c631772..ab102116877 100644
--- a/lisp/eshell/em-rebind.el
+++ b/lisp/eshell/em-rebind.el
@@ -163,7 +163,7 @@ This is default behavior of shells like bash."
(add-hook 'pre-command-hook 'eshell-save-previous-point nil t)
(make-local-variable 'overriding-local-map)
(add-hook 'post-command-hook 'eshell-rebind-input-map nil t)
- (set (make-local-variable 'eshell-lock-keymap) nil)
+ (setq-local eshell-lock-keymap nil)
(eshell-rebind-mode)))
(defun eshell-lock-local-map (&optional arg)
@@ -219,8 +219,7 @@ lock it at that."
(defun eshell-setup-input-keymap ()
"Setup the input keymap to be used during input editing."
- (make-local-variable 'eshell-input-keymap)
- (setq eshell-input-keymap (make-sparse-keymap))
+ (setq-local eshell-input-keymap (make-sparse-keymap))
(set-keymap-parent eshell-input-keymap eshell-mode-map)
(let ((bindings eshell-rebind-keys-alist))
(while bindings
diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el
index 5c2f145f595..857ae6a4755 100644
--- a/lisp/eshell/em-script.el
+++ b/lisp/eshell/em-script.el
@@ -58,15 +58,13 @@ This includes when running `eshell-command'."
(defun eshell-script-initialize () ;Called from `eshell-mode' via intern-soft!
"Initialize the script parsing code."
- (make-local-variable 'eshell-interpreter-alist)
- (setq eshell-interpreter-alist
+ (setq-local eshell-interpreter-alist
(cons (cons #'(lambda (file _args)
(string= (file-name-nondirectory file)
"eshell"))
'eshell/source)
eshell-interpreter-alist))
- (make-local-variable 'eshell-complex-commands)
- (setq eshell-complex-commands
+ (setq-local eshell-complex-commands
(append '("source" ".") eshell-complex-commands))
;; these two variables are changed through usage, but we don't want
;; to ruin it for other modules
diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el
index a28bb1d6415..8bc88f2f4bc 100644
--- a/lisp/eshell/em-smart.el
+++ b/lisp/eshell/em-smart.el
@@ -170,9 +170,9 @@ The options are `begin', `after' or `end'."
(unless eshell-non-interactive-p
;; override a few variables, since they would interfere with the
;; smart display functionality.
- (set (make-local-variable 'eshell-scroll-to-bottom-on-output) nil)
- (set (make-local-variable 'eshell-scroll-to-bottom-on-input) nil)
- (set (make-local-variable 'eshell-scroll-show-maximum-output) t)
+ (setq-local eshell-scroll-to-bottom-on-output nil)
+ (setq-local eshell-scroll-to-bottom-on-input nil)
+ (setq-local eshell-scroll-show-maximum-output t)
(add-hook 'window-scroll-functions 'eshell-smart-scroll-window nil t)
(add-hook 'window-configuration-change-hook 'eshell-refresh-windows)
diff --git a/lisp/eshell/em-term.el b/lisp/eshell/em-term.el
index f52b3cda73b..be91cf79774 100644
--- a/lisp/eshell/em-term.el
+++ b/lisp/eshell/em-term.el
@@ -143,8 +143,7 @@ behavior for short-lived processes, see bug#18108."
(defun eshell-term-initialize () ;Called from `eshell-mode' via intern-soft!
"Initialize the `term' interface code."
- (make-local-variable 'eshell-interpreter-alist)
- (setq eshell-interpreter-alist
+ (setq-local eshell-interpreter-alist
(cons (cons #'eshell-visual-command-p
'eshell-exec-visual)
eshell-interpreter-alist)))
@@ -179,9 +178,8 @@ allowed."
(save-current-buffer
(switch-to-buffer term-buf)
(term-mode)
- (set (make-local-variable 'term-term-name) eshell-term-name)
- (make-local-variable 'eshell-parent-buffer)
- (setq eshell-parent-buffer eshell-buf)
+ (setq-local term-term-name eshell-term-name)
+ (setq-local eshell-parent-buffer eshell-buf)
(term-exec term-buf program program nil args)
(let ((proc (get-buffer-process term-buf)))
(if (and proc (eq 'run (process-status proc)))
diff --git a/lisp/eshell/em-tramp.el b/lisp/eshell/em-tramp.el
index 01f7038e462..c2d3c3edce2 100644
--- a/lisp/eshell/em-tramp.el
+++ b/lisp/eshell/em-tramp.el
@@ -51,10 +51,9 @@
(when (eshell-using-module 'eshell-cmpl)
(add-hook 'pcomplete-try-first-hook
'eshell-complete-host-reference nil t))
- (make-local-variable 'eshell-complex-commands)
- (setq eshell-complex-commands
- (append '("su" "sudo")
- eshell-complex-commands)))
+ (setq-local eshell-complex-commands
+ (append '("su" "sudo")
+ eshell-complex-commands)))
(autoload 'eshell-parse-command "esh-cmd")
diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el
index c66f307bfee..2d6bd32b5a2 100644
--- a/lisp/eshell/em-unix.el
+++ b/lisp/eshell/em-unix.el
@@ -144,8 +144,7 @@ Otherwise, Emacs will attempt to use rsh to invoke du on the remote machine."
(when (eshell-using-module 'eshell-cmpl)
(add-hook 'pcomplete-try-first-hook
'eshell-complete-host-reference nil t))
- (make-local-variable 'eshell-complex-commands)
- (setq eshell-complex-commands
+ (setq-local eshell-complex-commands
(append '("grep" "egrep" "fgrep" "agrep" "glimpse" "locate"
"cat" "time" "cp" "mv" "make" "du" "diff")
eshell-complex-commands)))
@@ -1008,7 +1007,7 @@ Show wall-clock time elapsed during execution of COMMAND.")
(lambda (buff _msg)
(with-current-buffer buff
(diff-mode)
- (set (make-local-variable 'eshell-diff-window-config) config)
+ (setq-local eshell-diff-window-config config)
(local-set-key [?q] #'eshell-diff-quit)
(if (fboundp 'turn-on-font-lock-if-enabled)
(turn-on-font-lock-if-enabled))
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el
index aefda647689..cecb6f7918f 100644
--- a/lisp/eshell/esh-arg.el
+++ b/lisp/eshell/esh-arg.el
@@ -168,8 +168,8 @@ treated as a literal character."
(defun eshell-arg-initialize () ;Called from `eshell-mode' via intern-soft!
"Initialize the argument parsing code."
(eshell-arg-mode)
- (set (make-local-variable 'eshell-inside-quote-regexp) nil)
- (set (make-local-variable 'eshell-outside-quote-regexp) nil))
+ (setq-local eshell-inside-quote-regexp nil)
+ (setq-local eshell-outside-quote-regexp nil))
(defun eshell-insert-buffer-name (buffer-name)
"Insert BUFFER-NAME into the current buffer at point."
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index 68b34837a23..81124413a42 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -290,12 +290,12 @@ otherwise t.")
(defun eshell-cmd-initialize () ;Called from `eshell-mode' via intern-soft!
"Initialize the Eshell command processing module."
- (set (make-local-variable 'eshell-current-command) nil)
- (set (make-local-variable 'eshell-command-name) nil)
- (set (make-local-variable 'eshell-command-arguments) nil)
- (set (make-local-variable 'eshell-last-arguments) nil)
- (set (make-local-variable 'eshell-last-command-name) nil)
- (set (make-local-variable 'eshell-last-async-proc) nil)
+ (setq-local eshell-current-command nil)
+ (setq-local eshell-command-name nil)
+ (setq-local eshell-command-arguments nil)
+ (setq-local eshell-last-arguments nil)
+ (setq-local eshell-last-command-name nil)
+ (setq-local eshell-last-async-proc nil)
(add-hook 'eshell-kill-hook #'eshell-resume-command nil t)
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index b0443a4acee..de41fccc1f5 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -344,8 +344,8 @@ it defaults to `insert'."
(if buffer-file-read-only
(error "Cannot write to read-only file `%s'" target))
(setq buffer-read-only nil)
- (set (make-local-variable 'eshell-output-file-buffer)
- (if (eq exists buf) 0 t))
+ (setq-local eshell-output-file-buffer
+ (if (eq exists buf) 0 t))
(cond ((eq mode 'overwrite)
(erase-buffer))
((eq mode 'append)
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index a80c2fc60d9..e2ec7101f3d 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -312,45 +312,40 @@ and the hook `eshell-exit-hook'."
(if mode-line-elt
(setcar mode-line-elt 'eshell-command-running-string))))
- (set (make-local-variable 'bookmark-make-record-function)
- 'eshell-bookmark-make-record)
+ (setq-local bookmark-make-record-function #'eshell-bookmark-make-record)
(setq local-abbrev-table eshell-mode-abbrev-table)
- (set (make-local-variable 'list-buffers-directory)
- (expand-file-name default-directory))
+ (setq-local list-buffers-directory (expand-file-name default-directory))
;; always set the tab width to 8 in Eshell buffers, since external
;; commands which do their own formatting almost always expect this
- (set (make-local-variable 'tab-width) 8)
+ (setq-local tab-width 8)
;; don't ever use auto-fill in Eshell buffers
(setq auto-fill-function nil)
;; always display everything from a return value
(if (boundp 'print-length)
- (set (make-local-variable 'print-length) nil))
+ (setq-local print-length nil))
(if (boundp 'print-level)
- (set (make-local-variable 'print-level) nil))
+ (setq-local print-level nil))
;; set require-final-newline to nil; otherwise, all redirected
;; output will end with a newline, whether or not the source
;; indicated it!
- (set (make-local-variable 'require-final-newline) nil)
+ (setq-local require-final-newline nil)
- (set (make-local-variable 'max-lisp-eval-depth)
- (max 3000 max-lisp-eval-depth))
- (set (make-local-variable 'max-specpdl-size)
- (max 6000 max-lisp-eval-depth))
+ (setq-local max-lisp-eval-depth (max 3000 max-lisp-eval-depth))
+ (setq-local max-specpdl-size (max 6000 max-lisp-eval-depth))
- (set (make-local-variable 'eshell-last-input-start) (point-marker))
- (set (make-local-variable 'eshell-last-input-end) (point-marker))
- (set (make-local-variable 'eshell-last-output-start) (point-marker))
- (set (make-local-variable 'eshell-last-output-end) (point-marker))
- (set (make-local-variable 'eshell-last-output-block-begin) (point))
+ (setq-local eshell-last-input-start (point-marker))
+ (setq-local eshell-last-input-end (point-marker))
+ (setq-local eshell-last-output-start (point-marker))
+ (setq-local eshell-last-output-end (point-marker))
+ (setq-local eshell-last-output-block-begin (point))
(let ((modules-list (copy-sequence eshell-modules-list)))
- (make-local-variable 'eshell-modules-list)
- (setq eshell-modules-list modules-list))
+ (setq-local eshell-modules-list modules-list))
;; This is to avoid making the paragraph base direction
;; right-to-left if the first word just happens to start with a
@@ -391,7 +386,7 @@ and the hook `eshell-exit-hook'."
(add-hook 'pre-command-hook #'eshell-preinput-scroll-to-bottom t t))
(when eshell-scroll-show-maximum-output
- (set (make-local-variable 'scroll-conservatively) 1000))
+ (setq-local scroll-conservatively 1000))
(when eshell-status-in-mode-line
(add-hook 'eshell-pre-command-hook #'eshell-command-started nil t)
diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el
index 7a80cd86877..9aea5430ad7 100644
--- a/lisp/eshell/esh-var.el
+++ b/lisp/eshell/esh-var.el
@@ -227,12 +227,11 @@ environment of created subprocesses."
;; Break the association with our parent's environment. Otherwise,
;; changing a variable will affect all of Emacs.
(unless eshell-modify-global-environment
- (set (make-local-variable 'process-environment)
- (eshell-copy-environment)))
+ (setq-local process-environment (eshell-copy-environment)))
- (set (make-local-variable 'eshell-special-chars-inside-quoting)
+ (setq-local eshell-special-chars-inside-quoting
(append eshell-special-chars-inside-quoting '(?$)))
- (set (make-local-variable 'eshell-special-chars-outside-quoting)
+ (setq-local eshell-special-chars-outside-quoting
(append eshell-special-chars-outside-quoting '(?$)))
(add-hook 'eshell-parse-argument-hook #'eshell-interpolate-variable t t)