eshell/emacs: fix default-directory (for real this time)
This commit is contained in:
parent
fb524eea38
commit
d9bbf546b7
@ -158,7 +158,8 @@
|
||||
"Edit library called NAME if it exists, otherwise edit FILE.
|
||||
|
||||
If the current window occupies the whole frame, split it."
|
||||
(let* ((old-default-dir default-directory) ; needed to preserve environment
|
||||
(let* ((old-buffer (current-buffer))
|
||||
(old-default-dir default-directory) ; needed to preserve environment
|
||||
find-fun lib-fun ; scope these so we can bind them later
|
||||
(openfun (lambda (arg)
|
||||
"Implicit function for opening a file or library."
|
||||
@ -174,8 +175,10 @@ If the current window occupies the whole frame, split it."
|
||||
lib-fun #'find-library-other-window)
|
||||
(setq find-fun #'find-file
|
||||
lib-fun #'find-library))
|
||||
(let ((return (funcall openfun name))) ; default-directory needs to reset
|
||||
(setq default-directory old-default-dir) return))) ; but we return bufs
|
||||
(let ((result (funcall openfun name)))
|
||||
(with-current-buffer old-buffer
|
||||
(setq default-directory old-default-dir))
|
||||
result)))
|
||||
(defun eshell/emacs (&rest args)
|
||||
"run external Emacs."
|
||||
(eshell-eval-using-options ; this is somewhat broken but works okay
|
||||
|
Loading…
Reference in New Issue
Block a user