diff --git a/core/core-keybinds.el b/core/core-keybinds.el index 78326a77e..d7df7c25b 100644 --- a/core/core-keybinds.el +++ b/core/core-keybinds.el @@ -232,8 +232,9 @@ Example (doom--keymaps (dolist (keymap doom--keymaps) (push `(define-key ,keymap ,key ,def) forms))) - (t (push `(,(if local 'local-set-key 'global-set-key) ,key ,def) - forms)))) + (t + (push `(,(if local 'local-set-key 'global-set-key) ,key ,def) + forms)))) (setq states '() local nil desc nil))) diff --git a/core/core-packages.el b/core/core-packages.el index c547aaab6..f33b0fc31 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -334,11 +334,10 @@ ignore any `def-package!' blocks for PACKAGE." "Loads a file relative to the current module (or PATH). FILESYM is a file path as a symbol. PATH is a directory to prefix it with. If NOERROR is non-nil, don't throw an error if the file doesn't exist." - (let ((path (or (and path - (cond ((symbolp path) (symbol-value path)) - ((stringp path) path) - ((listp path) (eval path)))) - (and load-file-name (file-name-directory load-file-name)) + (let ((path (or (and path (or (and (symbolp path) (symbol-value path)) + (and (stringp path) path) + (and (listp path) (eval path)))) + (and load-file-name (file-name-directory load-file-name)) (and (bound-and-true-p byte-compile-current-file) (file-name-directory byte-compile-current-file)) (and buffer-file-name (file-name-directory buffer-file-name))))) diff --git a/core/core.el b/core/core.el index c2915a467..1bef72f9b 100644 --- a/core/core.el +++ b/core/core.el @@ -64,7 +64,8 @@ there are problems.") "Location of the autoloads file generated by `doom/reload-autoloads'.") (defgroup doom nil - "" + "DOOM Emacs, an Emacs configuration for a stubborn, shell-dwelling and +melodramatic ex-vimmer disappointed with the text-editor status quo." :group 'emacs) @@ -113,7 +114,7 @@ there are problems.") (setq custom-file (concat doom-etc-dir "custom.el")) (load custom-file t t) -;; be quiet at startup +;; be quiet at startup; don't load anything unnecessary (advice-add #'display-startup-echo-area-message :override #'ignore) (setq inhibit-startup-message t inhibit-startup-echo-area-message user-login-name @@ -180,6 +181,9 @@ enable multiple minor modes for the same regexp.") (load! core-keybinds)) ; centralized keybind system + which-key (defun doom|init () + ;; Don't keep gc-cons-threshold too high. It helps to stave off the GC while + ;; Emacs starts up, but afterwards it causes stuttering and random freezes. So + ;; reset it to a reasonable default. (setq gc-cons-threshold 16777216 gc-cons-percentage 0.1 file-name-handler-alist doom--file-name-handler-alist)) diff --git a/modules/app/email/config.el b/modules/app/email/config.el index 9d97df363..d5d609327 100644 --- a/modules/app/email/config.el +++ b/modules/app/email/config.el @@ -96,15 +96,15 @@ ("mime:image/*" "Messages with images" ?p))) ;; Add a column to display what email account the email belongs to. - (cl-pushnew '(:account - :name "Account" - :shortname "Account" - :help "Which account this email belongs to" - :function - (lambda (msg) - (let ((maildir (mu4e-message-field msg :maildir))) - (format "%s" (substring maildir 1 (string-match-p "/" maildir 1)))))) - mu4e-header-info-custom) + (add-to-list 'mu4e-header-info-custom + '(:account + :name "Account" + :shortname "Account" + :help "Which account this email belongs to" + :function + (lambda (msg) + (let ((maildir (mu4e-message-field msg :maildir))) + (format "%s" (substring maildir 1 (string-match-p "/" maildir 1))))))) ;; In my workflow, emails won't be moved at all. Only their flags/labels are ;; changed. Se we redefine the trash and refile marks not to do any moving. @@ -157,12 +157,12 @@ (imagemagick-register-types)) (after! evil - (mapc (lambda (str) (evil-set-initial-state (car str) (cdr str))) - '((mu4e-main-mode . normal) - (mu4e-view-mode . normal) - (mu4e-headers-mode . normal) - (mu4e-compose-mode . normal) - (mu4e~update-mail-mode . normal))) + (cl-loop for str in '((mu4e-main-mode . normal) + (mu4e-view-mode . normal) + (mu4e-headers-mode . normal) + (mu4e-compose-mode . normal) + (mu4e~update-mail-mode . normal)) + do (evil-set-initial-state (car str) (cdr str))) (setq mu4e-view-mode-map (make-sparse-keymap) ;; mu4e-compose-mode-map (make-sparse-keymap) diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index 12736f5ea..802d4e5c3 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -242,7 +242,7 @@ across windows." (add-hook 'emacs-startup-hook #'evil-escape-mode) :config ;; no `evil-escape' in minibuffer - (push #'minibufferp evil-escape-inhibit-functions) + (cl-pushnew #'minibufferp evil-escape-inhibit-functions) (map! :irvo "C-g" #'evil-escape)) diff --git a/modules/lang/latex/config.el b/modules/lang/latex/config.el index 165febf08..4ecafe133 100644 --- a/modules/lang/latex/config.el +++ b/modules/lang/latex/config.el @@ -74,10 +74,12 @@ (map! :map bibtex-mode-map "C-c \\" #'bibtex-fill-entry)) + (def-package! ivy-bibtex :when (featurep! :completion ivy) :commands ivy-bibtex) + (def-package! helm-bibtex :when (featurep! :completion helm) :commands helm-bibtex) diff --git a/modules/lang/org/autoload/notebook.el b/modules/lang/org/autoload/notebook.el index afa689954..2be931f38 100644 --- a/modules/lang/org/autoload/notebook.el +++ b/modules/lang/org/autoload/notebook.el @@ -18,6 +18,8 @@ ;;;###autoload (defun +org/browse-notes-for-major-mode () + "Browse org notes in `+org-code-notes-dir' in neotree, ido, ivy or helm -- +whichever is available." (interactive) (let ((dir (+org-mode-notes-dir))) (unless (file-in-directory-p dir +org-code-notes-dir) @@ -28,5 +30,7 @@ ;;;###autoload (defun +org/browse-notes-for-project () + "Browse org notes in `+org-project-notes-dir' in neotree, ido, ivy or helm -- +whichever is available." (interactive) (+org--explore-notes +org-project-notes-dir))