diff --git a/core/autoload/buffers.el b/core/autoload/buffers.el index 7c8363e9b..60a8a75db 100644 --- a/core/autoload/buffers.el +++ b/core/autoload/buffers.el @@ -139,7 +139,7 @@ See `doom-real-buffer-p' for what 'real' means." (setq destbuf (doom-fallback-buffer)) (message "Nowhere to go")) (prog1 - (set-buffer destbuf) + (switch-to-buffer destbuf) (when (eq destbuf (doom-fallback-buffer)) (cd project-dir))))) @@ -199,8 +199,7 @@ See `doom-real-buffer-p' for what 'real' means." (when buffer-win (unrecord-window-buffer buffer-win buffer)) (when only-buffer-window-p - (unless (eq buffer (doom-fallback-buffer)) - (kill-buffer buffer)))) + (kill-buffer buffer))) (eq (current-buffer) buffer))) ;;;###autoload diff --git a/core/core-editor.el b/core/core-editor.el index 5d26a8945..018bf2381 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -81,6 +81,14 @@ (global-auto-revert-mode 1) (setq auto-revert-verbose nil) +;; don't kill scratch buffers +(defun doom|dont-kill-scratch-buffer () + (if (not (eq (buffer-name) "*scratch*")) + t + (bury-buffer) + nil)) +(add-hook 'kill-buffer-query-functions 'doom|dont-kill-scratch-buffer) + ;; ;; Core Plugins diff --git a/modules/ui/doom-dashboard/config.el b/modules/ui/doom-dashboard/config.el index 0a6e79378..ac4d4dda4 100644 --- a/modules/ui/doom-dashboard/config.el +++ b/modules/ui/doom-dashboard/config.el @@ -41,7 +41,12 @@ doom-fallback-buffer +doom-dashboard-name) (add-hook 'emacs-startup-hook '+doom-dashboard/open) -(@add-hook 'kill-buffer-query-functions (not (+doom-dashboard-p))) +(@add-hook 'kill-buffer-query-functions + (if (not (+doom-dashboard-p)) + t + (ignore-errors (+doom-dashboard-force-reload)) + (bury-buffer) + nil)) (@add-hook 'window-setup-hook (add-hook 'window-configuration-change-hook '+doom-dashboard-reload) (+doom-dashboard-reload)) @@ -64,7 +69,7 @@ (and (buffer-live-p buffer) (eq buffer (doom-fallback-buffer))))) -(defun doom-dashboard-force-reload () +(defun +doom-dashboard-force-reload () (setq +doom-dashboard-edited-p nil) (+doom-dashboard-reload))