Fix #2607: void-variable doom-scratch-initial-major-mode error

And fix "selected deleted buffer" error caused by aggressive
window-configuration-change-hook function.
This commit is contained in:
Henrik Lissner 2020-02-26 09:19:08 -05:00
parent 78b4c6c5df
commit e54ebcbff5
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -70,15 +70,15 @@ the first, fresh scratch buffer you create. This accepts:
(or buffer (get-buffer-create buffer-name)) (or buffer (get-buffer-create buffer-name))
(setq default-directory directory) (setq default-directory directory)
(setq-local so-long--inhibited t) (setq-local so-long--inhibited t)
(doom--load-persistent-scratch-buffer project-name) (unless buffer
(when (and (eq major-mode 'fundamental-mode) (doom--load-persistent-scratch-buffer project-name)
(functionp mode)) (when (and (eq major-mode 'fundamental-mode)
(funcall mode)) (functionp mode))
(funcall mode)))
(cl-pushnew (current-buffer) doom-scratch-buffers) (cl-pushnew (current-buffer) doom-scratch-buffers)
(add-transient-hook! 'doom-switch-buffer-hook (doom-persist-scratch-buffers-h)) (add-transient-hook! 'doom-switch-buffer-hook (doom-persist-scratch-buffers-h))
(add-transient-hook! 'doom-switch-window-hook (doom-persist-scratch-buffers-h)) (add-transient-hook! 'doom-switch-window-hook (doom-persist-scratch-buffers-h))
(add-hook 'kill-buffer-hook #'doom-persist-scratch-buffer-h nil 'local) (add-hook 'kill-buffer-hook #'doom-persist-scratch-buffer-h nil 'local)
(add-hook 'window-configuration-change-hook #'doom-persist-scratch-buffers-after-switch-h)
(run-hooks 'doom-scratch-buffer-created-hook) (run-hooks 'doom-scratch-buffer-created-hook)
(current-buffer)))) (current-buffer))))
@ -141,15 +141,15 @@ If PROJECT-P is non-nil, open a persistent scratch buffer associated with the
#'switch-to-buffer #'switch-to-buffer
#'pop-to-buffer) #'pop-to-buffer)
(doom-scratch-buffer (doom-scratch-buffer
(cond ((eq doom-scratch-buffer-major-mode t) (cond ((eq doom-scratch-initial-major-mode t)
(unless (or buffer-read-only (unless (or buffer-read-only
(derived-mode-p 'special-mode) (derived-mode-p 'special-mode)
(string-match-p "^ ?\\*" (buffer-name))) (string-match-p "^ ?\\*" (buffer-name)))
major-mode)) major-mode))
((null doom-scratch-buffer-major-mode) ((null doom-scratch-initial-major-mode)
nil) nil)
((symbolp doom-scratch-buffer-major-mode) ((symbolp doom-scratch-initial-major-mode)
doom-scratch-buffer-major-mode)) doom-scratch-initial-major-mode))
default-directory default-directory
(when project-p (when project-p
(doom-project-name)))))) (doom-project-name))))))