emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 3660d66 1/4: Follow symlink in Eshell history


From: Eli Zaretskii
Subject: [Emacs-diffs] master 3660d66 1/4: Follow symlink in Eshell history
Date: Sat, 8 Dec 2018 04:13:51 -0500 (EST)

branch: master
commit 3660d665874dfea54571be0619f5d033b7873594
Author: Philip Hudson <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Follow symlink in Eshell history
    
    * lisp/eshell/em-hist.el (eshell-write-history): Follow
    symlinks in 'eshell-history-file-name'.  (Bug#33460)
---
 lisp/eshell/em-hist.el | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el
index 62e2f57..f866dfd 100644
--- a/lisp/eshell/em-hist.el
+++ b/lisp/eshell/em-hist.el
@@ -466,15 +466,16 @@ lost if `eshell-history-ring' is not empty.  If
 Useful within process sentinels.
 
 See also `eshell-read-history'."
-  (let ((file (or filename eshell-history-file-name)))
+  (let* ((file (or filename eshell-history-file-name))
+        (resolved-file (file-truename file)))
     (cond
      ((or (null file)
          (equal file "")
          (null eshell-history-ring)
          (ring-empty-p eshell-history-ring))
       nil)
-     ((not (file-writable-p file))
-      (message "Cannot write history file %s" file))
+     ((not (file-writable-p resolved-file))
+      (message "Cannot write history file %s" resolved-file))
      (t
       (let* ((ring eshell-history-ring)
             (index (ring-length ring)))
@@ -489,7 +490,7 @@ See also `eshell-read-history'."
               (insert (substring-no-properties (ring-ref ring index)) ?\n)
              (subst-char-in-region start (1- (point)) ?\n ?\177)))
          (eshell-with-private-file-modes
-          (write-region (point-min) (point-max) file append
+          (write-region (point-min) (point-max) resolved-file append
                         'no-message))))))))
 
 (defun eshell-list-history ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]