diff --git a/modules/emacs/eshell/autoload/eshell.el b/modules/emacs/eshell/autoload/eshell.el index 7f734a49c..884889801 100644 --- a/modules/emacs/eshell/autoload/eshell.el +++ b/modules/emacs/eshell/autoload/eshell.el @@ -83,7 +83,8 @@ (interactive "P") (when (eq major-mode 'eshell-mode) (user-error "Already in an eshell buffer")) - (let* ((default-directory (if arg default-directory (doom-project-root))) + (let* ((default-directory (or (if arg default-directory (doom-project-root)) + default-directory)) (buf (+eshell--unused-buffer))) (with-current-buffer (switch-to-buffer buf) (if (eq major-mode 'eshell-mode) @@ -96,7 +97,8 @@ (defun +eshell/open-popup (arg &optional command) "Open eshell in a popup window." (interactive "P") - (let* ((default-directory (if arg default-directory (doom-project-root))) + (let* ((default-directory (or (if arg default-directory (doom-project-root)) + default-directory)) (buf (+eshell--unused-buffer))) (with-current-buffer (pop-to-buffer buf) (if (eq major-mode 'eshell-mode) @@ -110,7 +112,8 @@ "Open eshell in a separate workspace. Requires the (:feature workspaces) module to be loaded." (interactive "P") - (let ((default-directory (if arg default-directory (doom-project-root))) + (let ((default-directory (or (if arg default-directory (doom-project-root)) + default-directory)) (buf (+eshell--unused-buffer 'new))) (set-frame-parameter nil 'saved-wconf (current-window-configuration)) (delete-other-windows)