From 197631f6a4a8fc10f0e37ef9be2a36581360afcc Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 3 Apr 2018 16:24:15 -0400 Subject: [PATCH] Apply doom fixes/hacks before loading private init.el Fixes void-variable: doom-auto-minor-mode-alist errors --- core/core.el | 84 ++++++++++++++++++++++++++-------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/core/core.el b/core/core.el index b08b3b8f0..7e3c9407c 100644 --- a/core/core.el +++ b/core/core.el @@ -142,6 +142,48 @@ ability to invoke the debugger in debug mode." nil) +;; +;; Emacs fixes/hacks +;; + +;; Automatic minor modes +(defvar doom-auto-minor-mode-alist '() + "Alist mapping filename patterns to corresponding minor mode functions, like +`auto-mode-alist'. All elements of this alist are checked, meaning you can +enable multiple minor modes for the same regexp.") + +(defun doom|enable-minor-mode-maybe () + "Check file name against `doom-auto-minor-mode-alist'." + (when buffer-file-name + (let ((name buffer-file-name) + (remote-id (file-remote-p buffer-file-name)) + (alist doom-auto-minor-mode-alist)) + ;; Remove backup-suffixes from file name. + (setq name (file-name-sans-versions name)) + ;; Remove remote file name identification. + (when (and (stringp remote-id) + (string-match-p (regexp-quote remote-id) name)) + (setq name (substring name (match-end 0)))) + (while (and alist (caar alist) (cdar alist)) + (if (string-match-p (caar alist) name) + (funcall (cdar alist) 1)) + (setq alist (cdr alist)))))) +(add-hook 'find-file-hook #'doom|enable-minor-mode-maybe) + +(defun doom*set-indirect-buffer-filename (orig-fn base-buffer name &optional clone) + "In indirect buffers, `buffer-file-name' is nil, which can cause problems +with functions that require it (like modeline segments)." + (let ((file-name (buffer-file-name base-buffer)) + (buffer (funcall orig-fn base-buffer name clone))) + (when (and file-name buffer) + (with-current-buffer buffer + (unless buffer-file-name + (setq buffer-file-name file-name + buffer-file-truename (file-truename file-name))))) + buffer)) +(advice-add #'make-indirect-buffer :around #'doom*set-indirect-buffer-filename) + + ;;; ;; Initialize (eval-and-compile @@ -194,47 +236,5 @@ this, you'll get stuttering and random freezes), and resets (add-hook! '(emacs-startup-hook doom-reload-hook) #'doom|finalize) (add-hook 'emacs-startup-hook #'doom|after-init)) - -;; -;; Emacs fixes/hacks -;; - -;; Automatic minor modes -(defvar doom-auto-minor-mode-alist '() - "Alist mapping filename patterns to corresponding minor mode functions, like -`auto-mode-alist'. All elements of this alist are checked, meaning you can -enable multiple minor modes for the same regexp.") - -(defun doom|enable-minor-mode-maybe () - "Check file name against `doom-auto-minor-mode-alist'." - (when buffer-file-name - (let ((name buffer-file-name) - (remote-id (file-remote-p buffer-file-name)) - (alist doom-auto-minor-mode-alist)) - ;; Remove backup-suffixes from file name. - (setq name (file-name-sans-versions name)) - ;; Remove remote file name identification. - (when (and (stringp remote-id) - (string-match-p (regexp-quote remote-id) name)) - (setq name (substring name (match-end 0)))) - (while (and alist (caar alist) (cdar alist)) - (if (string-match-p (caar alist) name) - (funcall (cdar alist) 1)) - (setq alist (cdr alist)))))) -(add-hook 'find-file-hook #'doom|enable-minor-mode-maybe) - -(defun doom*set-indirect-buffer-filename (orig-fn base-buffer name &optional clone) - "In indirect buffers, `buffer-file-name' is nil, which can cause problems -with functions that require it (like modeline segments)." - (let ((file-name (buffer-file-name base-buffer)) - (buffer (funcall orig-fn base-buffer name clone))) - (when (and file-name buffer) - (with-current-buffer buffer - (unless buffer-file-name - (setq buffer-file-name file-name - buffer-file-truename (file-truename file-name))))) - buffer)) -(advice-add #'make-indirect-buffer :around #'doom*set-indirect-buffer-filename) - (provide 'core) ;;; core.el ends here