From de27b2c041db991401677b82d3b1515027ca6c3f Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 11 May 2020 22:09:17 -0400 Subject: [PATCH] Preserve current directory when splitting eshell Fixes #3091 --- modules/term/eshell/autoload/eshell.el | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/term/eshell/autoload/eshell.el b/modules/term/eshell/autoload/eshell.el index 2468012e9..0a4604a0b 100644 --- a/modules/term/eshell/autoload/eshell.el +++ b/modules/term/eshell/autoload/eshell.el @@ -21,13 +21,15 @@ t)) (defun +eshell--bury-buffer (&optional dedicated-p) - (unless (switch-to-prev-buffer nil 'bury) - (switch-to-buffer (doom-fallback-buffer))) - (when (eq major-mode 'eshell-mode) - (switch-to-buffer (doom-fallback-buffer))) - (when +eshell-enable-new-shell-on-split - (when-let (win (get-buffer-window (+eshell/here))) - (set-window-dedicated-p win dedicated-p)))) + (let ((directory default-directory)) + (unless (switch-to-prev-buffer nil 'bury) + (switch-to-buffer (doom-fallback-buffer))) + (when (eq major-mode 'eshell-mode) + (switch-to-buffer (doom-fallback-buffer))) + (when +eshell-enable-new-shell-on-split + (let ((default-directory directory)) + (when-let (win (get-buffer-window (+eshell/here t))) + (set-window-dedicated-p win dedicated-p)))))) (defun +eshell--setup-window (window &optional flag) (when (window-live-p window)