diff --git a/core/core-editor.el b/core/core-editor.el index 0b5795e6a..b042ae6b8 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -168,7 +168,7 @@ successfully sets indent_style/indent_size.") (setq save-place-file (concat doom-cache-dir "saveplace") save-place-forget-unreadable-files t save-place-limit 200) - (def-advice! doom--recenter-on-load-saveplace-a (&rest _) + (defadvice! doom--recenter-on-load-saveplace-a (&rest _) "Recenter on cursor when loading a saved place." :after-while #'save-place-find-file-hook (if buffer-file-name (ignore-errors (recenter)))) @@ -199,14 +199,14 @@ successfully sets indent_style/indent_size.") (better-jumper-mode +1) (add-hook 'better-jumper-post-jump-hook #'recenter) - (defun doom-set-jump-a (orig-fn &rest args) + (defadvice! doom-set-jump-a (orig-fn &rest args) "Set a jump point and ensure ORIG-FN doesn't set any new jump points." (better-jumper-set-jump (if (markerp (car args)) (car args))) (let ((evil--jumps-jumping t) (better-jumper--jumping t)) (apply orig-fn args))) - (defun doom-set-jump-maybe-a (orig-fn &rest args) + (defadvice! doom-set-jump-maybe-a (orig-fn &rest args) "Set a jump point if ORIG-FN returns non-nil." (let ((origin (point-marker)) (result @@ -257,7 +257,7 @@ successfully sets indent_style/indent_size.") (push '(t tab-width) dtrt-indent-hook-generic-mapping-list) (defvar dtrt-indent-run-after-smie) - (def-advice! doom--fix-broken-smie-modes-a (orig-fn arg) + (defadvice! doom--fix-broken-smie-modes-a (orig-fn arg) "Some smie modes throw errors when trying to guess their indentation, like `nim-mode'. This prevents them from leaving Emacs in a broken state." :around #'dtrt-indent-mode @@ -381,11 +381,11 @@ successfully sets indent_style/indent_size.") `(("." . ,(concat doom-cache-dir "undo-tree-hist/")))) (when (executable-find "zstd") - (def-advice! doom-undo-tree-make-history-save-file-name-a (file) + (defadvice! doom--undo-tree-make-history-save-file-name-a (file) :filter-return #'undo-tree-make-history-save-file-name (concat file ".zst"))) - (def-advice! doom-undo-tree-strip-text-properties-a (&rest _) + (defadvice! doom--undo-tree-strip-text-properties-a (&rest _) :before #'undo-list-transfer-to-tree (dolist (item buffer-undo-list) (and (consp item) diff --git a/core/core-lib.el b/core/core-lib.el index 4fe03fca2..29d655b29 100644 --- a/core/core-lib.el +++ b/core/core-lib.el @@ -357,31 +357,6 @@ If N and M = 1, there's no benefit to using this macro over `remove-hook'. (cl-loop for (_var _val hook fn) in (doom--setq-hook-fns hooks vars 'singles) collect `(remove-hook ',hook #',fn)))) -(defmacro def-advice! (symbol arglist docstring where places &rest body) - "Define an advice called NAME and add it to PLACES. - -ARGLIST is as in `defun'. WHERE is a keyword as passed to `advice-add', and -PLACE is the function to which to add the advice, like in `advice-add'. -DOCSTRING and BODY are as in `defun'." - (declare (doc-string 3) (indent defun)) - (unless (stringp docstring) - (push places body) - (setq places where - where docstring - docstring nil)) - `(progn - (fset ',symbol (lambda ,arglist ,@body)) - (put ',symbol 'function-documentation - (format "%sThis is %s advice for the following functions: %s" - ,(if docstring (concat docstring "\n\n") "") - ,where - (mapconcat (lambda (p) (format "`%s'" p)) - (doom-enlist ,places) ", "))) - (dolist (target (doom-enlist ,places)) - (if (eq ,where :remove) - (advice-remove target #',symbol) - (advice-add target ,where #',symbol))))) - (defmacro file-exists-p! (spec &optional directory) "Returns non-nil if the files in SPEC all exist. @@ -490,5 +465,33 @@ writes to `standard-output'." (save-silently t)) (prog1 ,@forms (message "")))))) + +;; +;;; Definers + +(define-obsolete-function-alias 'def-advice! 'defadvice!) +(defmacro defadvice! (symbol arglist &optional docstring &rest body) + "Define an advice called NAME and add it to PLACES. + +ARGLIST is as in `defun'. WHERE is a keyword as passed to `advice-add', and +PLACE is the function to which to add the advice, like in `advice-add'. +DOCSTRING and BODY are as in `defun'. + +\(fn SYMBOL ARGLIST &optional DOCSTRING &rest [WHERE PLACES...] BODY\)" + (declare (doc-string 3) (indent defun)) + (unless (stringp docstring) + (push docstring body) + (setq docstring nil)) + (let (where-alist) + (while (keywordp (car body)) + (push `(cons ,(pop body) (doom-enlist ,(pop body))) + where-alist)) + `(progn + (defun ,symbol ,arglist ,docstring ,@body) + ,(when where-alist + `(dolist (targets (list ,@(nreverse where-alist))) + (dolist (target (cdr targets)) + (advice-add target (car targets) #',symbol))))))) + (provide 'core-lib) ;;; core-lib.el ends here diff --git a/core/core-packages.el b/core/core-packages.el index 609bc2389..b95f74c49 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -85,7 +85,7 @@ missing) and shouldn't be deleted.") ("org" . ,(concat proto "://orgmode.org/elpa/"))))) ;; Don't save `package-selected-packages' to `custom-file' -(def-advice! doom--package-inhibit-custom-file-a (&optional value) +(defadvice! doom--package-inhibit-custom-file-a (&optional value) :override #'package--save-selected-packages (if value (setq package-selected-packages value))) @@ -111,7 +111,7 @@ missing) and shouldn't be deleted.") autoload-compute-prefixes nil) ;; Straight is hardcoded to operate out of ~/.emacs.d/straight. Not on my watch! -(def-advice! doom--straight-use-local-dir-a (orig-fn &rest args) +(defadvice! doom--straight-use-local-dir-a (orig-fn &rest args) :around #'straight--emacs-dir (let ((user-emacs-directory doom-local-dir)) (apply orig-fn args))) diff --git a/core/core-projects.el b/core/core-projects.el index 6ed582074..a1da16ded 100644 --- a/core/core-projects.el +++ b/core/core-projects.el @@ -118,7 +118,7 @@ c) are not valid projectile projects." (unless (executable-find "tr") (setq projectile-git-submodule-command nil)))) - (def-advice! doom--projectile-cache-timers-a () + (defadvice! doom--projectile-cache-timers-a () "Persist `projectile-projects-cache-time' across sessions, so that `projectile-files-cache-expire' checks won't reset when restarting Emacs." :before #'projectile-serialize-cache @@ -128,7 +128,7 @@ c) are not valid projectile projects." (setq projectile-projects-cache-time (projectile-unserialize doom-projectile-cache-timer-file))) - (def-advice! doom--projectile-default-generic-command-a (orig-fn &rest args) + (defadvice! doom--projectile-default-generic-command-a (orig-fn &rest args) "If projectile can't tell what kind of project you're in, it issues an error when using many of projectile's command, e.g. `projectile-compile-command', `projectile-run-project', `projectile-test-project', and @@ -142,7 +142,7 @@ the command instead." ;; Projectile root-searching functions can cause an infinite loop on TRAMP ;; connections, so disable them. ;; TODO Is this still necessary? - (def-advice! doom--projectile-locate-dominating-file-a (orig-fn file name) + (defadvice! doom--projectile-locate-dominating-file-a (orig-fn file name) "Don't traverse the file system if on a remote connection." :around #'projectile-locate-dominating-file (when (and (stringp file) diff --git a/core/core-ui.el b/core/core-ui.el index f07dade2e..40606a949 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -217,7 +217,7 @@ read-only or not file-visiting." (setq confirm-nonexistent-file-or-buffer t) -(def-advice! doom-switch-to-fallback-buffer-maybe-a (orig-fn) +(defadvice! doom--switch-to-fallback-buffer-maybe-a (orig-fn) "Switch to `doom-fallback-buffer' if on last real buffer. Advice for `kill-current-buffer'. If in a dedicated window, delete it. If there @@ -457,8 +457,8 @@ treat Emacs as a non-application window." all-the-icons-material all-the-icons-alltheicon) :init - (def-advice! doom--disable-all-the-icons-in-tty-a (orig-fn &rest args) - "all-the-icons doesn't work in the terminal, so we \"disable\" them." + (defadvice! doom--disable-all-the-icons-in-tty-a (orig-fn &rest args) + "Return a blank string in tty Emacs, which doesn't support multiple fonts." :around '(all-the-icons-octicon all-the-icons-material all-the-icons-faicon all-the-icons-fileicon all-the-icons-wicon all-the-icons-alltheicon) @@ -620,14 +620,14 @@ Fonts are specified by `doom-font', `doom-variable-pitch-font', (let ((doom--prefer-theme-elc t)) (load-theme doom-theme t))))) -(def-advice! doom--run-load-theme-hooks-a (theme &optional _no-confirm no-enable) +(defadvice! doom--run-load-theme-hooks-a (theme &optional _no-confirm no-enable) "Set up `doom-load-theme-hook' to run after `load-theme' is called." :after #'load-theme (unless no-enable (setq doom-theme theme) (run-hooks 'doom-load-theme-hook))) -(def-advice! doom--prefer-compiled-theme-a (orig-fn &rest args) +(defadvice! doom--prefer-compiled-theme-a (orig-fn &rest args) "Make `load-theme' prioritize the byte-compiled theme for a moderate boost in startup (or theme switch) time, so long as `doom--prefer-theme-elc' is non-nil." :around #'load-theme diff --git a/modules/app/irc/config.el b/modules/app/irc/config.el index df4b7e62b..eb4f91b2c 100644 --- a/modules/app/irc/config.el +++ b/modules/app/irc/config.el @@ -92,7 +92,8 @@ playback.") (add-hook 'circe-channel-mode-hook #'turn-on-visual-line-mode) - (def-advice! +irc-circe-disconnect-hook-a (&rest _) + (defadvice! +irc--circe-run-disconnect-hook-a (&rest _) + "Runs `+irc-disconnect-hook' after circe disconnects." :after #'circe--irc-conn-disconnected (run-hooks '+irc-disconnect-hook)) diff --git a/modules/completion/company/config.el b/modules/completion/company/config.el index 966ce9fe9..ba62f0b3c 100644 --- a/modules/completion/company/config.el +++ b/modules/completion/company/config.el @@ -27,7 +27,7 @@ ;; Allow users to switch between backends on the fly. E.g. C-x C-s followed ;; by C-x C-n, will switch from `company-yasnippet' to ;; `company-dabbrev-code'. - (def-advice! +company-abort-previous-a (&rest _) + (defadvice! +company--abort-previous-a (&rest _) :before #'company-begin-backend (company-abort))) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index 81bb25cd0..fe7c0c192 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -83,7 +83,7 @@ be negative.") :init (when (and EMACS26+ (featurep! +childframe)) (setq helm-display-function #'+helm-posframe-display-fn) - (def-advice! +helm--fix-get-font-height-a (orig-fn position) + (defadvice! +helm--fix-get-font-height-a (orig-fn position) "Fix \"Specified window is not displaying the current buffer\" error." :around #'posframe--get-font-height (ignore-errors (funcall orig-fn position)))) diff --git a/modules/completion/ido/config.el b/modules/completion/ido/config.el index b29c102e8..9534c81f4 100644 --- a/modules/completion/ido/config.el +++ b/modules/completion/ido/config.el @@ -28,7 +28,7 @@ (insert "~/") (call-interactively #'self-insert-command)))) - (def-advice! +ido-sort-mtime-a () + (defadvice! +ido--sort-mtime-a () "Sort ido filelist by mtime instead of alphabetically." :override #'ido-sort-mtime (setq ido-temp-list diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index 5151e8657..7edd6df70 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -93,7 +93,7 @@ immediately runs it on the current candidate (ending the ivy session)." (after! yasnippet (add-to-list 'yas-prompt-functions #'+ivy-yas-prompt nil #'eq)) - (def-advice! +ivy--inhibit-ivy-in-evil-ex-a (orig-fn &rest args) + (defadvice! +ivy--inhibit-in-evil-ex-a (orig-fn &rest args) "`ivy-completion-in-region' struggles with completing certain evil-ex-specific constructs, so we disable it solely in evil-ex." :around #'evil-ex diff --git a/modules/config/default/+emacs.el b/modules/config/default/+emacs.el index 29c9b0c88..56981eec0 100644 --- a/modules/config/default/+emacs.el +++ b/modules/config/default/+emacs.el @@ -12,7 +12,7 @@ (use-package! expand-region :commands (er/contract-region er/mark-symbol er/mark-word) :config - (def-advice! doom--quit-expand-region-a () + (defadvice! doom--quit-expand-region-a () "Properly abort an expand-region region." :before '(evil-escape doom/escape) (when (memq last-command '(er/expand-region er/contract-region)) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 7f8276586..d165b550d 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -8,7 +8,7 @@ doom-leader-key doom-localleader-key doom-leader-alt-key doom-localleader-alt-key)) -(def-advice! +default-evil-collection-disable-blacklist-a (orig-fn) +(defadvice! +default-evil-collection-disable-blacklist-a (orig-fn) :around #'evil-collection-vterm-toggle-send-escape ; allow binding to ESC (let (evil-collection-key-blacklist) (apply orig-fn))) diff --git a/modules/editor/fold/config.el b/modules/editor/fold/config.el index 616e625ad..05ab1000f 100644 --- a/modules/editor/fold/config.el +++ b/modules/editor/fold/config.el @@ -28,7 +28,7 @@ ;; Nicer code-folding overlays (with fringe indicators) hs-set-up-overlay #'+fold-hideshow-set-up-overlay-fn) - (def-advice! +fold-hideshow-ensure-mode-a (&rest _) + (defadvice! +fold--hideshow-ensure-mode-a (&rest _) "Ensure `hs-minor-mode' is enabled." :before '(hs-toggle-hiding hs-hide-block hs-hide-level hs-show-all hs-hide-all) (unless (bound-and-true-p hs-minor-mode) diff --git a/modules/editor/multiple-cursors/config.el b/modules/editor/multiple-cursors/config.el index 9eaa9f150..c2eddefb6 100644 --- a/modules/editor/multiple-cursors/config.el +++ b/modules/editor/multiple-cursors/config.el @@ -107,7 +107,7 @@ ;; When running edit-lines, point will return (position + 1) as a result of ;; how evil deals with regions - (def-advice! +multiple-cursors-adjust-mark-for-evil-a (&rest _) + (defadvice! +multiple--cursors-adjust-mark-for-evil-a (&rest _) :before #'mc/edit-lines (when (and (bound-and-true-p evil-mode) (not (memq evil-state '(insert emacs)))) diff --git a/modules/editor/objed/config.el b/modules/editor/objed/config.el index 9fdb16f0a..adfabed32 100644 --- a/modules/editor/objed/config.el +++ b/modules/editor/objed/config.el @@ -10,14 +10,14 @@ (defvar +objed--extra-face-remaps nil) - (def-advice! +objed-add-face-remaps-a (&rest _) + (defadvice! +objed--add-face-remaps-a (&rest _) "Add extra face remaps when objed activates." :after 'objed--init (when (memq 'objed-hl (assq 'hl-line face-remapping-alist)) (push (face-remap-add-relative 'solaire-hl-line-face 'objed-hl) +objed--extra-face-remaps))) - (def-advice! +objed-remove-face-remaps-a (&rest _) + (defadvice! +objed--remove-face-remaps-a (&rest _) "Remove extra face remaps when objed de-activates." :after 'objed--reset (unless (memq 'objed-hl (assq 'hl-line face-remapping-alist)) diff --git a/modules/editor/snippets/config.el b/modules/editor/snippets/config.el index a14d25603..77c834019 100644 --- a/modules/editor/snippets/config.el +++ b/modules/editor/snippets/config.el @@ -75,7 +75,7 @@ :defer t :init (setq aya-persist-snippets-dir (concat doom-etc-dir "auto-snippets/")) :config - (def-advice! +snippets-inhibit-yas-global-mode (orig-fn &rest args) + (defadvice! +snippets--inhibit-yas-global-mode (orig-fn &rest args) "auto-yasnippet enables `yas-global-mode'. This is obnoxious for folks like us who use yas-minor-mode and enable yasnippet more selectively. This advice swaps `yas-global-mode' with `yas-minor-mode'." diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index 224fae0c9..e4682e506 100755 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -56,7 +56,7 @@ ;; confusing than helpful. (advice-add #'dired-k--highlight-by-file-attribyte :override #'ignore) - (def-advice! +dired-interrupt-process-a (orig-fn &rest args) + (defadvice! +dired--interrupt-process-a (orig-fn &rest args) "Fixes dired-k killing git processes too abruptly, leaving behind disruptive .git/index.lock files." :around #'dired-k--start-git-status @@ -64,7 +64,7 @@ (symbol-function #'interrupt-process))) (apply orig-fn args))) - (def-advice! +dired-dired-k-highlight-a (orig-fn &rest args) + (defadvice! +dired--dired-k-highlight-a (orig-fn &rest args) "Butt out if the requested directory is remote (i.e. through tramp)." :around #'dired-k--highlight (unless (file-remote-p default-directory) @@ -84,7 +84,7 @@ (set-popup-rule! "^\\*ranger" :ignore t) - (def-advice! +dired-cleanup-header-line-a () + (defadvice! +dired--cleanup-header-line-a () "Ranger fails to clean up `header-line-format' when it is closed, so..." :before #'ranger-revert (dolist (buffer (buffer-list)) @@ -93,7 +93,7 @@ (when (equal header-line-format '(:eval (ranger-header-line))) (setq header-line-format nil)))))) - (def-advice! +dired-cleanup-mouse1-bind-a () + (defadvice! +dired--cleanup-mouse1-bind-a () "Ranger binds an anonymous function to mouse-1 after previewing a buffer that prevents the user from escaping the window with the mouse. This command is never cleaned up if the buffer already existed before ranger was initialized, so diff --git a/modules/emacs/vc/config.el b/modules/emacs/vc/config.el index e646d0c3b..a7b80a4d2 100644 --- a/modules/emacs/vc/config.el +++ b/modules/emacs/vc/config.el @@ -10,7 +10,7 @@ (after! git-timemachine ;; HACK Waiting for https://gitlab.com/pidu/git-timemachine/issues/77 - (def-advice! +vc-git-timemachine-show-commit-a () + (defadvice! +vc--git-timemachine-show-commit-a () "Fix `git-timemachine-show-commit'." :override #'git-timemachine-show-commit (interactive) diff --git a/modules/email/mu4e/config.el b/modules/email/mu4e/config.el index e870ad612..d945836ba 100644 --- a/modules/email/mu4e/config.el +++ b/modules/email/mu4e/config.el @@ -88,9 +88,8 @@ (let ((maildir (mu4e-message-field msg :maildir))) (format "%s" (substring maildir 1 (string-match-p "/" maildir 1))))))) - ;; Refresh the current view after marks are executed - (def-advice! +mu4e-refresh-a (&rest _) :after #'mu4e-mark-execute-all - (mu4e-headers-rerun-search)) + (defadvice! +mu4e--refresh-current-view-a (&rest _) + :after #'mu4e-mark-execute-all (mu4e-headers-rerun-search)) (when (featurep! :tools flyspell) (add-hook 'mu4e-compose-mode-hook #'flyspell-mode)) diff --git a/modules/input/chinese/config.el b/modules/input/chinese/config.el index 8b2d6b13b..09cac0dd0 100644 --- a/modules/input/chinese/config.el +++ b/modules/input/chinese/config.el @@ -31,7 +31,7 @@ ;; ;;; Hacks -(def-advice! +chinese-org-html-paragraph-a (paragraph contents info) +(defadvice! +chinese--org-html-paragraph-a (paragraph contents info) "Join consecutive Chinese lines into a single long line without unwanted space when exporting org-mode to html." :filter-args #'org-html-paragraph diff --git a/modules/input/japanese/config.el b/modules/input/japanese/config.el index 32e22e9fc..7d201fe8b 100644 --- a/modules/input/japanese/config.el +++ b/modules/input/japanese/config.el @@ -41,7 +41,7 @@ ;; ;;; Hacks -(def-advice! +japanese-org-html-paragraph-a (paragraph contents info) +(defadvice! +japanese--org-html-paragraph-a (paragraph contents info) "Join consecutive Japanese lines into a single long line without unwanted space when exporting org-mode to html." :filter-args #'org-html-paragraph diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index 15928a695..3bdf20ae0 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -114,7 +114,7 @@ This marks a foldable marker for `outline-minor-mode' in elisp buffers.") (advice-add 'describe-function-1 :after #'elisp-demos-advice-describe-function-1) (advice-add 'helpful-update :after #'elisp-demos-advice-helpful-update) :config - (def-advice! +emacs-lisp-elisp-demos--search-a (orig-fn symbol) + (defadvice! +emacs-lisp--add-doom-elisp-demos-a (orig-fn symbol) "Add Doom's own demos to help buffers." :around #'elisp-demos--search (or (funcall orig-fn symbol) diff --git a/modules/lang/haskell/+dante.el b/modules/lang/haskell/+dante.el index 2c5d89049..801303b9b 100644 --- a/modules/lang/haskell/+dante.el +++ b/modules/lang/haskell/+dante.el @@ -19,15 +19,16 @@ (set-company-backend! 'dante-mode #'dante-company) - (defun +haskell*restore-modified-state (orig-fn &rest args) - "Dante quietly saves the current buffer (without triggering save hooks) before + (defadvice! +haskell--restore-modified-state-a (orig-fn &rest args) + "Marks the buffer as falsely modified. +Dante quietly saves the current buffer (without triggering save hooks) before invoking flycheck, unexpectedly leaving the buffer in an unmodified state. This is annoying if we depend on save hooks to do work on the buffer (like -reformatting), so we restore a (false) modified state." +reformatting)." + :around #'dante-async-load-current-buffer (let ((modified-p (buffer-modified-p))) (apply orig-fn args) (if modified-p (set-buffer-modified-p t)))) - (advice-add #'dante-async-load-current-buffer :around #'+haskell*restore-modified-state) (when (featurep 'evil) (add-hook 'dante-mode-hook #'evil-normalize-keymaps)) diff --git a/modules/lang/nim/config.el b/modules/lang/nim/config.el index dfb718874..02b81aba3 100644 --- a/modules/lang/nim/config.el +++ b/modules/lang/nim/config.el @@ -12,7 +12,7 @@ nimsuggest isn't installed." (when IS-WINDOWS ;; TODO File PR/report upstream (https://github.com/nim-lang/nim-mode) - (def-advice! +nim--suggest-get-dirty-dir-a () + (defadvice! +nim--suggest-get-dirty-dir-a () "The original `nimsuggest--get-dirty-dir' incorrectly extracts the frame number from the string representation of `selected-frame', which can contain characters that are illegal on Windows, causing invalid argument errors when @@ -24,7 +24,7 @@ characters that are illegal on Windows, causing invalid argument errors when (file-name-as-directory (concat nimsuggest-dirty-directory frame-num-str)))) ;; TODO File PR/report upstream (https://github.com/nim-lang/nim-mode) - (def-advice! +nim--suggest-get-temp-file-name-a (path) + (defadvice! +nim--suggest-get-temp-file-name-a (path) "Removes invalid characters from the temp file path, including the unicode character that colon is replaced with, which is known to cause issues on windows." diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 3ce6a5e0b..78306338d 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -137,14 +137,14 @@ when executed.") take one argument (the language specified in the src block, as a string). Stops at the first function to return non-nil.") - (def-advice! +org--src-lazy-load-library-a (lang) + (defadvice! +org--src-lazy-load-library-a (lang) "Lazy load a babel package to ensure syntax highlighting." :before #'org-src--get-lang-mode (or (cdr (assoc lang org-src-lang-modes)) (fboundp (intern-soft (format "%s-mode" lang))) (require (intern-soft (format "ob-%s" lang)) nil t))) - (def-advice! +org--babel-lazy-load-library-a (info) + (defadvice! +org--babel-lazy-load-library-a (info) "Load babel libraries lazily when babel blocks are executed." :after-while #'org-babel-confirm-evaluate (let* ((lang (nth 0 info)) @@ -218,7 +218,7 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default (file+headline +org-capture-project-notes-file "Unreleased") "* TODO %?\n%i\n%a" :prepend t :kill-buffer t))) - (def-advice! +org-capture-expand-variable-file-a (file) + (defadvice! +org--capture-expand-variable-file-a (file) "If a variable is used for a file path in `org-capture-template', it is used as is, and expanded relative to `default-directory'. This changes it to be relative to `org-directory', unless it is an absolute path." @@ -227,7 +227,7 @@ relative to `org-directory', unless it is an absolute path." (expand-file-name (symbol-value file) org-directory) file)) - (def-advice! +org--prevent-save-prompts-when-refiling-a (&rest _) + (defadvice! +org--prevent-save-prompts-when-refiling-a (&rest _) "Fix #462: when refiling from org-capture, Emacs prompts to kill the underlying, modified buffer. This fixes that." :after 'org-refile @@ -314,7 +314,7 @@ path too.") ;; place, and I want to be able to refer back to old exports if needed. (setq +org-export-directory (expand-file-name +org-export-directory org-directory)) - (def-advice! +org--export-output-file-name-a (args) + (defadvice! +org--export-output-file-name-a (args) "Return a centralized export location unless one is provided or the current file isn't in `org-directory'." :filter-args #'org-export-output-file-name @@ -445,7 +445,7 @@ file isn't in `org-directory'." conditions where a window's buffer hasn't changed at the time this hook is run." (run-at-time 0.1 nil #'recenter))) - (def-advice! +org--strip-properties-from-outline-a (orig-fn path &optional width prefix separator) + (defadvice! +org--strip-properties-from-outline-a (orig-fn path &optional width prefix separator) "Remove link syntax and fix variable height text (e.g. org headings) in the eldoc string." :around #'org-format-outline-path @@ -471,7 +471,7 @@ the current workspace." (get-current-persp) nil))))) - (def-advice! +org--exclude-agenda-buffers-from-recentf-a (orig-fn file) + (defadvice! +org--exclude-agenda-buffers-from-recentf-a (orig-fn file) "Prevent temporarily opened agenda buffers from polluting recentf." :around #'org-get-agenda-file-buffer (let ((recentf-exclude (list (lambda (_file) t)))) @@ -719,7 +719,7 @@ between the two." browsers) can invoke specialized behavior from Emacs. Normally you'd simply require `org-protocol' and use it, but the package loads all of org for no compelling reason, so..." - (def-advice! +org--server-visit-files-a (args) + (defadvice! +org--server-visit-files-a (args) "Advise `server-visit-flist' to invoke `org-protocol' lazily." :filter-args #'server-visit-files (cl-destructuring-bind (files proc &optional nowait) args @@ -853,7 +853,7 @@ compelling reason, so..." ;;; Packages (after! toc-org (setq toc-org-hrefify-default "gh") - (def-advice! +org-unfold-toc-a (&rest _) + (defadvice! +org--unfold-toc-a (&rest _) :before #'toc-org-insert-toc (save-excursion (when (re-search-forward toc-org-toc-org-regexp (point-max) t) @@ -882,7 +882,8 @@ compelling reason, so..." :commands org-clock-save :init (setq org-clock-persist t) - (def-advice! +org-clock-load-a (&rest _) + (defadvice! +org--clock-load-a (&rest _) + "Lazy load org-clock until its commands are used." :before '(org-clock-in org-clock-out org-clock-in-last diff --git a/modules/lang/org/contrib/dragndrop.el b/modules/lang/org/contrib/dragndrop.el index 211263e4b..9ebac3bed 100644 --- a/modules/lang/org/contrib/dragndrop.el +++ b/modules/lang/org/contrib/dragndrop.el @@ -22,7 +22,7 @@ ;; Handle non-image files a little differently. Images should be inserted ;; as-is, as image previews. Other files, like pdfs or zips, should be linked ;; to, with an icon indicating the type of file. - (def-advice! +org-dragndrop-insert-link-a (_link filename) + (defadvice! +org--dragndrop-insert-link-a (_link filename) "Produces and inserts a link to FILENAME into the document. If FILENAME is an image, produce an attach:%s path, otherwise use file:%s (with @@ -50,7 +50,7 @@ an file icon produced by `+org-attach--icon')." (file-name-nondirectory (directory-file-name filename))))))) (advice-add #'org-download--dir-2 :override #'ignore) - (def-advice! +org-dragndrop-download-fullname-a (path) + (defadvice! +org--dragndrop-download-fullname-a (path) "Write PATH relative to current file." :filter-return #'org-download--fullname (let ((dir (or (if buffer-file-name (file-name-directory buffer-file-name)) diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 54d63c244..2ff04927f 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -54,7 +54,7 @@ ;; `rustic-setup-rls' uses `package-installed-p' unnecessarily, which breaks ;; because Doom lazy loads package.el. - (def-advice! +rust--disable-package-call-a (orig-fn &rest args) + (defadvice! +rust--disable-package-call-a (orig-fn &rest args) :around #'rustic-setup-rls (cl-letf (((symbol-function 'package-installed-p) (symbol-function 'ignore))) diff --git a/modules/tools/debugger/config.el b/modules/tools/debugger/config.el index fd18b8b3c..ce7ad240f 100644 --- a/modules/tools/debugger/config.el +++ b/modules/tools/debugger/config.el @@ -69,7 +69,7 @@ (set-popup-rule! "^\\*\\(?:trepanjs:\\(?:g\\|zsh\\|bash\\)db\\|pdb \\)" :size 20 :select nil :quit nil) - (def-advice! +debugger-cleanup-after-realgud-a (&optional buf) + (defadvice! +debugger--cleanup-after-realgud-a (&optional buf) "Kill command buffer when debugging session ends (which closes its popup)." :after #'realgud:terminate (when (stringp buf) @@ -81,7 +81,7 @@ ;; Monkey-patch `realgud:run-process' to run in a popup. ;; TODO Find a more elegant solution ;; FIXME Causes realgud:cmd-* to focus popup on every invocation - (def-advice! +debugger-realgud-run-process-a + (defadvice! +debugger--realgud-open-in-other-window-a (debugger-name script-filename cmd-args minibuffer-history-var &optional no-reset) :override #'realgud:run-process (let* ((cmd-buf (apply #'realgud-exec-shell debugger-name script-filename diff --git a/modules/tools/direnv/config.el b/modules/tools/direnv/config.el index 44664f41a..dd432e919 100644 --- a/modules/tools/direnv/config.el +++ b/modules/tools/direnv/config.el @@ -29,14 +29,14 @@ buffer/window/frame switch, which is less expensive." nil `((,(regexp-opt +direnv--keywords 'symbols) (0 font-lock-keyword-face)))))) - (def-advice! +direnv--update-a (&rest _) + (defadvice! +direnv--update-a (&rest _) "Update direnv. Useful to advise functions that may run environment-sensitive logic like `flycheck-default-executable-find'. This fixes flycheck issues with direnv and on nix." :before #'flycheck-default-executable-find (direnv--maybe-update-environment)) - (def-advice! +direnv--fail-gracefully-a (orig-fn) + (defadvice! +direnv--fail-gracefully-a (orig-fn) "Don't try to update direnv if the executable isn't present." :around #'direnv--maybe-update-environment (if (executable-find "direnv") diff --git a/modules/tools/editorconfig/config.el b/modules/tools/editorconfig/config.el index 81fd01ef0..01b902857 100644 --- a/modules/tools/editorconfig/config.el +++ b/modules/tools/editorconfig/config.el @@ -20,7 +20,7 @@ (use-package! editorconfig :after-call (doom-switch-buffer-hook after-find-file) :config - (def-advice! +editorconfig-smart-detection-a (orig-fn) + (defadvice! +editorconfig--smart-detection-a (orig-fn) "Retrieve the properties for the current file. If it doesn't have an extension, try to guess one." :around #'editorconfig-call-editorconfig-exec diff --git a/modules/tools/eval/config.el b/modules/tools/eval/config.el index 384b305e3..6809e9038 100644 --- a/modules/tools/eval/config.el +++ b/modules/tools/eval/config.el @@ -13,7 +13,7 @@ (set-popup-rule! "^\\*quickrun" :size 0.3 :ttl 0) - (def-advice! +eval-quickrun-auto-close-a (&rest _) + (defadvice! +eval--quickrun-auto-close-a (&rest _) "Allows us to silently re-run quickrun from within the quickrun buffer." :before '(quickrun quickrun-region) (when-let (win (get-buffer-window quickrun--buffer-name)) @@ -22,7 +22,7 @@ (message "")) (delete-window win))) - (def-advice! +eval-quickrun--outputter-replace-region-a () + (defadvice! +eval--quickrun-fix-evil-visual-region-a () "Make `quickrun-replace-region' recognize evil visual selections." :override #'quickrun--outputter-replace-region (let ((output (buffer-substring-no-properties (point-min) (point-max)))) diff --git a/modules/tools/gist/config.el b/modules/tools/gist/config.el index 0226710b3..9a3f608d9 100644 --- a/modules/tools/gist/config.el +++ b/modules/tools/gist/config.el @@ -9,7 +9,7 @@ (set-popup-rule! "^\\*gist-" :ignore t) - (def-advice! +gist-list-render-a (orig-fn &rest args) + (defadvice! +gist--open-in-popup-a (orig-fn &rest args) :around #'gist-list-render (funcall orig-fn (car args) t) (unless (cadr args) diff --git a/modules/tools/lookup/config.el b/modules/tools/lookup/config.el index bfb7f8a2d..d519f2b23 100644 --- a/modules/tools/lookup/config.el +++ b/modules/tools/lookup/config.el @@ -108,7 +108,7 @@ this list.") ;; xref to be one too. (remove-hook 'xref-backend-functions #'etags--xref-backend) ;; ...however, it breaks `projectile-find-tag', unless we put it back. - (def-advice! +lookup-projectile-find-tag-a (orig-fn) + (defadvice! +lookup--projectile-find-tag-a (orig-fn) :around #'projectile-find-tag (let ((xref-backend-functions '(etags--xref-backend t))) (funcall orig-fn))) @@ -143,7 +143,7 @@ this list.") ;; Before `gnutls' is loaded, `gnutls-algorithm-priority' is treated as a ;; lexical variable, which breaks `+lookup*fix-gnutls-error' (defvar gnutls-algorithm-priority) - (def-advice! +lookup-fix-gnutls-error-a (orig-fn url) + (defadvice! +lookup--fix-gnutls-error-a (orig-fn url) "Fixes integer-or-marker-p errors emitted from Emacs' url library, particularly, the `url-retrieve-synchronously' call in `dash-docs-read-json-from-url'. This is part of a systemic issue with Emacs 26's diff --git a/modules/tools/magit/config.el b/modules/tools/magit/config.el index 0bd99ea24..42f097175 100644 --- a/modules/tools/magit/config.el +++ b/modules/tools/magit/config.el @@ -86,14 +86,14 @@ It is passed a user and repository name.") (set-popup-rule! "^\\*?[0-9]+:\\(?:new-\\|[0-9]+$\\)" :size 0.45 :modeline t :ttl 0 :quit nil) (set-popup-rule! "^\\*\\(?:[^/]+/[^ ]+ #[0-9]+\\*$\\|Issues\\|Pull-Requests\\|forge\\)" :ignore t) - (def-advice! +magit--forge-get-repository-lazily-a (&rest _) + (defadvice! +magit--forge-get-repository-lazily-a (&rest _) "Make `forge-get-repository' return nil if the binary isn't built yet. This prevents emacsql getting compiled, which appears to come out of the blue and blocks Emacs for a short while." :before-while #'forge-get-repository (file-executable-p emacsql-sqlite-executable)) - (def-advice! +magit--forge-build-binary-lazily-a (&rest _) + (defadvice! +magit--forge-build-binary-lazily-a (&rest _) "Make `forge-dispatch' only build emacsql if necessary. Annoyingly, the binary gets built as soon as Forge is loaded. Since we've disabled that in `+magit--forge-get-repository-lazily-a', we must manually diff --git a/modules/tools/pass/config.el b/modules/tools/pass/config.el index 1dec2e31e..4c790bc69 100644 --- a/modules/tools/pass/config.el +++ b/modules/tools/pass/config.el @@ -14,7 +14,7 @@ (setq password-store-password-length 12) ;; Fix hard-coded password-store location; respect PASSWORD_STORE_DIR envvar -(def-advice! +pass-read-entry-a (entry) +(defadvice! +pass--respect-pass-dir-envvar-a (entry) "Return a string with the file content of ENTRY." :override #'auth-source-pass--read-entry (with-temp-buffer diff --git a/modules/tools/prodigy/config.el b/modules/tools/prodigy/config.el index 60ccf400d..38e6dcc2e 100644 --- a/modules/tools/prodigy/config.el +++ b/modules/tools/prodigy/config.el @@ -3,7 +3,7 @@ (after! prodigy (set-evil-initial-state! 'prodigy-mode 'emacs) - (def-advice! +prodigy-services-a (orig-fn &rest args) + (defadvice! +prodigy--add-project-property-a (orig-fn &rest args) "Adds a new :project property to prodigy services, which hides the service unless invoked from the relevant project." :around #'prodigy-services diff --git a/modules/tools/wakatime/autoload.el b/modules/tools/wakatime/autoload.el index 1979ccec8..8602b2d37 100644 --- a/modules/tools/wakatime/autoload.el +++ b/modules/tools/wakatime/autoload.el @@ -55,7 +55,7 @@ open a file." ;; this is necessary in case the user opens emacs with file arguments (advice-add 'after-find-file :before #'+wakatime-autostart-h)) -(def-advice! +wakatime-append-options-a (ret) +(defadvice! +wakatime--append-options-a (ret) "Modifies the wakatime command string so that `+wakatime-hide-filenames' and `+wakatime-home' are respected." :filter-return #'wakatime-client-command diff --git a/modules/ui/doom/config.el b/modules/ui/doom/config.el index 64d97e659..da07f3990 100644 --- a/modules/ui/doom/config.el +++ b/modules/ui/doom/config.el @@ -82,7 +82,7 @@ (defun +doom-disable-fringes-in-minibuffer-h (&rest _) (set-window-fringes (minibuffer-window) 0 0 nil))) - (def-advice! +doom--no-fringes-in-which-key-buffer-a (&rest _) + (defadvice! +doom--no-fringes-in-which-key-buffer-a (&rest _) :after 'which-key--show-buffer-side-window (+doom-disable-fringes-in-minibuffer-h) (set-window-fringes (get-buffer-window which-key--buffer) 0 0 nil)) diff --git a/modules/ui/modeline/config.el b/modules/ui/modeline/config.el index 5dd637be1..7956f5913 100644 --- a/modules/ui/modeline/config.el +++ b/modules/ui/modeline/config.el @@ -59,7 +59,7 @@ ;; Some functions modify the buffer, causing the modeline to show a false ;; modified state, so force them to behave. - (def-advice! +modeline--inhibit-modification-hooks-a (orig-fn &rest args) + (defadvice! +modeline--inhibit-modification-hooks-a (orig-fn &rest args) :around #'ws-butler-after-save (with-silent-modifications (apply orig-fn args)))) diff --git a/modules/ui/neotree/config.el b/modules/ui/neotree/config.el index 3a0d26dc4..b93165b98 100644 --- a/modules/ui/neotree/config.el +++ b/modules/ui/neotree/config.el @@ -49,7 +49,7 @@ (defun +neotree-fix-cursor-h (&rest _) (with-current-buffer neo-global--buffer (+neotree*indent-cursor)))) - (def-advice! +neotree-indent-cursor-a (&rest _) + (defadvice! +neotree--indent-cursor-a (&rest _) :after '(neotree-next-line neotree-previous-line) (beginning-of-line) (skip-chars-forward " \t\r"))) diff --git a/modules/ui/popup/+hacks.el b/modules/ui/popup/+hacks.el index ebf16c9f6..a2851f43f 100644 --- a/modules/ui/popup/+hacks.el +++ b/modules/ui/popup/+hacks.el @@ -38,7 +38,7 @@ ;;;###package company -(def-advice! +popup--dont-select-me-a (orig-fn &rest args) +(defadvice! +popup--dont-select-me-a (orig-fn &rest args) :around #'company-show-doc-buffer (let ((+popup--inhibit-select t)) (apply orig-fn args))) @@ -50,7 +50,7 @@ ;; When eshell runs a visual command (see `eshell-visual-commands'), it spawns ;; a term buffer to run it in, but where it spawns it is the problem... - (def-advice! +popup--eshell-undedicate-popup (&rest _) + (defadvice! +popup--eshell-undedicate-popup (&rest _) "Force spawned term buffer to share with the eshell popup (if necessary)." :before #'eshell-exec-visual (when (+popup-window-p) @@ -62,7 +62,7 @@ ;;;###package evil (progn ;; Make evil-mode cooperate with popups - (def-advice! +popup--evil-command-window-a (hist cmd-key execute-fn) + (defadvice! +popup--evil-command-window-a (hist cmd-key execute-fn) "Monkey patch the evil command window to use `pop-to-buffer' instead of `switch-to-buffer', allowing the popup manager to handle it." :override #'evil-command-window @@ -81,7 +81,7 @@ (evil-command-window-mode) (evil-command-window-insert-commands hist))) - (def-advice! +popup--evil-command-window-execute-a () + (defadvice! +popup--evil-command-window-execute-a () "Execute the command under the cursor in the appropriate buffer, rather than the command buffer." :override #'evil-command-window-execute @@ -150,7 +150,7 @@ the command buffer." ;;;###package helpful -(def-advice! +popup--helpful-open-in-origin-window-a (button) +(defadvice! +popup--helpful-open-in-origin-window-a (button) "Open links in non-popup, originating window rather than helpful's window." :override #'helpful--navigate (let ((path (substring-no-properties (button-get button 'path))) @@ -172,7 +172,7 @@ the command buffer." (setq helm-default-display-buffer-functions '(+popup-display-buffer-stacked-side-window-fn)) ;; Fix #897: "cannot open side window" error when TAB-completing file links - (def-advice! +popup--helm-hide-org-links-popup-a (orig-fn &rest args) + (defadvice! +popup--helm-hide-org-links-popup-a (orig-fn &rest args) :around #'org-insert-link (cl-letf* ((old-org-completing-read (symbol-function 'org-completing-read)) ((symbol-function 'org-completing-read) @@ -191,7 +191,7 @@ the command buffer." (apply orig-fn args))) ;; Fix left-over popup window when closing persistent help for `helm-M-x' - (def-advice! +popup--helm-elisp--persistent-help-a (candidate _fun &optional _name) + (defadvice! +popup--helm-elisp--persistent-help-a (candidate _fun &optional _name) :before #'helm-elisp--persistent-help (let (win) (when (and (helm-attr 'help-running-p) @@ -200,7 +200,7 @@ the command buffer." (delete-window win)))) ;; `helm-ag' - (def-advice! +popup--helm-pop-to-buffer-a (orig-fn &rest args) + (defadvice! +popup--helm-pop-to-buffer-a (orig-fn &rest args) :around #'helm-ag--edit (pop-to-buffer (save-window-excursion (apply orig-fn args) @@ -212,7 +212,7 @@ the command buffer." ;;;###package Info -(def-advice! +popup--switch-to-info-window-a (&rest _) +(defadvice! +popup--switch-to-info-window-a (&rest _) :after #'info-lookup-symbol (when-let (win (get-buffer-window "*info*")) (when (+popup-window-p win) @@ -234,7 +234,7 @@ the command buffer." ;; Org has a scorched-earth window management policy I'm not fond of. i.e. it ;; kills all other windows just so it can monopolize the frame. No thanks. We ;; can do better ourselves. - (def-advice! +popup-suppress-delete-other-windows-a (orig-fn &rest args) + (defadvice! +popup--suppress-delete-other-windows-a (orig-fn &rest args) :around '(org-add-log-note org-capture-place-template org-export--dispatch-ui @@ -246,7 +246,7 @@ the command buffer." (apply orig-fn args)) (apply orig-fn args))) - (def-advice! +popup--org-fix-tags-window-a (orig-fn &rest args) + (defadvice! +popup--org-fix-tags-window-a (orig-fn &rest args) "Hides the mode-line in *Org tags* buffer so you can actually see its content and displays it in a side window without deleting all other windows. Ugh, such an ugly hack." @@ -265,7 +265,7 @@ Ugh, such an ugly hack." (apply orig-fn args)) (apply orig-fn args))) - (def-advice! +popup-org-src-pop-to-buffer-a (orig-fn buffer context) + (defadvice! +popup--org-src-pop-to-buffer-a (orig-fn buffer context) "Hand off the src-block window to the popup system by using `display-buffer' instead of switch-to-buffer-*." :around #'org-src-switch-to-buffer @@ -276,7 +276,7 @@ instead of switch-to-buffer-*." (setq org-src-window-setup 'popup-window) ;; Ensure todo, agenda, and other minor popups are delegated to the popup system. - (def-advice! +popup-org-pop-to-buffer-a (orig-fn buf &optional norecord) + (defadvice! +popup--org-pop-to-buffer-a (orig-fn buf &optional norecord) "Use `pop-to-buffer' instead of `switch-to-buffer' to open buffer.'" :around #'org-switch-to-buffer-other-window (if +popup-mode @@ -287,7 +287,7 @@ instead of switch-to-buffer-*." (setq org-agenda-window-setup 'popup-window org-agenda-restore-windows-after-quit nil) ;; Don't monopolize the frame! - (def-advice! +popup-org-agenda-suppress-delete-other-windows-a (orig-fn &rest args) + (defadvice! +popup--org-agenda-suppress-delete-other-windows-a (orig-fn &rest args) :around #'org-agenda-prepare-window (cond ((not +popup-mode) (apply orig-fn args)) @@ -307,7 +307,7 @@ instead of switch-to-buffer-*." ;;;###package persp-mode -(def-advice! +popup--persp-mode-restore-popups-a (&rest _) +(defadvice! +popup--persp-mode-restore-popups-a (&rest _) "Restore popup windows when loading a perspective from file." :after #'persp-load-state-from-file (dolist (window (window-list)) @@ -334,7 +334,7 @@ instead of switch-to-buffer-*." ;;;###package profiler -(def-advice! +popup--profiler-report-find-entry-in-other-window-a (orig-fn function) +(defadvice! +popup--profiler-report-find-entry-in-other-window-a (orig-fn function) :around #'profiler-report-find-entry (cl-letf (((symbol-function 'find-function) (symbol-function 'find-function-other-window))) @@ -365,7 +365,7 @@ instead of switch-to-buffer-*." ;;;###package windmove ;; Users should be able to hop into popups easily, but Elisp shouldn't. -(def-advice! doom--ignore-window-parameters-a (orig-fn &rest args) +(defadvice! +popup--ignore-window-parameters-a (orig-fn &rest args) "Allow *interactive* window moving commands to traverse popups." :around '(windmove-up windmove-down windmove-left windmove-right) (cl-letf (((symbol-function #'windmove-find-other-window) diff --git a/modules/ui/popup/autoload/popup.el b/modules/ui/popup/autoload/popup.el index 22e8ee2ec..cab480ebd 100644 --- a/modules/ui/popup/autoload/popup.el +++ b/modules/ui/popup/autoload/popup.el @@ -600,8 +600,8 @@ Accepts the same arguments as `display-buffer-in-side-window'. You must set ;; Emacs backwards compatibility (unless EMACS27+ - (def-advice! +popup-set-window-dedicated-a (window) - "Ensure `window--dispaly-buffer' respects `display-buffer-mark-dedicated'. + (defadvice! +popup--set-window-dedicated-a (window) + "Ensure `window--display-buffer' respects `display-buffer-mark-dedicated'. This was not so until recent Emacs 27 builds, where it causes breaking errors. This advice ensures backwards compatibility for Emacs <= 26 users." diff --git a/modules/ui/workspaces/config.el b/modules/ui/workspaces/config.el index ba41afbb8..80c42fe63 100644 --- a/modules/ui/workspaces/config.el +++ b/modules/ui/workspaces/config.el @@ -118,7 +118,7 @@ stored in `persp-save-dir'.") (add-to-list 'persp-add-buffer-on-after-change-major-mode-filter-functions #'doom-unreal-buffer-p) - (def-advice! +workspaces-evil-alternate-buffer-a (&optional window) + (defadvice! +workspaces--evil-alternate-buffer-a (&optional window) "Make `evil-alternate-buffer' ignore buffers outside the current workspace." :override #'evil-alternate-buffer (let* ((prev-buffers