aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2018-12-09 09:45:40 +0200
committerEli Zaretskii2018-12-09 09:45:40 +0200
commitc2fdd50c3cb0b03d2414370c58c1aa2a6ec3311d (patch)
tree158297af74fff2668369ef405a66e667aae9a36f
parent7515a1d493f8f0f6f009b50c99cc5e27824bd6b3 (diff)
downloademacs-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.el2
-rw-r--r--lisp/eshell/em-hist.el2
-rw-r--r--test/lisp/eshell/eshell-tests.el3
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
468See also `eshell-read-history'." 468See 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