diff options
| author | Eli Zaretskii | 2018-12-09 09:45:40 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2018-12-09 09:45:40 +0200 |
| commit | c2fdd50c3cb0b03d2414370c58c1aa2a6ec3311d (patch) | |
| tree | 158297af74fff2668369ef405a66e667aae9a36f | |
| parent | 7515a1d493f8f0f6f009b50c99cc5e27824bd6b3 (diff) | |
| download | emacs-c2fdd50c3cb0b03d2414370c58c1aa2a6ec3311d.tar.gz emacs-c2fdd50c3cb0b03d2414370c58c1aa2a6ec3311d.zip | |
Fix resolving symlinks in Eshell history file names
* lisp/eshell/em-dirs.el (eshell-write-last-dir-ring):
* lisp/eshell/em-hist.el (eshell-write-history): Don't call
file-truename with argument of nil. (Bug#33477)
* test/lisp/eshell/eshell-tests.el (with-temp-eshell): Remove
HISTFILE from the environment, to make sure the Eshell history
file is nil.
| -rw-r--r-- | lisp/eshell/em-dirs.el | 2 | ||||
| -rw-r--r-- | lisp/eshell/em-hist.el | 2 | ||||
| -rw-r--r-- | test/lisp/eshell/eshell-tests.el | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el index c16a5ac6e07..853382888c9 100644 --- a/lisp/eshell/em-dirs.el +++ b/lisp/eshell/em-dirs.el | |||
| @@ -553,7 +553,7 @@ in the minibuffer: | |||
| 553 | (defun eshell-write-last-dir-ring () | 553 | (defun eshell-write-last-dir-ring () |
| 554 | "Write the buffer's `eshell-last-dir-ring' to a history file." | 554 | "Write the buffer's `eshell-last-dir-ring' to a history file." |
| 555 | (let* ((file eshell-last-dir-ring-file-name) | 555 | (let* ((file eshell-last-dir-ring-file-name) |
| 556 | (resolved-file (file-truename file))) | 556 | (resolved-file (if (stringp file) (file-truename file)))) |
| 557 | (cond | 557 | (cond |
| 558 | ((or (null file) | 558 | ((or (null file) |
| 559 | (equal file "") | 559 | (equal file "") |
diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index f866dfd7276..1b240c0460f 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el | |||
| @@ -467,7 +467,7 @@ Useful within process sentinels. | |||
| 467 | 467 | ||
| 468 | See also `eshell-read-history'." | 468 | See also `eshell-read-history'." |
| 469 | (let* ((file (or filename eshell-history-file-name)) | 469 | (let* ((file (or filename eshell-history-file-name)) |
| 470 | (resolved-file (file-truename file))) | 470 | (resolved-file (if (stringp file) (file-truename file)))) |
| 471 | (cond | 471 | (cond |
| 472 | ((or (null file) | 472 | ((or (null file) |
| 473 | (equal file "") | 473 | (equal file "") |
diff --git a/test/lisp/eshell/eshell-tests.el b/test/lisp/eshell/eshell-tests.el index b6dbd09a3d6..cefbeef5677 100644 --- a/test/lisp/eshell/eshell-tests.el +++ b/test/lisp/eshell/eshell-tests.el | |||
| @@ -31,6 +31,9 @@ | |||
| 31 | (defmacro with-temp-eshell (&rest body) | 31 | (defmacro with-temp-eshell (&rest body) |
| 32 | "Evaluate BODY in a temporary Eshell buffer." | 32 | "Evaluate BODY in a temporary Eshell buffer." |
| 33 | `(let* ((eshell-directory-name (make-temp-file "eshell" t)) | 33 | `(let* ((eshell-directory-name (make-temp-file "eshell" t)) |
| 34 | ;; We want no history file, so prevent Eshell from falling | ||
| 35 | ;; back on $HISTFILE. | ||
| 36 | (_ (setenv "HISTFILE")) | ||
| 34 | (eshell-history-file-name nil) | 37 | (eshell-history-file-name nil) |
| 35 | (eshell-buffer (eshell t))) | 38 | (eshell-buffer (eshell t))) |
| 36 | (unwind-protect | 39 | (unwind-protect |