From 874b536892fad38e8ae02679c75222ceb1ddc520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Silva?= Date: Thu, 21 Sep 2023 11:55:07 +0100 Subject: [PATCH 01/38] fix(ligatures): set-font-ligatures! reset on nil --- modules/ui/ligatures/autoload/ligatures.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui/ligatures/autoload/ligatures.el b/modules/ui/ligatures/autoload/ligatures.el index b44cc9599..6c8194681 100644 --- a/modules/ui/ligatures/autoload/ligatures.el +++ b/modules/ui/ligatures/autoload/ligatures.el @@ -70,7 +70,7 @@ Note that this will keep all ligatures in `+ligatures-prog-mode-list' active, as ;; NOTE: Doom enforces `ligature-composition-table' to have a single mode per key in the alist. ;; This is less efficient than what ligature.el can do (i.e. use a list of modes, or `t' as a key), ;; but holding this invariant allows resetting with `(set-font-ligatures! 'mode nil)` to work reliably. - (if (null ligatures) + (if (or (null ligatures) (equal ligatures '(nil))) (dolist (mode (ensure-list modes)) (delq! mode ligature-composition-table 'assq)) (after! ligature From bdcf433b04f6be5fad57d3f12e6cc542f1e6f79f Mon Sep 17 00:00:00 2001 From: "Kirill A. Korinsky" Date: Thu, 25 Apr 2024 11:37:44 +0200 Subject: [PATCH 02/38] tweak(wanderlust): hide more technical headers --- modules/email/wanderlust/config.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/email/wanderlust/config.el b/modules/email/wanderlust/config.el index db4a5b696..8e17634e6 100644 --- a/modules/email/wanderlust/config.el +++ b/modules/email/wanderlust/config.el @@ -50,11 +50,13 @@ "^List-.*:" "^Received-SPF:" "^DKIM-.*:" - "^DomainKey-Signature:" + "^DomainKey-.*:" "^SPF-.*:" "^Autocrypt:" "^ARC-.*:" - "^Authentication-Results:") + "^Authentication-Results:" + "^UI-.*:" + "^IronPort.*:") wl-message-visible-field-list '("^Message-Id:" "^User-Agent:" From 954748308bba3755ade685dd6d75cfece08b1d05 Mon Sep 17 00:00:00 2001 From: "Kirill A. Korinsky" Date: Thu, 25 Apr 2024 11:37:58 +0200 Subject: [PATCH 03/38] tweak(wanderlust): switch to use UTF-8 as default charset --- modules/email/wanderlust/config.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/email/wanderlust/config.el b/modules/email/wanderlust/config.el index 8e17634e6..22350066e 100644 --- a/modules/email/wanderlust/config.el +++ b/modules/email/wanderlust/config.el @@ -86,6 +86,13 @@ (setq wl-message-id-domain wl-local-domain)) + ;; We're living in the world where UTF-8 is de facto default charset. + (setq-default mime-charset-for-write 'utf-8) + (setq-default mime-transfer-level 8) + (setq charsets-mime-charset-alist + '(((ascii) . us-ascii) + ((unicode) . utf-8))) + ;; Use x-face only when compface installed (when (modulep! +xface) (autoload 'x-face-decode-message-header "x-face-e21") From c76b336f0dc6d3597a0f514080d429c7b863d857 Mon Sep 17 00:00:00 2001 From: "Kirill A. Korinsky" Date: Thu, 6 Jun 2024 16:26:18 +0100 Subject: [PATCH 04/38] bump: :email wanderlust wanderlust/apel@82eb2325bd14 -> wanderlust/apel@1a6fd3bab2cc wanderlust/flim@abdd2315006e -> wanderlust/flim@23bb29d70a13 wanderlust/semi@9063a4485b14 -> wanderlust/semi@85a52b899ac8 wanderlust/wanderlust@c15e8ece4f34 -> wanderlust/wanderlust@8a0ea2146ee9 --- modules/email/wanderlust/packages.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/email/wanderlust/packages.el b/modules/email/wanderlust/packages.el index d6ec56a78..4e7086a69 100644 --- a/modules/email/wanderlust/packages.el +++ b/modules/email/wanderlust/packages.el @@ -4,11 +4,11 @@ ;; HACK These are wanderlust's dependencies (wanderlust depends on semi, semi ;; depends on flim, flim on apel), but they all have non-standard default ;; branches which straight cannot detect without our help. -(package! apel :recipe (:branch "apel-wl") :pin "82eb2325bd149dc57b43a9ce9402c6c6183e4052") -(package! flim :recipe (:branch "flim-1_14-wl") :pin "abdd2315006eb31476249223569808adb1c0f7b2") -(package! semi :recipe (:branch "semi-1_14-wl") :pin "9063a4485b148a767ea924f0e7cc78d3524ba256") +(package! apel :recipe (:branch "apel-wl") :pin "1a6fd3bab2cc6b0a450c2d801f77a1c9da0f72fb") +(package! flim :recipe (:branch "flim-1_14-wl") :pin "23bb29d70a13cada2eaab425ef80071564586a6d") +(package! semi :recipe (:branch "semi-1_14-wl") :pin "85a52b899ac89be504d9e38d8d406bba98f4b0b3") -(package! wanderlust :pin "c15e8ece4f34f10479e17cda19d10b98f6be3ec1") +(package! wanderlust :pin "8a0ea2146ee919a5344bb25f198d45016bc716d9") (when (modulep! +xface) (package! x-face-e21 From cffb3838ecb0c2c93845a006ca750a4f72d88f1e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 19 Jun 2024 18:33:43 -0400 Subject: [PATCH 05/38] bump: :completion abo-abo/swiper@1f88e5499046 -> abo-abo/swiper@2a25a6fb5b08 company-mode/company-mode@b0a522ac5bf8 -> company-mode/company-mode@1a0fc12a9c3d elken/yasnippet-capf@9043f8275176 -> elken/yasnippet-capf@744dedb7837d emacs-helm/helm@28f62344fed0 -> emacs-helm/helm@f8949afd9b44 karthink/consult-dir@3f5f4b71ebe8 -> karthink/consult-dir@15891383f34d minad/cape@e01e44302348 -> minad/cape@f61da109a9e4 minad/consult@c87b0bf06de0 -> minad/consult@fe4852280006 minad/corfu@35cd5a0f3cba -> minad/corfu@cdc3e13ad312 minad/marginalia@3275d1f85cb0 -> minad/marginalia@da72da4622c7 minad/vertico@68e51fda552a -> minad/vertico@ba650a7ab90d oantolin/embark@d3c9d1b4c890 -> oantolin/embark@9c166c4b96a0 oantolin/orderless@ac4aeb66f331 -> oantolin/orderless@53f5204ad3f5 radian-software/prescient.el@c39bf07c56b4 -> radian-software/prescient.el@0765418e4362 seagle0128/nerd-icons-ivy-rich@7197614b27fd -> seagle0128/nerd-icons-ivy-rich@86a896bb48fe Close: #7862 Fix: #7863 --- modules/completion/company/packages.el | 2 +- modules/completion/corfu/packages.el | 6 +++--- modules/completion/helm/packages.el | 2 +- modules/completion/ivy/packages.el | 6 +++--- modules/completion/vertico/packages.el | 14 +++++++------- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/modules/completion/company/packages.el b/modules/completion/company/packages.el index c4718a4aa..a0ad69ad0 100644 --- a/modules/completion/company/packages.el +++ b/modules/completion/company/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/company/packages.el -(package! company :pin "b0a522ac5bf8ba3d2f4f22e3aa846a4f82978a16") +(package! company :pin "1a0fc12a9c3d25e28c22f319e7b097f435b1c27d") (package! company-dict :pin "cd7b8394f6014c57897f65d335d6b2bd65dab1f4") (when (modulep! +childframe) (package! company-box :pin "c4f2e243fba03c11e46b1600b124e036f2be7691")) diff --git a/modules/completion/corfu/packages.el b/modules/completion/corfu/packages.el index 2dee62c70..9bc55ab8f 100644 --- a/modules/completion/corfu/packages.el +++ b/modules/completion/corfu/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/corfu/packages.el -(package! corfu :pin "35cd5a0f3cba89766072e3e933d1fe2ee02f2289") -(package! cape :pin "e01e4430234850263d326ad4521849cd46e64059") +(package! corfu :pin "cdc3e13ad312f5f12b3f78f842fff0b398eb4473") +(package! cape :pin "f61da109a9e4491614938c300291060fd8855c1b") (when (modulep! +icons) (package! nerd-icons-corfu :pin "7077bb76fefc15aed967476406a19dc5c2500b3c")) (when (and (not (modulep! :completion vertico)) @@ -14,4 +14,4 @@ (when (modulep! :os tty) (package! corfu-terminal :pin "501548c3d51f926c687e8cd838c5865ec45d03cc")) (when (modulep! :editor snippets) - (package! yasnippet-capf :pin "9043f8275176a8f198ce8e81fadab1870fa165bb")) + (package! yasnippet-capf :pin "744dedb7837d0c7e07817d36ec752a0cd813f55c")) diff --git a/modules/completion/helm/packages.el b/modules/completion/helm/packages.el index d7a7ae7de..86826dea7 100644 --- a/modules/completion/helm/packages.el +++ b/modules/completion/helm/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/helm/packages.el -(package! helm :pin "28f62344fed0d8be0bcef5aa8a018ba58198ba0c") +(package! helm :pin "f8949afd9b44de4a8149874ef40e1250826d40bd") (package! helm-company :pin "4622b82353220ee6cc33468f710fa5b6b253b7f1") (package! helm-c-yasnippet :pin "c5880e740da101fde7a995e94a7b16c330e57583") (package! helm-descbinds :pin "ca03f02da4e54a1d0a2d5498b86e1639aa808d8c") diff --git a/modules/completion/ivy/packages.el b/modules/completion/ivy/packages.el index beafb3133..244452ed4 100644 --- a/modules/completion/ivy/packages.el +++ b/modules/completion/ivy/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/ivy/packages.el -(package! swiper :pin "1f88e5499046d166d22bf733a3877aec3b424947") +(package! swiper :pin "2a25a6fb5b081cb141c5eccac8ee58ab1feeb747") (package! ivy) (package! ivy-hydra) (package! ivy-avy) @@ -13,7 +13,7 @@ (package! wgrep :pin "208b9d01cfffa71037527e3a324684b3ce45ddc4") (if (modulep! +prescient) - (package! ivy-prescient :pin "c39bf07c56b427bf41aafd7d20eaef5cf3c312b5") + (package! ivy-prescient :pin "0765418e4362099db8788fcb745ce9b7602aa001") (when (modulep! +fuzzy) (package! flx :pin "4b1346eb9a8a76ee9c9dede69738c63ad97ac5b6"))) @@ -21,4 +21,4 @@ (package! ivy-posframe :pin "533a8e368fcabfd534761a5c685ce713376fa594")) (when (modulep! +icons) - (package! nerd-icons-ivy-rich :pin "7197614b27fd562e64b11c91d41bed4443aded90")) + (package! nerd-icons-ivy-rich :pin "86a896bb48fed543993f96e4b288047aa7e013c9")) diff --git a/modules/completion/vertico/packages.el b/modules/completion/vertico/packages.el index e93edda1b..3f8583b27 100644 --- a/modules/completion/vertico/packages.el +++ b/modules/completion/vertico/packages.el @@ -1,19 +1,19 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/vertico/packages.el -(package! vertico :pin "68e51fda552a2f91caab69e83564bc91275b09b1") +(package! vertico :pin "ba650a7ab90d66686ba787937ac9e71f749c598e") -(package! orderless :pin "ac4aeb66f331f4c4a430d5556071e33177304c37") +(package! orderless :pin "53f5204ad3f541e11eb6eeb9b86584964b7a3678") -(package! consult :pin "c87b0bf06de0c3cb60bc8d257c770cb981ddcd19") -(package! consult-dir :pin "3f5f4b71ebe819392cb090cda71bd39a93bd830a") +(package! consult :pin "fe4852280006e61be7f1374d021ee06155ce5a26") +(package! consult-dir :pin "15891383f34d43acc5bb82bda92239b1f54cf178") (when (and (modulep! :checkers syntax) (not (modulep! :checkers syntax +flymake))) (package! consult-flycheck :pin "754f5497d827f7d58009256a21af614cc44378a3")) -(package! embark :pin "d3c9d1b4c890cf365846cc2b418f37341999e79f") -(package! embark-consult :pin "d3c9d1b4c890cf365846cc2b418f37341999e79f") +(package! embark :pin "9c166c4b96a0b1e85401bcc6fb95ce021e7b5013") +(package! embark-consult :pin "9c166c4b96a0b1e85401bcc6fb95ce021e7b5013") -(package! marginalia :pin "3275d1f85cb020280979a050054b843f7563aea2") +(package! marginalia :pin "da72da4622c7b38741e6968678028f7e0564816c") (package! wgrep :pin "208b9d01cfffa71037527e3a324684b3ce45ddc4") From 0a2bcf928c868db5cf41041bd707d3f395504130 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 17:08:26 -0400 Subject: [PATCH 06/38] feat(lookup): +lookup/file: search file tree for relative paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Given a relative file path that: - Doesn't exist, relative to the open file/buffer (default-directory), - Doesn't exist, relative to the project root, - Doesn't satisfy any of the other rules in ffap-alist, - Contains more than one segment (forward slashes), The +lookup/file command will walk the file tree from default-directory to the project root to search for the path, so given: project └── src ├── a │ └── a.h └── b └── b.h This command, run on 'b/b.h' in a/a.h, will open b/b.h (but 'b.h' alone won't work, which is intended, to reduce false positives). Close: #7890 Co-authored-by: liuzhishan --- modules/tools/lookup/autoload/lookup.el | 32 +++++++++++++++++-------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/modules/tools/lookup/autoload/lookup.el b/modules/tools/lookup/autoload/lookup.el index befd335fd..ac4ff3e65 100644 --- a/modules/tools/lookup/autoload/lookup.el +++ b/modules/tools/lookup/autoload/lookup.el @@ -263,29 +263,41 @@ current buffer." (< pt end)))))))) (defun +lookup-ffap-backend-fn (identifier) - "Tries to locate the file at point (or in active selection). -Uses find-in-project functionality (provided by ivy, helm, or project), -otherwise falling back to ffap.el (find-file-at-point)." - (let ((guess + "Tries to locate the file or URL at point (or in active selection). + +See `ffap-alist' for ways to tweak how files are resolved. Falls back to +whatever find-in-project functionality is available in your active completion +framework (ivy, helm, vertico, etc), otherwise falling back to +`find-file-at-point''s file prompt." + (let ((initial-buffer (current-buffer)) + (guess (cond (identifier) ((doom-region-active-p) (buffer-substring-no-properties (doom-region-beginning) (doom-region-end))) - ((if (require 'ffap) (ffap-guesser))) + ((if (require 'ffap) (ffap-guesser))) ; Powerful! See `ffap-alist' ((thing-at-point 'filename t))))) (cond ((and (stringp guess) (or (file-exists-p guess) (ffap-url-p guess))) (find-file-at-point guess)) - ((and (modulep! :completion ivy) - (doom-project-p)) + ;; Walk the file tree up to the project's root for relative paths. + ((and (stringp guess) + ;; Only do this with paths that contain segments, to reduce + ;; false positives. + (string-match-p "/" guess) + (when-let ((dir (locate-dominating-file default-directory guess))) + (when (file-in-directory-p dir (doom-project-root)) + (find-file (doom-path dir guess)) + t)))) + ;; Fallback prompters + ((and (modulep! :completion ivy) (doom-project-p)) (counsel-file-jump guess (doom-project-root))) - ((and (modulep! :completion vertico) - (doom-project-p)) + ((and (modulep! :completion vertico) (doom-project-p)) (+vertico/consult-fd-or-find (doom-project-root) guess)) ((find-file-at-point (ffap-prompter guess)))) - t)) + (not (eq initial-buffer (current-buffer))))) (defun +lookup-bug-reference-backend-fn (_identifier) "Searches for a bug reference in user/repo#123 or #123 format and opens it in From 3037d364b2d2d907467998af5694960f1dbcc7a2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 17:16:28 -0400 Subject: [PATCH 07/38] bump: :lang javascript abicky/nodejs-repl.el@3b841055cad0 -> abicky/nodejs-repl.el@03d0b64768b4 emacs-typescript/typescript.el@4fcb4594819c -> emacs-typescript/typescript.el@fc3a4f3b275e js-emacs/xref-js2@fd6b723e7f1f -> js-emacs/xref-js2@e215af9eedac - (#7865) Adds support for satsifies keyword in typescript-mode. Close: #7865 Co-authored-by: kisaragi-hiu --- modules/lang/javascript/packages.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/lang/javascript/packages.el b/modules/lang/javascript/packages.el index 1196c229f..01ee179db 100644 --- a/modules/lang/javascript/packages.el +++ b/modules/lang/javascript/packages.el @@ -3,17 +3,17 @@ ;; Major modes (package! rjsx-mode :pin "b697fe4d92cc84fa99a7bcb476f815935ea0d919") -(package! typescript-mode :pin "4fcb4594819caf472ae42ea068a1c7795cf07f46") +(package! typescript-mode :pin "fc3a4f3b275e8cf6cf41aa0c9ef42e25ef908feb") ;; Tools (package! js2-refactor :pin "a0977c4ce1918cc266db9d6cd7a2ab63f3a76b9a") (package! npm-mode :pin "3ee7c0bad5b7a041d4739ef3aaa06a3dc764e5eb") ;; Eval -(package! nodejs-repl :pin "3b841055cad00f442e4a9159b1056f59411b6646") +(package! nodejs-repl :pin "03d0b64768b40b71ae54de1b50eb58719e615746") (package! skewer-mode :pin "e5bed351939c92a1f788f78398583c2f83f1bb3c") ;; Programming environment (package! tide :pin "b38dfc3f8fb754e64e48e76fc92d472cb3d1a3dc") (when (modulep! :tools lookup) - (package! xref-js2 :pin "fd6b723e7f1f9793d189a815e1904364dc026b03")) + (package! xref-js2 :pin "e215af9eedac69b40942fff9d5514704f9f4d43e")) From 04057003c2a7320e5a0d543df73bb9405c189541 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 17:18:01 -0400 Subject: [PATCH 08/38] docs: update supported Emacs version in version check --- lisp/doom.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/doom.el b/lisp/doom.el index 81f09466e..3bb8b45c8 100644 --- a/lisp/doom.el +++ b/lisp/doom.el @@ -79,7 +79,7 @@ (when (< emacs-major-version 27) (user-error (concat - "Detected Emacs " emacs-version ", but Doom requires 27.1 or newer (28.1 is\n\n" + "Detected Emacs " emacs-version ", but Doom requires 27.1 or newer (29.3 is\n\n" "recommended). The current Emacs executable in use is:\n\n " (car command-line-args) "\n\nA guide for installing a newer version of Emacs can be found at:\n\n " (format "https://docs.doomemacs.org/-/install/%s" From a61e2912cfe353079daca25dd037bf08a2591d28 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 17:21:10 -0400 Subject: [PATCH 09/38] refactor(cli): bin/doomscript: simplify redirs, update commment --- bin/doomscript | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/bin/doomscript b/bin/doomscript index dd0a22285..490dbeb7d 100755 --- a/bin/doomscript +++ b/bin/doomscript @@ -36,25 +36,25 @@ emacs="$EMACS -q --no-site-file --batch" # on it to provide TMPDIR. And can second as a quick existence check for Emacs. TMPDIR="${TMPDIR:-$($emacs --eval '(princ (temporary-file-directory))' 2>/dev/null)}" if [ -z "$TMPDIR" ]; then - >&2 echo "Error: failed to run Emacs with command '$EMACS'" - >&2 echo - >&2 echo "Are you sure Emacs is installed and in your \$PATH?" + echo "Error: failed to run Emacs with command '$EMACS'" + echo + echo "Are you sure Emacs is installed and in your \$PATH?" exit 1 -fi +fi >&2 # Doom respects $EMACSDIR to tell it where Doom lives. If it fails, then this is # either isn't bash, or it's a posix shell being directly sourced with sh, which # is unsupported. export EMACSDIR="${EMACSDIR:-$(CDPATH='' cd -- "$(dirname -- "${BASH_SOURCE:-$0}")/.." && pwd)}" if [ ! -f "$EMACSDIR/early-init.el" ]; then - >&2 echo "Error: cannot load $EMACSDIR/early-init.el." - >&2 echo - >&2 echo "Either the file doesn't exist (indicating a broken or missing Doom install)" - >&2 echo "or that doomscript is being source directly (which is unsupported)." - >&2 echo - >&2 echo "Set \$EMACSDIR to the path of an existing Doom installation." + echo "Error: cannot load $EMACSDIR/early-init.el." + echo + echo "Either the file doesn't exist (indicating a broken or missing Doom install)" + echo "or that doomscript is being source directly (which is unsupported)." + echo + echo "Set \$EMACSDIR to the path of an existing Doom installation." exit 1 -fi +fi >&2 # Some state that Doom's CLI framework needs to know about the terminal. Read # the comments at the top of bin/doom for explanations. export __DOOMPID="${__DOOMPID:-$$}" @@ -75,8 +75,8 @@ $emacs --load "$EMACSDIR/early-init" \ -- "$@" exit=$? -# To simulate execve syscalls, Doom generates a temporary exit-script if a -# Doomscript returns a 254 exit code. +# To simulate execve syscalls (which replaces the running process), Doom +# generates a temporary exit-script if a Doomscript returns a 254 exit code. if [ "${exit:-0}" -eq 254 ]; then # The user may have a noexec flag set on /tmp, so the exit-script should be # passed to /bin/sh rather than executed directly. From 56f33bc7ed1bc978de1399567c3332a39398d0fe Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 17:26:06 -0400 Subject: [PATCH 10/38] fix(tabs): workaround for ema2159/centaur-tabs#231 `centaur-tabs-line-tab' reads `centaur-tabs-ace-jump-keys' without length guards. If there are fewer entries than you have tabs, you'll see an error (ema2159/centaur-tabs#231), and because the function is inlined and monolithic, advising its behavior is non-trivial. This workaround will mitigate it until it's dealt with upstream. Ref: ema2159/centaur-tabs#231 --- modules/ui/tabs/config.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/ui/tabs/config.el b/modules/ui/tabs/config.el index f9b8af52d..baa8e3219 100644 --- a/modules/ui/tabs/config.el +++ b/modules/ui/tabs/config.el @@ -42,8 +42,18 @@ (assq (current-buffer) centaur-tabs--buffers)))) (car (nth 2 buf)) (setq time now) - (funcall fn)))))) + (funcall fn))))) + ;; This is deferred twice to ensure these settings apply *after* any user + ;; configuration! + (after! centaur-tabs + ;; HACK: `centaur-tabs-line-tab' reads `centaur-tabs-ace-jump-keys' without + ;; length guards. If there are fewer entries than you have tabs, you'll + ;; see an error (ema2159/centaur-tabs#231). + ;; REVIEW: Remove when ema2159/centaur-tabs#231 is dealt with. + (when (< (length centaur-tabs-ace-jump-keys) 100) + (setq centaur-tabs-ace-jump-keys + (append centaur-tabs-ace-jump-keys (make-list 100 ?\ )))))) ;; TODO tab-bar-mode (emacs 27) ;; TODO tab-line-mode (emacs 27) From fddc912f81ce546fc3d105c99a6748b1e00ce23a Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 17:37:14 -0400 Subject: [PATCH 11/38] fix(tabs): defer centaur-tabs-mode in daemon sessions Fix: #6647 Fix: #7477 Close: #7276 --- modules/ui/tabs/config.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/ui/tabs/config.el b/modules/ui/tabs/config.el index baa8e3219..8ff2dc590 100644 --- a/modules/ui/tabs/config.el +++ b/modules/ui/tabs/config.el @@ -10,7 +10,7 @@ ;;; Packages (use-package! centaur-tabs - :hook (doom-first-file . centaur-tabs-mode) + :defer t :init (setq centaur-tabs-set-icons t centaur-tabs-gray-out-icons 'buffer @@ -24,6 +24,10 @@ ;; prevents that. centaur-tabs-cycle-scope 'tabs) + (if (daemonp) + (add-hook 'server-after-make-frame-hook #'centaur-tabs-mode) + (add-hook 'doom-first-file-hook #'centaur-tabs-mode)) + :config (add-hook! '(+doom-dashboard-mode-hook +popup-buffer-mode-hook) (defun +tabs-disable-centaur-tabs-mode-maybe-h () From ea1f72e8755c67cce4d3683dd4d4cc9af6ad89bf Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 17:54:29 -0400 Subject: [PATCH 12/38] fix(tabs): reload centaur-tabs when changing themes Fix: #6503 --- modules/ui/tabs/config.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/ui/tabs/config.el b/modules/ui/tabs/config.el index 8ff2dc590..7b63edcb3 100644 --- a/modules/ui/tabs/config.el +++ b/modules/ui/tabs/config.el @@ -35,6 +35,12 @@ (when (centaur-tabs-mode-on-p) (centaur-tabs-local-mode)))) + (add-hook! 'doom-load-theme-hook + (defun +tabs-reload-centaur-tabs-h () + (when (bound-and-true-p centaur-tabs-mode) + (centaur-tabs-mode -1) + (centaur-tabs-mode +1)))) + ;; HACK: `centaur-tabs-buffer-update-groups' is both expensive and called too ;; frequently. There really is no reason to call it more than 10 times per ;; second, as buffers rarely change groups more frequently than that. From 6ba70df1055f79b729e4bf7cfe8cd07295e36be4 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 18:07:31 -0400 Subject: [PATCH 13/38] docs(dired): update flags & package listing Close: #7851 Co-authored-by: isentropic --- modules/emacs/dired/README.org | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/emacs/dired/README.org b/modules/emacs/dired/README.org index b9df9c3bb..a411a7a22 100644 --- a/modules/emacs/dired/README.org +++ b/modules/emacs/dired/README.org @@ -13,13 +13,17 @@ This module provides reasonable defaults and augmentations for dired. - +icons :: Enables the display of fancy icons depending on file types in dired buffers. - +ranger :: - Enables dired to be more like [[https://github.com/ranger/ranger][ranger]]. + Enables dired to be more like [[https://github.com/ranger/ranger][ranger]]. Incompatible with =+dirvish=. +- +dirvish :: + Enables [[https://github.com/alexluigit/dirvish][dirvish]] integration. Incompatible with =+ranger=. ** Packages - [[doom-package:nerd-icons-dired]] if [[doom-module:+icons]] +- [[doom-package:dired-git-info]] - [[doom-package:diff-hl]] - [[doom-package:diredfl]] - [[doom-package:dired-rsync]] +- [[doom-package:dirvish]] if [[doom-module:+dirvish]] - [[doom-package:fd-dired]] - [[doom-package:ranger]] if [[doom-module:+ranger]] From 39588a15f6665c0bc0f648559b747fc3854fab90 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 18:17:54 -0400 Subject: [PATCH 14/38] bump: :core Fuco1/smartparens@a5c68cac1bea -> Fuco1/smartparens@f7cf316715e5 Wilfred/helpful@a32a5b3d959a -> Wilfred/helpful@4ba24cac9fb1 emacs-straight/project@93aa1872e93a -> emacs-straight/project@bf4c3cfcfbf3 jscheid/dtrt-indent@5d1b44f9a1a4 -> jscheid/dtrt-indent@939c5e374ac0 justbur/emacs-which-key@1e89fa000e9b -> justbur/emacs-which-key@ed389312170d --- lisp/packages.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lisp/packages.el b/lisp/packages.el index b320c3829..bcac1d58d 100644 --- a/lisp/packages.el +++ b/lisp/packages.el @@ -29,10 +29,10 @@ ;; doom-editor.el (package! better-jumper :pin "47622213783ece37d5337dc28d33b530540fc319") -(package! dtrt-indent :pin "5d1b44f9a1a484ca229cc14f8062609a10ef4891") -(package! helpful :pin "a32a5b3d959a7fccf09a71d97b3d7c888ac31c69") +(package! dtrt-indent :pin "939c5e374ac0175bb7d561542e22e47a72d04aa8") +(package! helpful :pin "4ba24cac9fb14d5fdc32582cd947572040e82b2c") (package! pcre2el :pin "380723b2701cceb75c266440fb8db918f3340d50") -(package! smartparens :pin "a5c68cac1bea737b482a37aa92de4f6efbf7580b") +(package! smartparens :pin "f7cf316715e5018186c226aab8242c9e5ce131c8") (package! ws-butler ;; Use my fork of ws-butler, which has a few choice improvements and ;; optimizations (the original has been abandoned). @@ -41,8 +41,8 @@ ;; doom-projects.el (package! projectile :pin "0163b335a18af0f077a474d4dc6b36e22b5e3274") -(package! project :pin "93aa1872e93a681a44cae03fecb8df4101719897") +(package! project :pin "bf4c3cfcfbf3423d79170aa880a1abb332ed942e") ;; doom-keybinds.el (package! general :pin "826bf2b97a0fb4a34c5eb96ec2b172d682fd548f") -(package! which-key :pin "1e89fa000e9ba9549f15ef57abccd118d5f2fe1a") +(package! which-key :pin "ed389312170df955aaf10c2e120cc533ed5c509e") From 1c18a0cc7e2d723b5ee3ff0eda3e37000336c5a4 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 18:18:52 -0400 Subject: [PATCH 15/38] bump: :emacs undo emacs-straight/undo-tree@f9e7eac16f67 -> emacs-straight/undo-tree@5e9f4c92348b emacs-straight/vundo@10d011fb05a9 -> emacs-straight/vundo@a18d63a9a15d ideasman42/emacs-undo-fu-session@2b355c9d39b2 -> ideasman42/emacs-undo-fu-session@75d78310c869 ideasman42/emacs-undo-fu@04961ba77514 -> ideasman42/emacs-undo-fu@ea902716f39c --- modules/emacs/undo/packages.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/emacs/undo/packages.el b/modules/emacs/undo/packages.el index 1dbb71467..3db539737 100644 --- a/modules/emacs/undo/packages.el +++ b/modules/emacs/undo/packages.el @@ -2,8 +2,8 @@ ;;; emacs/undo/packages.el (if (modulep! +tree) - (package! undo-tree :pin "f9e7eac16f674aa7ed8fa065401d26c0258a84f8") - (package! undo-fu :pin "04961ba775142627c5fa4bb94c3e507afedaecd1") - (package! undo-fu-session :pin "2b355c9d39b2688f859a762f2289f23fd16fadc4") + (package! undo-tree :pin "5e9f4c92348b3cfd6f140c1730294017dca4bc05") + (package! undo-fu :pin "ea902716f39c725db1b90dbb285b44404b3bd6df") + (package! undo-fu-session :pin "75d78310c86901f01b35d47f3ac1a5c8368abba4") (when (> emacs-major-version 27) ; unsupported in 27 - (package! vundo :pin "10d011fb05a9db0cc2f641e5b5bebe4b5fb81b6f"))) + (package! vundo :pin "a18d63a9a15d363c11e2405934e709723e472d86"))) From ee10764c220c790625381c245416cb0864a4168d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 18:23:30 -0400 Subject: [PATCH 16/38] bump: :tools tree-sitter emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e945 -> emacs-tree-sitter/elisp-tree-sitter@02fe7b86d92b emacs-tree-sitter/tree-sitter-langs@b7895ca75956 -> emacs-tree-sitter/tree-sitter-langs@a06804e13fc1 Close: #7842 Ref: emacs-tree-sitter/elisp-tree-sitter#250 Co-authored-by: meedstrom --- modules/tools/tree-sitter/packages.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/tools/tree-sitter/packages.el b/modules/tools/tree-sitter/packages.el index 71f92c463..f26754016 100644 --- a/modules/tools/tree-sitter/packages.el +++ b/modules/tools/tree-sitter/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/tree-sitter/packages.el -(package! tree-sitter :pin "3cfab8a0e945db9b3df84437f27945746a43cc71") -(package! tree-sitter-langs :pin "b7895ca759563f3c7c3b928eb4f816bb4099d866") +(package! tree-sitter :pin "02fe7b86d92b1aab954045146469b7893f0ab371") +(package! tree-sitter-langs :pin "a06804e13fc1d24d0099b44ce23d6ac5e6bac5b8") (package! tree-sitter-indent :pin "4ef246db3e4ff99f672fe5e4b416c890f885c09e") (when (modulep! :editor evil +everywhere) From 9116ec2ec729bc30732dfd15a3fcac9ae4988025 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 20 Jun 2024 18:19:15 -0400 Subject: [PATCH 17/38] release(modules): 24.07.0-dev Ref: 2b39e4136850 --- lisp/doom.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/doom.el b/lisp/doom.el index 3bb8b45c8..eb6f3a215 100644 --- a/lisp/doom.el +++ b/lisp/doom.el @@ -201,7 +201,7 @@ "Current version of Doom Emacs core.") ;; DEPRECATED: Remove these when the modules are moved out of core. -(defconst doom-modules-version "24.04.0-pre" +(defconst doom-modules-version "24.07.0-pre" "Current version of Doom Emacs.") (defvar doom-init-time nil From 7fe642938db45fe1ab85ec102c08e8db96df98de Mon Sep 17 00:00:00 2001 From: duli Date: Tue, 16 Apr 2024 14:29:03 +0800 Subject: [PATCH 18/38] fix: 'doom sync' generates autoload files for symbolic link files * lisp/lib/autoloads.el(doom-autoloads--scan) Remove invoke `file-truename` of file, keeping symbolic from being converted to a real path. * lisp/doom-modules.el(doom-module-from-path) Replace `file-in-directory-p` with `string-match` to determine the module to which the file belongs. Fix: #7821 --- lisp/doom-modules.el | 4 ++-- lisp/lib/autoloads.el | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lisp/doom-modules.el b/lisp/doom-modules.el index b0c1a58d2..b2d88846a 100644 --- a/lisp/doom-modules.el +++ b/lisp/doom-modules.el @@ -351,9 +351,9 @@ If ENABLED-ONLY, return nil if the containing module isn't enabled." (and (or (null enabled-only) (doom-module-p category module)) (cons category module)))) - ((file-in-directory-p path doom-core-dir) + ((string-match (concat "^" (regexp-quote doom-core-dir)) path) (cons :core nil)) - ((file-in-directory-p path doom-user-dir) + ((string-match (concat "^" (regexp-quote doom-user-dir)) path) (cons :user nil)))))) (defun doom-module-load-path (&optional module-load-path) diff --git a/lisp/lib/autoloads.el b/lisp/lib/autoloads.el index 9dec16be5..6a31f3041 100644 --- a/lisp/lib/autoloads.el +++ b/lisp/lib/autoloads.el @@ -169,7 +169,6 @@ non-nil, treat FILES as pre-generated autoload files instead." (when (and (not (seq-find (doom-rpartial #'string-match-p file) exclude)) (file-readable-p file)) (doom-log "loaddefs:scan: %s" file) - (setq file (file-truename file)) (with-temp-buffer (if literal (insert-file-contents file) From 1f404bae9649903aeda952baf4d08582e40575e2 Mon Sep 17 00:00:00 2001 From: Puneeth Chaganti Date: Wed, 10 Apr 2024 17:52:22 +0530 Subject: [PATCH 19/38] fix(ocaml): fix incorrect package name in README --- modules/lang/ocaml/README.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/ocaml/README.org b/modules/lang/ocaml/README.org index 07e4922bc..3a06d02cc 100644 --- a/modules/lang/ocaml/README.org +++ b/modules/lang/ocaml/README.org @@ -4,7 +4,7 @@ #+since: 2.0.4 (#128) * Description :unfold: -This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by [[doom-package:tuareg-mode]]. +This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by [[doom-package:tuareg]]. - Code completion, documentation look-up, code navigation and refactoring ([[doom-package:merlin]]) From 046cfd816a3bf8e63171bbbd5fa4580262d54282 Mon Sep 17 00:00:00 2001 From: Puneeth Chaganti Date: Wed, 10 Apr 2024 17:50:14 +0530 Subject: [PATCH 20/38] feat(ocaml): switch to using opam-switch-mode `tuareg-opam-update-env` has been deprecated, and the `opam-switch-mode` package is recommended for managing opam switches. This commit adds this package to the OCaml module --- modules/lang/ocaml/README.org | 5 ++++- modules/lang/ocaml/config.el | 20 ++++++++++++++++---- modules/lang/ocaml/packages.el | 2 ++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/modules/lang/ocaml/README.org b/modules/lang/ocaml/README.org index 3a06d02cc..c062f1aec 100644 --- a/modules/lang/ocaml/README.org +++ b/modules/lang/ocaml/README.org @@ -14,6 +14,7 @@ This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by - Auto-indentation ([[doom-package:ocp-indent]]) - Code formatting ([[doom-package:ocamlformat]]) - Dune file format ([[doom-package:dune]]) +- Opam switch selection ([[doom-package:opam-switch-mode]]) ** Maintainers *This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]] @@ -31,6 +32,7 @@ This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by - [[doom-package:ocamlformat]] if [[doom-module::editor format]] - [[doom-package:ocp-indent]] - [[doom-package:tuareg]] +- [[doom-package:opam-switch-mode]] - [[doom-package:utop]] if [[doom-module::tools eval]] - unless [[doom-module:+lsp]] - [[doom-package:flycheck-ocaml]] if [[doom-module::checkers syntax]] @@ -42,7 +44,7 @@ This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by - ~set-ligatures!~ is called with the full tuareg prettify symbol list, this can cause columns to change as certain keywords are shortened (e.g. =fun= becomes \lambda). -- ~tuareg-opam-update-env~ is called the first time [[doom-package:tuareg]] is loaded +- ~opam-switch-set-switch~ is called the first time [[doom-package:tuareg]] and subsequently [[doom-package:opam-switch-mode]] are loaded ** TODO Changelog # This section will be machine generated. Don't edit it by hand. @@ -80,6 +82,7 @@ This module requires the following packages available through [[http://opam.ocam | ~merlin-iedit-occurrences~ | [[kbd:][v R]] | visual refactor identifier under point (multiple cursors) | | ~utop~ | [[kbd:][SPC o r]] | open =utop= as REPL | | ~utop-eval-region~ | [[kbd:][SPC c e]] | evaluate selected region in =utop= | +| ~opam-switch-set-switch~ | [[kbd:][ w]] | evaluate selected region in =utop= | * TODO Configuration #+begin_quote diff --git a/modules/lang/ocaml/config.el b/modules/lang/ocaml/config.el index b678437b5..27a57ac21 100644 --- a/modules/lang/ocaml/config.el +++ b/modules/lang/ocaml/config.el @@ -20,10 +20,6 @@ ;; harmless if `prettify-symbols-mode' isn't active (setq tuareg-prettify-symbols-full t) - ;; Use opam to set environment - (setq tuareg-opam-insinuate t) - (tuareg-opam-update-env (tuareg-opam-current-compiler)) - (setq-hook! 'tuareg-mode-hook comment-line-break-function #'+ocaml/comment-indent-new-line) @@ -123,6 +119,22 @@ (setq-local ocamlformat-file-kind 'interface))))) (setq-local +format-with 'ocamlformat)))) +(use-package! opam-switch-mode + :hook (tuareg-mode-local-vars . +ocaml-init-opam-switch-h) + :init + (map! :localleader + :map tuareg-mode-map + "w" #'opam-switch-set-switch) + + (defun +ocaml-init-opam-switch-h () + "Activate `opam-switch-mode' if the opam executable exists." + (when (executable-find "opam") + (opam-switch-mode))) + :config + ;; Use opam to set environment + (setq tuareg-opam-insinuate t) + (opam-switch-set-switch (tuareg-opam-current-compiler))) + ;; Tree sitter (eval-when! (modulep! +tree-sitter) (add-hook! 'tuareg-mode-local-vars-hook #'tree-sitter!)) diff --git a/modules/lang/ocaml/packages.el b/modules/lang/ocaml/packages.el index 97c85b0f1..8c47cd2c6 100644 --- a/modules/lang/ocaml/packages.el +++ b/modules/lang/ocaml/packages.el @@ -3,6 +3,8 @@ (package! tuareg :pin "1d53723e39f22ab4ab76d31f2b188a2879305092") +(package! opam-switch-mode :pin "1069e56a662f23ea09d4e05611bdedeb99257012") + (unless (modulep! +lsp) (package! merlin :pin "8404f96693727f7b0edc0d0b14db57843d79e27b") (package! merlin-eldoc :pin "bf8edc63d85b35e4def352fa7ce4ea39f43e1fd8") From 4f4718e6d151bef9278f8e87da566640c451865d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 21 Jun 2024 16:33:43 -0400 Subject: [PATCH 21/38] bump: :ui tabs ema2159/centaur-tabs@0bb1aa18d475 -> ema2159/centaur-tabs@4a121a175e66 - Reverts some hacks that are no longer needed: - ema2159/centaur-tabs#231 makes 56f33bc7ed1b obsolete. - ema2159/centaur-tabs@2f6a5fbb8d04 makes 813c96151143 obsolete. Ref: ema2159/centaur-tabs@2f6a5fbb8d04 Revert: 813c96151143 Ref: ema2159/centaur-tabs#231 Revert: 56f33bc7ed1b --- modules/ui/tabs/config.el | 26 +------------------------- modules/ui/tabs/packages.el | 2 +- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/modules/ui/tabs/config.el b/modules/ui/tabs/config.el index 7b63edcb3..4e79ae500 100644 --- a/modules/ui/tabs/config.el +++ b/modules/ui/tabs/config.el @@ -39,31 +39,7 @@ (defun +tabs-reload-centaur-tabs-h () (when (bound-and-true-p centaur-tabs-mode) (centaur-tabs-mode -1) - (centaur-tabs-mode +1)))) - - ;; HACK: `centaur-tabs-buffer-update-groups' is both expensive and called too - ;; frequently. There really is no reason to call it more than 10 times per - ;; second, as buffers rarely change groups more frequently than that. - (let ((time (float-time))) - (defadvice! +tabs--rate-limit-buffer-update-groups-a (fn) - :around #'centaur-tabs-buffer-update-groups - (let ((now (float-time))) - (if-let ((buf (and (< now (+ time +tabs-buffer-update-groups-delay)) - (assq (current-buffer) centaur-tabs--buffers)))) - (car (nth 2 buf)) - (setq time now) - (funcall fn))))) - - ;; This is deferred twice to ensure these settings apply *after* any user - ;; configuration! - (after! centaur-tabs - ;; HACK: `centaur-tabs-line-tab' reads `centaur-tabs-ace-jump-keys' without - ;; length guards. If there are fewer entries than you have tabs, you'll - ;; see an error (ema2159/centaur-tabs#231). - ;; REVIEW: Remove when ema2159/centaur-tabs#231 is dealt with. - (when (< (length centaur-tabs-ace-jump-keys) 100) - (setq centaur-tabs-ace-jump-keys - (append centaur-tabs-ace-jump-keys (make-list 100 ?\ )))))) + (centaur-tabs-mode +1))))) ;; TODO tab-bar-mode (emacs 27) ;; TODO tab-line-mode (emacs 27) diff --git a/modules/ui/tabs/packages.el b/modules/ui/tabs/packages.el index 0579a69c8..a38f3c351 100644 --- a/modules/ui/tabs/packages.el +++ b/modules/ui/tabs/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/tabs/packages.el -(package! centaur-tabs :pin "0bb1aa18d475319df85f192dce3327802866c3c3") +(package! centaur-tabs :pin "4a121a175e663295fcd295512642dae4d2ff9db3") From 7719991badf3a47c1b0620b46505294f132b4ecc Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 21 Jun 2024 19:10:30 -0400 Subject: [PATCH 22/38] bump: :tools andras-simonyi/citeproc-el@44f90cb29676 -> andras-simonyi/citeproc-el@cfa30b6c95c7 editorconfig/editorconfig-emacs@d73b6392ded0 -> editorconfig/editorconfig-emacs@1651294334f3 emacs-citar/citar@885b86f6733f -> emacs-citar/citar@07d2a63c99fe emacs-lsp/dap-mode@11431a26bc4c -> emacs-lsp/dap-mode@b407773ebca5 emacs-lsp/lsp-mode@acad044ebc34 -> emacs-lsp/lsp-mode@cec9e56390e9 emacs-straight/crdt@4a18cd8539c8 -> emacs-straight/crdt@9bf99e2ce35d emacs-straight/eglot@e7e49c789c40 -> emacs-straight/eglot@850cbd043084 emacs-straight/rainbow-mode@70ed10d410ef -> emacs-straight/rainbow-mode@0740f31f3009 emacs-tree-sitter/elisp-tree-sitter@02fe7b86d92b -> emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e945 emacsorphanage/quickrun@373634cf5143 -> emacsorphanage/quickrun@c58e2e4be584 jacktasia/dumb-jump@ede6a04187e7 -> jacktasia/dumb-jump@3c2ab8dfff3a k1LoW/emacs-ansible@1d7de8d3ddac -> k1LoW/emacs-ansible@b4dca00f8933 magit/forge@c3675fd06876 -> magit/forge@4adb94d23c8f magit/magit@f9268a959828 -> magit/magit@ea0f07e54967 purcell/envrc@8eb7401700b0 -> purcell/envrc@2316e004c157 vedang/pdf-tools@a1048bceb2bd -> vedang/pdf-tools@30b50544e55b --- modules/tools/ansible/packages.el | 2 +- modules/tools/biblio/packages.el | 6 +++--- modules/tools/collab/packages.el | 2 +- modules/tools/debugger/packages.el | 2 +- modules/tools/direnv/packages.el | 2 +- modules/tools/editorconfig/packages.el | 2 +- modules/tools/eval/packages.el | 2 +- modules/tools/lookup/packages.el | 2 +- modules/tools/lsp/packages.el | 4 ++-- modules/tools/magit/packages.el | 4 ++-- modules/tools/pdf/packages.el | 2 +- modules/tools/rgb/packages.el | 2 +- modules/tools/tree-sitter/packages.el | 2 +- 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/modules/tools/ansible/packages.el b/modules/tools/ansible/packages.el index b8f23f34e..3fd47d5de 100644 --- a/modules/tools/ansible/packages.el +++ b/modules/tools/ansible/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/ansible/packages.el -(package! ansible :recipe (:nonrecursive t) :pin "1d7de8d3ddac980715eebd87ee66859f8665b101") +(package! ansible :recipe (:nonrecursive t) :pin "b4dca00f89334392d770a7a67fffc935ec7354aa") (package! ansible-doc :pin "86083a7bb2ed0468ca64e52076b06441a2f8e9e0") (package! jinja2-mode :pin "03e5430a7efe1d163a16beaf3c82c5fd2c2caee1") (package! yaml-mode :pin "7b5ce294fb15c2c8926fa476d7218aa415550a2a") diff --git a/modules/tools/biblio/packages.el b/modules/tools/biblio/packages.el index 110386f33..a1d82c6b0 100644 --- a/modules/tools/biblio/packages.el +++ b/modules/tools/biblio/packages.el @@ -8,10 +8,10 @@ (package! bibtex-completion :pin "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c") (package! helm-bibtex :pin "8b71b4f5ce62eeaf18067f57faaddc06449fbe1c")) (when (modulep! :completion vertico) - (package! citar :pin "885b86f6733fd70f42c32dd7791d3447f93db990") - (package! citar-embark :pin "885b86f6733fd70f42c32dd7791d3447f93db990") + (package! citar :pin "07d2a63c99fe35cbd468f8e6a322de05f1a29469") + (package! citar-embark :pin "07d2a63c99fe35cbd468f8e6a322de05f1a29469") (when (modulep! :lang org +roam2) (package! citar-org-roam :pin "82d47b5df1926627f56a09055c69b49b31cbbb9f"))) (package! parsebib :pin "ace9df707108b17759c004c7387655277122d4c1") -(package! citeproc :pin "44f90cb296766e03fffc28b7892521ab0e8709f1") +(package! citeproc :pin "cfa30b6c95c7465a05da98eccf273608880b22d7") diff --git a/modules/tools/collab/packages.el b/modules/tools/collab/packages.el index a81b7f6b0..69863cca3 100644 --- a/modules/tools/collab/packages.el +++ b/modules/tools/collab/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/collab/packages.el -(package! crdt :pin "4a18cd8539c8f3364e3ae903580328dd8b05fa78") +(package! crdt :pin "9bf99e2ce35d23c3d60ad245b77ab3b5313184d4") diff --git a/modules/tools/debugger/packages.el b/modules/tools/debugger/packages.el index 2d859c711..7e60701b4 100644 --- a/modules/tools/debugger/packages.el +++ b/modules/tools/debugger/packages.el @@ -6,5 +6,5 @@ (package! realgud-trepan-ni :pin "0ec088ea343835e24ae73da09bea96bfb02a3130"))) (when (modulep! +lsp) - (package! dap-mode :pin "11431a26bc4c8ca92b097dbdbcbdc9e3d7fb5583") + (package! dap-mode :pin "b407773ebca56e3bd8e6a4643854e91cbde0c35e") (package! posframe :pin "f4e9e509ba96ceb3c2b2b054957291607fb52651")) diff --git a/modules/tools/direnv/packages.el b/modules/tools/direnv/packages.el index 5c0bbc572..fc0263190 100644 --- a/modules/tools/direnv/packages.el +++ b/modules/tools/direnv/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/direnv/packages.el -(package! envrc :pin "8eb7401700b0080902ce200ad610ff8d2f2dcc27") +(package! envrc :pin "2316e004c1574234fe4d991bd75a254cdeaa83ae") diff --git a/modules/tools/editorconfig/packages.el b/modules/tools/editorconfig/packages.el index baf0a8ed1..f4f9e8bf1 100644 --- a/modules/tools/editorconfig/packages.el +++ b/modules/tools/editorconfig/packages.el @@ -3,4 +3,4 @@ (package! editorconfig :recipe (:nonrecursive t) - :pin "d73b6392ded0476af93ec7ba75cca2909aa8d2dc") + :pin "1651294334f3987d749eeb287f11d256cf2ba5b1") diff --git a/modules/tools/eval/packages.el b/modules/tools/eval/packages.el index a7b5f6eb5..f9eccf554 100644 --- a/modules/tools/eval/packages.el +++ b/modules/tools/eval/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/eval/packages.el -(package! quickrun :pin "373634cf5143f9680164e27fa844d3b02408e917") +(package! quickrun :pin "c58e2e4be58416fbb467b3bb191470a61408751c") (when (modulep! +overlay) (package! eros :pin "a9a92bdc6be0521a6a06eb464be55ed61946639c")) diff --git a/modules/tools/lookup/packages.el b/modules/tools/lookup/packages.el index 95dcdb6a6..ee5d286a0 100644 --- a/modules/tools/lookup/packages.el +++ b/modules/tools/lookup/packages.el @@ -8,7 +8,7 @@ (package! helm)) ;; -(package! dumb-jump :pin "ede6a04187e79a29ef31d14760ac0d8d4c5f4cc5") +(package! dumb-jump :pin "3c2ab8dfff3a10d3c5f2efd69cfbc81fb5dbbd39") (when (modulep! :completion ivy) (package! ivy-xref :pin "a82e8e117d2dd62c28b6a3e3d6e4cfb11c0bda38")) (when (modulep! :completion helm) diff --git a/modules/tools/lsp/packages.el b/modules/tools/lsp/packages.el index 88381ae14..2ee5cef08 100644 --- a/modules/tools/lsp/packages.el +++ b/modules/tools/lsp/packages.el @@ -3,13 +3,13 @@ (if (modulep! +eglot) (progn - (package! eglot :pin "e7e49c789c4019dd4cd4ab3880517d01592d81f9") + (package! eglot :pin "850cbd043084d7cc571e1090a4812db6e3f7d0bc") (when (modulep! :completion vertico) (package! consult-eglot :pin "64262e72452f8fe6dd49d31bcdd4bd577b7d682d")) (when (and (modulep! :checkers syntax) (not (modulep! :checkers syntax +flymake))) (package! flycheck-eglot :pin "114e1315aaf0dc3196da67da426bbe2b46384fe2"))) - (package! lsp-mode :pin "acad044ebc343c1eff0d9a875a13fb34ad113a9e") + (package! lsp-mode :pin "cec9e56390e90d7ced3b18a922ab954e782b8628") (package! lsp-ui :pin "00f1fecdfb41c30428734cf27e492f26f46627fb") (when (modulep! :completion ivy) (package! lsp-ivy :pin "9ecf4dd9b1207109802bd1882aa621eb1c385106")) diff --git a/modules/tools/magit/packages.el b/modules/tools/magit/packages.el index e3ed50ca7..703503f3c 100644 --- a/modules/tools/magit/packages.el +++ b/modules/tools/magit/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/magit/packages.el -(when (package! magit :pin "f9268a959828d0c6ab26171dd2fb1ffc55e5ae70") +(when (package! magit :pin "ea0f07e54967197ac0b072a69ba314314a4080c1") (when (modulep! +forge) - (package! forge :pin "c3675fd068767c694177a310d4fa0a01f81bb2d3") + (package! forge :pin "4adb94d23c8f28ea3b15757936c2203b3376586a") (package! code-review :recipe (:host github :repo "doomelpa/code-review" diff --git a/modules/tools/pdf/packages.el b/modules/tools/pdf/packages.el index b80c837a0..dda748cb2 100644 --- a/modules/tools/pdf/packages.el +++ b/modules/tools/pdf/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/pdf/packages.el -(package! pdf-tools :pin "a1048bceb2bd3f635437b0f2bfac27cae8c2dabc") +(package! pdf-tools :pin "30b50544e55b8dbf683c2d932d5c33ac73323a16") (package! saveplace-pdf-view :pin "ee95460cd934080338f03a16f95b549577425216") diff --git a/modules/tools/rgb/packages.el b/modules/tools/rgb/packages.el index ef8a2dbf4..c6cb355cb 100644 --- a/modules/tools/rgb/packages.el +++ b/modules/tools/rgb/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/rgb/packages.el -(package! rainbow-mode :pin "70ed10d410ef00c82c49b2ba41647930626d6218") +(package! rainbow-mode :pin "0740f31f300982534183a2f60b1918de418a6f2c") (package! kurecolor :pin "fbf98e1e384dd11bbb5764ae54b36353f0691d1e") diff --git a/modules/tools/tree-sitter/packages.el b/modules/tools/tree-sitter/packages.el index f26754016..53254c600 100644 --- a/modules/tools/tree-sitter/packages.el +++ b/modules/tools/tree-sitter/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/tree-sitter/packages.el -(package! tree-sitter :pin "02fe7b86d92b1aab954045146469b7893f0ab371") +(package! tree-sitter :pin "3cfab8a0e945db9b3df84437f27945746a43cc71") (package! tree-sitter-langs :pin "a06804e13fc1d24d0099b44ce23d6ac5e6bac5b8") (package! tree-sitter-indent :pin "4ef246db3e4ff99f672fe5e4b416c890f885c09e") From 62248f836674dcae71c36036276193ad103d070f Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 21 Jun 2024 19:11:30 -0400 Subject: [PATCH 23/38] bump: :ui Alexander-Miller/treemacs@8c6df39f01a4 -> Alexander-Miller/treemacs@54ef590b7621 dgutov/diff-hl@96620839430c -> dgutov/diff-hl@11f3113e7905 doomemacs/themes@3b2422b208d2 -> doomemacs/themes@816fb54d60a7 emacs-lsp/lsp-treemacs@e54e74deb815 -> emacs-lsp/lsp-treemacs@1d43e9e0307f emacs-straight/minimap@90aeeb5798ff -> emacs-straight/minimap@4898d277686c jrblevin/deft@bb1a16b87c3e -> jrblevin/deft@b369d7225d86 seagle0128/doom-modeline@e09b8e989fa5 -> seagle0128/doom-modeline@11ae6c193cd9 tarsius/hl-todo@f1fef158f99a -> tarsius/hl-todo@dd46d426c050 --- modules/ui/deft/packages.el | 2 +- modules/ui/doom/packages.el | 2 +- modules/ui/hl-todo/packages.el | 2 +- modules/ui/minimap/packages.el | 2 +- modules/ui/modeline/packages.el | 2 +- modules/ui/treemacs/packages.el | 4 ++-- modules/ui/vc-gutter/packages.el | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/ui/deft/packages.el b/modules/ui/deft/packages.el index 459447348..f0e078b19 100644 --- a/modules/ui/deft/packages.el +++ b/modules/ui/deft/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/deft/packages.el -(package! deft :pin "bb1a16b87c3e0fe70fade6227e47dd7712b89bf6") +(package! deft :pin "b369d7225d86551882568788a23c5497b232509c") diff --git a/modules/ui/doom/packages.el b/modules/ui/doom/packages.el index 9e306c51e..52d3da084 100644 --- a/modules/ui/doom/packages.el +++ b/modules/ui/doom/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/doom/packages.el -(package! doom-themes :pin "3b2422b208d28e8734b300cd3cc6a7f4af5eba55") +(package! doom-themes :pin "816fb54d60a7012b9b12cd995831d4226982b487") (package! solaire-mode :pin "8ccdceeb9298b3c4e35f630914f467bf164f39ad") diff --git a/modules/ui/hl-todo/packages.el b/modules/ui/hl-todo/packages.el index 36d220441..2aa75ea9c 100644 --- a/modules/ui/hl-todo/packages.el +++ b/modules/ui/hl-todo/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/hl-todo/packages.el -(package! hl-todo :pin "f1fef158f99a70746926ef52c59f4863a29b7ed7") +(package! hl-todo :pin "dd46d426c0501b5e8ed976a834d3e54ae85731f7") diff --git a/modules/ui/minimap/packages.el b/modules/ui/minimap/packages.el index eb736c7cc..9c5fa0251 100644 --- a/modules/ui/minimap/packages.el +++ b/modules/ui/minimap/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/minimap/packages.el -(package! minimap :pin "90aeeb5798ff2fa8b08bd4965af5e43806e01645") +(package! minimap :pin "4898d277686c2829c2e91416082f4252c1bb0ceb") diff --git a/modules/ui/modeline/packages.el b/modules/ui/modeline/packages.el index 1bc523b24..5cd2a1009 100644 --- a/modules/ui/modeline/packages.el +++ b/modules/ui/modeline/packages.el @@ -2,7 +2,7 @@ ;;; ui/modeline/packages.el (unless (modulep! +light) - (package! doom-modeline :pin "e09b8e989fa5fc1d98320aaa29d7138631b20ae5")) + (package! doom-modeline :pin "11ae6c193cd9cb8d7ff7996058e6df2c0d1e408b")) (package! anzu :pin "26fb50b429ee968eb944b0615dd0aed1dd66172c") (when (modulep! :editor evil) (package! evil-anzu :pin "d1e98ee6976437164627542909a25c6946497899")) diff --git a/modules/ui/treemacs/packages.el b/modules/ui/treemacs/packages.el index 123adc09c..8406d4d80 100644 --- a/modules/ui/treemacs/packages.el +++ b/modules/ui/treemacs/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/treemacs/packages.el -(package! treemacs :pin "8c6df39f01a4d47fda2cc943645fa067f771b748") +(package! treemacs :pin "54ef590b7621032a76f8f3e307032fc13c802371") (package! treemacs-nerd-icons :pin "9876cb478145a0ec4e36f64ff6583f3de7126216") ;; These packages have no :pin because they're in the same repo (when (modulep! :editor evil +everywhere) @@ -13,4 +13,4 @@ (package! treemacs-persp)) (when (and (modulep! +lsp) (not (modulep! :tools lsp +eglot))) - (package! lsp-treemacs :pin "e54e74deb8150964e3c3024e1ec14295a34e2a3b")) + (package! lsp-treemacs :pin "1d43e9e0307f84496a4a7ddf9dba481000391dbd")) diff --git a/modules/ui/vc-gutter/packages.el b/modules/ui/vc-gutter/packages.el index 3ed651912..8e58cddb6 100644 --- a/modules/ui/vc-gutter/packages.el +++ b/modules/ui/vc-gutter/packages.el @@ -2,5 +2,5 @@ ;;; ui/vc-gutter/packages.el (if (modulep! +diff-hl) - (package! diff-hl :pin "96620839430c1205cbb8c92dd54973397f70f9d2") + (package! diff-hl :pin "11f3113e790526d5ee00f61f8e7cd0d01e323b2e") (package! git-gutter-fringe :pin "648cb5b57faec55711803cdc9434e55a733c3eba")) From 391babd7bb4a0b4ba376f0b485df35065ffb00c7 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 12:58:46 -0400 Subject: [PATCH 24/38] bump: :tools tree-sitter emacs-tree-sitter/elisp-tree-sitter@3cfab8a0e945 -> emacs-tree-sitter/elisp-tree-sitter@02fe7b86d92b tree-sitter was bumped in ee10764, but the bump was reverted by mistake in 7719991 because the default branch in tree-sitter's MELPA recipe is release, not master, which confused the doom/bump-package* commands. This partially reverts 7719991 to undo the de-bump. Amend: 7719991badf3 Ref: ee10764c220c --- modules/tools/tree-sitter/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tools/tree-sitter/packages.el b/modules/tools/tree-sitter/packages.el index 53254c600..89e55187c 100644 --- a/modules/tools/tree-sitter/packages.el +++ b/modules/tools/tree-sitter/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/tree-sitter/packages.el -(package! tree-sitter :pin "3cfab8a0e945db9b3df84437f27945746a43cc71") +(package! tree-sitter :recipe (:branch "master") :pin "02fe7b86d92b1aab954045146469b7893f0ab371") (package! tree-sitter-langs :pin "a06804e13fc1d24d0099b44ce23d6ac5e6bac5b8") (package! tree-sitter-indent :pin "4ef246db3e4ff99f672fe5e4b416c890f885c09e") From 0aede16322fb10b66a2b1a59f61d22099d5d4c2e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 17:05:39 -0400 Subject: [PATCH 25/38] bump: :lang org emacs-jupyter/jupyter@2059d79b2fec -> emacs-jupyter/jupyter@b279c90295ed emacs-straight/org-mode@5bdfc02c6fa1 -> emacs-straight/org-mode@7fa1694ec6ba emacsmirror/org-contrib@d4056ce5d561 -> emacsmirror/org-contrib@ccd4212866fb hakimel/reveal.js@6410c756ea91 -> hakimel/reveal.js@472535065c75 hniksic/emacs-htmlize@09d43dfa4489 -> hniksic/emacs-htmlize@ed5e5b05fd26 https://repo.or.cz/org-contacts.git@6660db078f76 -> https://repo.or.cz/org-contacts.git@d0cb221502c9 magit/orgit-forge@f2ff9e5ad68b -> magit/orgit-forge@7b010465ab96 magit/orgit@a57beefa2471 -> magit/orgit@ca3bf7aa2007 oer/org-re-reveal@1944ac53d4cd -> oer/org-re-reveal@77c805a89e09 org-noter/org-noter@9e4f57957b8f -> org-noter/org-noter@68646b685a0d - Includes a critical security bgufix in org (see https://list.orgmode.org/87sex5gdqc.fsf@localhost/T/#u). - One thing to be aware of is 5b7d676, where I reverted a bump for org due to crippling performance issues with natively src and latex blocks. I'm not seeing this anymore, but further testing is needed. Ref: https://list.orgmode.org/87sex5gdqc.fsf@localhost/T/#u Ref: 5b7d6763f8f8 --- modules/lang/org/packages.el | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index b35d498ea..c3dc94b75 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -31,14 +31,14 @@ (format "(defun org-git-version (&rest _) \"%s-??-%s\")\n" version (cdr (doom-call-process "git" "rev-parse" "--short" "HEAD"))) "(provide 'org-version)\n"))))) - :pin "5bdfc02c6fa1b9ad4f075ac1ad1e4086ead310db") + :pin "7fa1694ec6baade1937fffeed422a8eb33ba1ced") (package! org-contrib :recipe (:host github :repo "emacsmirror/org-contrib") - :pin "d4056ce5d5611e1c971c151f182a2d407226fdb1") + :pin "ccd4212866fb1be70d1f15a41264c45a281901ad") (package! avy) -(package! htmlize :pin "09d43dfa44899f194095bb3500a45ec5b34d59c6") +(package! htmlize :pin "ed5e5b05fd260e8f161a488d56f10e7f6e01fb75") (package! org-yt :recipe (:host github :repo "TobiasZawada/org-yt") :pin "56166f48e04d83668f70ed84706b7a4d8b1e5438") @@ -49,7 +49,7 @@ ;; TODO Adjust when this is added to GNU ELPA (when (modulep! +contacts) (package! org-contacts - :pin "6660db078f7687af3bc31f702e3e957d4d7654bd" + :pin "d0cb221502c9e104b6e3c358128b28761ffddb55" :recipe (:host nil :type git :repo "https://repo.or.cz/org-contacts.git"))) @@ -71,9 +71,9 @@ (when (modulep! :tools pdf) (package! org-pdftools :pin "4e420233a153a9c4ab3d1a7e1d7d3211c836f0ac")) (when (modulep! :tools magit) - (package! orgit :pin "a57beefa24712430fe6b5016b9273129931a8287") + (package! orgit :pin "ca3bf7aa20074e25fee37b71cfef127b93a3dde7") (when (modulep! :tools magit +forge) - (package! orgit-forge :pin "f2ff9e5ad68b3e860379a1d368ad6d8a9696b719"))) + (package! orgit-forge :pin "7b010465ab96bea6d380ae1cfbd7999d528f1de9"))) (when (modulep! +brain) (package! org-brain :pin "2bad7732aae1a3051e2a14de2e30f970bbe43c25")) (when (modulep! +dragndrop) @@ -84,11 +84,11 @@ (when (modulep! +ipython) ; DEPRECATED (package! ob-ipython :pin "7147455230841744fb5b95dcbe03320313a77124")) (when (modulep! +jupyter) - (package! jupyter :pin "2059d79b2fecf6d25a6c796b69ab954645ec37d1")) + (package! jupyter :pin "b279c90295ed7ef89832d655cf8d9077233f1098")) (when (modulep! +journal) (package! org-journal :pin "17b34ce8df9649a73b715c13698220bde1628668")) (when (modulep! +noter) - (package! org-noter :pin "9e4f57957b8f54db20a4e13bf8d6b32e004ab3e8")) + (package! org-noter :pin "68646b685a0d8c02419234922a9e2d885d6419df")) (when (modulep! +pomodoro) (package! org-pomodoro :pin "3f5bcfb80d61556d35fc29e5ddb09750df962cc6")) (when (modulep! +pretty) @@ -100,11 +100,11 @@ :recipe (:host github :repo "anler/centered-window-mode") :pin "80965f6c6afe8d918481433984b493de72af5399") (package! org-tree-slide :pin "e2599a106a26ce5511095e23df4ea04be6687a8a") - (package! org-re-reveal :pin "1944ac53d4cdd0fb250cc575447d5e6320fd5f81") + (package! org-re-reveal :pin "77c805a89e09a46000932c8c609bf5d34cbe81cb") (package! revealjs :recipe (:host github :repo "hakimel/reveal.js" :files ("css" "dist" "js" "plugin")) - :pin "6410c756ea91ded3fa5f6b40a872523e7b8fe723")) + :pin "472535065c7525abf0cc9df51c66f19fd2d2204f")) (cond ((modulep! +roam) (package! org-roam From b405225b90949852eae8fb9b35b7377b3a38a44d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 17:13:20 -0400 Subject: [PATCH 26/38] refactor!(vc-gutter): drop git-gutter for diff-hl BREAKING CHANGE: This removes git-gutter as an implementation for the `:ui vc-gutter` module, leaving only the diff-hl implementation. There are no longer any +git-gutter or +diff-hl flags for this module. Users don't have to do anything to keep the vc gutter, unless they prefer git-gutter for any reason (in which case they'll need to install and set it up themselves). This has been planned for some time, because of a roadmap goal for Doom to lean into native/built-in functionality where it's equal or better than the third party alternatives. diff-hl relies on the built-in vc.el library instead of talking to git directly (thus expanding support to whatever VCS's vc.el supports, and not git alone), which also means it can take advantage of its caching and other user configuration for vc.el. Overall, it is faster and lighter. What I've also been waiting for was a stage-hunk command, similar to git-gutter:stage-hunk, which arrived in dgutov/diff-hl@a0560551cd45 and dgutov/diff-hl@133538973b58, and have evolved since. Ref: dgutov/diff-hl@a0560551cd45 Ref: dgutov/diff-hl@133538973b58 Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=58747789 --- lisp/demos.org | 4 +- lisp/doom-keybinds.el | 2 +- lisp/doom-lib.el | 4 +- lisp/doom-ui.el | 2 +- modules/editor/evil/+commands.el | 2 +- modules/editor/format/config.el | 2 +- modules/input/layout/+azerty.el | 8 +- modules/input/layout/+bepo.el | 4 +- modules/lang/org/autoload/org-export.el | 2 +- modules/tools/magit/autoload.el | 2 +- modules/ui/doom/README.org | 1 - modules/ui/vc-gutter/README.org | 44 +++--- modules/ui/vc-gutter/autoload/diff-hl.el | 17 ++- modules/ui/vc-gutter/autoload/git-gutter.el | 11 -- modules/ui/vc-gutter/config.el | 151 +++----------------- modules/ui/vc-gutter/packages.el | 4 +- 16 files changed, 69 insertions(+), 191 deletions(-) delete mode 100644 modules/ui/vc-gutter/autoload/git-gutter.el diff --git a/lisp/demos.org b/lisp/demos.org index c79910811..3572ce417 100644 --- a/lisp/demos.org +++ b/lisp/demos.org @@ -64,8 +64,8 @@ are great, but this file exists to add demos for Doom's API and beyond. (after! helm ...) ;; An unquoted list of package symbols (i.e. BODY is evaluated once both magit -;; and git-gutter have loaded) -(after! (magit git-gutter) ...) +;; and diff-hl have loaded) +(after! (magit diff-hl) ...) ;; An unquoted, nested list of compound package lists, using any combination of ;; :or/:any and :and/:all diff --git a/lisp/doom-keybinds.el b/lisp/doom-keybinds.el index 31510484e..69d5250d9 100644 --- a/lisp/doom-keybinds.el +++ b/lisp/doom-keybinds.el @@ -82,7 +82,7 @@ and Emacs states, and for non-evil users.") ;; 1. Quit active states; e.g. highlights, searches, snippets, iedit, ;; multiple-cursors, recording macros, etc. ;; 2. Close popup windows remotely (if it is allowed to) -;; 3. Refresh buffer indicators, like git-gutter and flycheck +;; 3. Refresh buffer indicators, like diff-hl and flycheck ;; 4. Or fall back to `keyboard-quit' ;; ;; And it should do these things incrementally, rather than all at once. And it diff --git a/lisp/doom-lib.el b/lisp/doom-lib.el index 8f87b885b..587e13e00 100644 --- a/lisp/doom-lib.el +++ b/lisp/doom-lib.el @@ -641,8 +641,8 @@ is: (after! (:and package-a package-b ...) BODY...) (after! (:and package-a (:or package-b package-c) ...) BODY...) - An unquoted list of package symbols (i.e. BODY is evaluated once both magit - and git-gutter have loaded) - (after! (magit git-gutter) BODY...) + and diff-hl have loaded) + (after! (magit diff-hl) BODY...) If :or/:any/:and/:all are omitted, :and/:all are implied. This emulates `eval-after-load' with a few key differences: diff --git a/lisp/doom-ui.el b/lisp/doom-ui.el index 0028f1636..e452b22de 100644 --- a/lisp/doom-ui.el +++ b/lisp/doom-ui.el @@ -242,7 +242,7 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original ;;; Fringes ;; Reduce the clutter in the fringes; we'd like to reserve that space for more -;; useful information, like git-gutter and flycheck. +;; useful information, like diff-hl and flycheck. (setq indicate-buffer-boundaries nil indicate-empty-lines nil) diff --git a/modules/editor/evil/+commands.el b/modules/editor/evil/+commands.el index 05bb798c2..95e447319 100644 --- a/modules/editor/evil/+commands.el +++ b/modules/editor/evil/+commands.el @@ -39,7 +39,7 @@ (evil-ex-define-cmd "gstage" #'magit-stage) (evil-ex-define-cmd "gunstage" #'magit-unstage) (evil-ex-define-cmd "gblame" #'magit-blame) -(evil-ex-define-cmd "grevert" #'git-gutter:revert-hunk) +(evil-ex-define-cmd "grevert" #'+vc-gutter/revert-hunk) ;;; Dealing with buffers (evil-ex-define-cmd "k[ill]" #'doom/kill-current-buffer) diff --git a/modules/editor/format/config.el b/modules/editor/format/config.el index 0af781fb0..8f4826c8d 100644 --- a/modules/editor/format/config.el +++ b/modules/editor/format/config.el @@ -82,6 +82,6 @@ This is controlled by `+format-on-save-disabled-modes'." (save-excursion (font-lock-fontify-region web-mode-scan-beg web-mode-scan-end))))) - (defun +format--refresh-git-gutter-h () + (defun +format--refresh-vc-gutter-h () (when (fboundp '+vc-gutter-update-h) (+vc-gutter-update-h)))) diff --git a/modules/input/layout/+azerty.el b/modules/input/layout/+azerty.el index 12a8b9021..ef7fd4279 100644 --- a/modules/input/layout/+azerty.el +++ b/modules/input/layout/+azerty.el @@ -28,8 +28,8 @@ :desc "Next buffer" "è" #'next-buffer) (:prefix-map ("g" . "git") (:when (modulep! :ui vc-gutter) - :desc "Jump to previous hunk" "é" #'git-gutter:previous-hunk - :desc "Jump to next hunk" "è" #'git-gutter:next-hunk)))) + :desc "Jump to previous hunk" "é" #'+vc-gutter/previous-hunk + :desc "Jump to next hunk" "è" #'+vc-gutter/next-hunk)))) (defun +layout-remap-evil-keys-for-azerty-h () (map! :nv "à" #'evil-execute-macro @@ -48,8 +48,8 @@ :m "èy" #'+evil:c-string-encode :m "éy" #'+evil:c-string-decode (:when (modulep! :ui vc-gutter) - :m "èd" #'git-gutter:next-hunk - :m "éd" #'git-gutter:previous-hunk) + :m "èd" #'+vc-gutter/next-hunk + :m "éd" #'+vc-gutter/previous-hunk) (:when (modulep! :ui hl-todo) :m "èt" #'hl-todo-next :m "ét" #'hl-todo-previous) diff --git a/modules/input/layout/+bepo.el b/modules/input/layout/+bepo.el index e6f5aa598..549e553fc 100644 --- a/modules/input/layout/+bepo.el +++ b/modules/input/layout/+bepo.el @@ -54,8 +54,8 @@ In all cases, 'h' functions go to 'c' and 'l' ones go to 'r' so the navigation k :desc "Jump to documentation" "S" #'+lookup/documentation) (:prefix-map ("g" . "git") (:when (modulep! :ui vc-gutter) - :desc "Jump to next hunk" ")" #'git-gutter:next-hunk - :desc "Jump to previous hunk" "(" #'git-gutter:previous-hunk)) + :desc "Jump to next hunk" ")" #'+vc-gutter/next-hunk + :desc "Jump to previous hunk" "(" #'+vc-gutter/previous-hunk)) (:prefix-map ("p" . "project") :desc "Browse other project" "»" #'doom/browse-in-other-project))) diff --git a/modules/lang/org/autoload/org-export.el b/modules/lang/org/autoload/org-export.el index 471b59eb0..a8aadf481 100644 --- a/modules/lang/org/autoload/org-export.el +++ b/modules/lang/org/autoload/org-export.el @@ -49,6 +49,6 @@ properties and font-locking et all)." (+org--yank-html-buffer (markdown))) (_ ;; Omit after/before-string overlay properties in htmlized regions, so we - ;; don't get fringe characters for things like flycheck or git-gutter. + ;; don't get fringe characters for things like flycheck or diff-hl (letf! (defun htmlize-add-before-after-strings (_beg _end text) text) (ox-clip-formatted-copy beg end))))) diff --git a/modules/tools/magit/autoload.el b/modules/tools/magit/autoload.el index de76aab6f..f3135523d 100644 --- a/modules/tools/magit/autoload.el +++ b/modules/tools/magit/autoload.el @@ -108,7 +108,7 @@ modified." ;;;###autoload (defun +magit-revert-buffer-maybe-h () - "Update `vc' and `git-gutter' if out of date." + "Update `vc' and `diff-hl' if out of date." (when +magit--stale-p (+magit--revert-buffer (current-buffer)))) diff --git a/modules/ui/doom/README.org b/modules/ui/doom/README.org index b46335d87..197e7517a 100644 --- a/modules/ui/doom/README.org +++ b/modules/ui/doom/README.org @@ -8,7 +8,6 @@ This module gives Doom its signature look: powered by the [[doom-package:doom-th (loosely inspired by [[https://github.com/atom/one-dark-syntax][Atom's One Dark theme]]) and [[doom-package:solaire-mode]]. Includes: - A custom folded-region indicator for [[doom-package:hideshow]]. -- "Thin bar" fringe bitmaps for [[doom-package:git-gutter-fringe]]. - File-visiting buffers are slightly brighter (thanks to [[doom-package:solaire-mode]]). ** Maintainers diff --git a/modules/ui/vc-gutter/README.org b/modules/ui/vc-gutter/README.org index d8f56e1b4..5ae32756f 100644 --- a/modules/ui/vc-gutter/README.org +++ b/modules/ui/vc-gutter/README.org @@ -13,44 +13,32 @@ Supports Git, Svn, Hg, and Bzr. [[doom-contrib-maintainer:][Become a maintainer?]] ** Module flags -- +diff-hl :: - Use [[doom-package:diff-hl]] instead of git-gutter to power the VC gutter. It is a little - faster, but is slightly more prone to visual glitching. [[doom-package:diff-hl]] is intended to - replace git-gutter at some point in the future. - +pretty :: - Apply some stylistic defaults to the fringe, enabling thin bars in the fringe. - This look takes after the modern look of git-gutter in VSCode and Sublime - Text, without sacrificing on fringe width (which squeeze other indicators, - like flycheck's, flymake's, or flyspell's). However, this will look bad with - themes that invert the foreground/background of either git-gutter's or - diff-hl's faces (like modus-themes does). + Apply some stylistic defaults to the fringe that present the diff in the + fringe as thin bars, taking after the modern look of the git-gutter plugin in + VSCode and Sublime Text. However, this will look bad with themes that invert + the foreground/background of diff-hl's faces (like modus-themes does). ** Packages -- [[doom-package:git-gutter-fringe]] unless [[doom-module:+diff-hl]] -- [[doom-package:diff-hl]] if [[doom-module:+diff-hl]] +- [[doom-package:diff-hl]] ** Hacks - The VC gutter will be updated when pressing ESC, leaving insert mode (evil users), or refocusing the frame or window where it is active. - If [[doom-module:+pretty]] is enabled - - The fringes that both git-gutter-fringe and diff-hl define will be replaced - with a set of thin bars. This achieves a slicker look closer to git-gutter's - appearance in VSCode or Sublime Text, but may look weird for themes that - swap their faces' :foreground and :background (like modus-themes). + - The fringes that diff-hl define will be replaced with a set of thin bars. + This achieves a slicker look closer to git-gutter's appearance in VSCode or + Sublime Text, but may look weird for themes that swap their faces' + :foreground and :background (like modus-themes). - The fringes are moved to the outside of the margins (closest to the frame edge), so they have some breathing space away from the buffer's contents. -- If [[doom-package:+diff-hl]] is enabled: - - ~diff-hl-revert-hunk~ displays a preview popup of the hunk being reverted. - It takes up ~50% of the frame, by default, whether you're reverting 2 lines - or 20. Since this isn't easily customized, it has been advised to shrink - this popup to the side of its contents. - - ~diff-hl-revert-hunk~ will sometimes move the cursor to an unexpected - location (the bounds of hunks, is my guess), but this is not intuitive and - often unexpected. Cursor movements have been suppressed for it. -- If +diff-hl is *not* enabled: - - Sometimes, ~git-gutter:next-hunk~ and ~git-gutter:previous-hunk~ get - confused about the order of hunks. They have been advised to fix this - (although the hack is a little inefficient). +- ~diff-hl-revert-hunk~ displays a preview popup of the hunk being reverted. + It takes up ~50% of the frame, by default, whether you're reverting 2 lines + or 20. Since this isn't easily customized, it has been advised to shrink + this popup to the side of its contents. +- ~diff-hl-revert-hunk~ will sometimes move the cursor to an unexpected + location (the bounds of hunks, is my guess), but this is not intuitive and + often unexpected. Cursor movements have been suppressed for it. ** TODO Changelog # This section will be machine generated. Don't edit it by hand. diff --git a/modules/ui/vc-gutter/autoload/diff-hl.el b/modules/ui/vc-gutter/autoload/diff-hl.el index 80ec98003..8c8eefca5 100644 --- a/modules/ui/vc-gutter/autoload/diff-hl.el +++ b/modules/ui/vc-gutter/autoload/diff-hl.el @@ -1,11 +1,22 @@ ;;; ui/vc-gutter/autoload/diff-hl.el -*- lexical-binding: t; -*- -;;;###if (modulep! +diff-hl) ;;;###autoload (defalias '+vc-gutter/stage-hunk #'diff-hl-stage-current-hunk) ;;;###autoload -(defalias '+vc-gutter/revert-hunk #'diff-hl-revert-hunk) -;;;###autoload (defalias '+vc-gutter/next-hunk #'diff-hl-next-hunk) ;;;###autoload (defalias '+vc-gutter/previous-hunk #'diff-hl-previous-hunk) + +(defvar vc-suppress-confirm) +;;;###autoload +(defun +vc-gutter/revert-hunk (&optional no-prompt) + "Invoke `diff-hl-revert-hunk'." + (interactive "P") + (let ((vc-suppress-confirm (if no-prompt t))) + (call-interactively #'diff-hl-revert-hunk))) + +;;;###autoload +(defun +vc-gutter/save-and-revert-hunk () + "Invoke `diff-hl-revert-hunk' with `vc-suppress-confirm' set." + (interactive) + (+vc-gutter/revert-hunk t)) diff --git a/modules/ui/vc-gutter/autoload/git-gutter.el b/modules/ui/vc-gutter/autoload/git-gutter.el deleted file mode 100644 index 7d0899f2f..000000000 --- a/modules/ui/vc-gutter/autoload/git-gutter.el +++ /dev/null @@ -1,11 +0,0 @@ -;;; ui/vc-gutter/autoload/vc-gutter.el -*- lexical-binding: t; -*- -;;;###if (not (modulep! +diff-hl)) - -;;;###autoload -(defalias '+vc-gutter/stage-hunk #'git-gutter:stage-hunk) -;;;###autoload -(defalias '+vc-gutter/revert-hunk #'git-gutter:revert-hunk) -;;;###autoload -(defalias '+vc-gutter/next-hunk #'git-gutter:next-hunk) -;;;###autoload -(defalias '+vc-gutter/previous-hunk #'git-gutter:previous-hunk) diff --git a/modules/ui/vc-gutter/config.el b/modules/ui/vc-gutter/config.el index cd78a4f59..21bf72e5d 100644 --- a/modules/ui/vc-gutter/config.el +++ b/modules/ui/vc-gutter/config.el @@ -1,13 +1,5 @@ ;;; ui/vc-gutter/config.el -*- lexical-binding: t; -*- -;; TODO Implement me -(defvar +vc-gutter-in-margin nil - "If non-nil, use the margin for diffs instead of the fringe.") - -(defvar +vc-gutter-in-remote-files nil - "If non-nil, enable the vc gutter in remote files (e.g. open through TRAMP).") - - ;; ;;; Default styles @@ -23,36 +15,28 @@ ;; having to shrink the fringe and sacrifice precious space for other fringe ;; indicators (like flycheck or flyspell). ;; REVIEW: Extract these into a package with faces that themes can target. - (if (not (modulep! +diff-hl)) - (after! git-gutter-fringe - (define-fringe-bitmap 'git-gutter-fr:added [224] - nil nil '(center repeated)) - (define-fringe-bitmap 'git-gutter-fr:modified [224] - nil nil '(center repeated)) - (define-fringe-bitmap 'git-gutter-fr:deleted [128 192 224 240] - nil nil 'bottom)) - (defadvice! +vc-gutter-define-thin-bitmaps-a (&rest args) - :override #'diff-hl-define-bitmaps - (define-fringe-bitmap 'diff-hl-bmp-middle [224] nil nil '(center repeated)) - (define-fringe-bitmap 'diff-hl-bmp-delete [240 224 192 128] nil nil 'top)) - (defun +vc-gutter-type-face-fn (type _pos) - (intern (format "diff-hl-%s" type))) - (defun +vc-gutter-type-at-pos-fn (type _pos) - (if (eq type 'delete) - 'diff-hl-bmp-delete - 'diff-hl-bmp-middle)) - (advice-add #'diff-hl-fringe-bmp-from-pos :override #'+vc-gutter-type-at-pos-fn) - (advice-add #'diff-hl-fringe-bmp-from-type :override #'+vc-gutter-type-at-pos-fn) - (setq diff-hl-draw-borders nil) - (add-hook! 'diff-hl-mode-hook - (defun +vc-gutter-fix-diff-hl-faces-h () - (mapc (doom-rpartial #'set-face-background nil) - '(diff-hl-insert - diff-hl-delete - diff-hl-change))))) + (defadvice! +vc-gutter-define-thin-bitmaps-a (&rest args) + :override #'diff-hl-define-bitmaps + (define-fringe-bitmap 'diff-hl-bmp-middle [224] nil nil '(center repeated)) + (define-fringe-bitmap 'diff-hl-bmp-delete [240 224 192 128] nil nil 'top)) + (defun +vc-gutter-type-face-fn (type _pos) + (intern (format "diff-hl-%s" type))) + (defun +vc-gutter-type-at-pos-fn (type _pos) + (if (eq type 'delete) + 'diff-hl-bmp-delete + 'diff-hl-bmp-middle)) + (advice-add #'diff-hl-fringe-bmp-from-pos :override #'+vc-gutter-type-at-pos-fn) + (advice-add #'diff-hl-fringe-bmp-from-type :override #'+vc-gutter-type-at-pos-fn) + (setq diff-hl-draw-borders nil) + (add-hook! 'diff-hl-mode-hook + (defun +vc-gutter-fix-diff-hl-faces-h () + (mapc (doom-rpartial #'set-face-background nil) + '(diff-hl-insert + diff-hl-delete + diff-hl-change)))) - ;; FIX: To minimize overlap between flycheck indicators and git-gutter/diff-hl - ;; indicators in the left fringe. + ;; FIX: To minimize overlap between flycheck indicators and diff-hl indicators + ;; in the left fringe. (after! flycheck ;; Let diff-hl have left fringe, flycheck can have right fringe (setq flycheck-indication-mode 'right-fringe) @@ -61,99 +45,10 @@ [16 48 112 240 112 48 16] nil nil 'center))) -;; -;;; git-gutter - -(use-package! git-gutter - :unless (modulep! +diff-hl) - :commands git-gutter:revert-hunk git-gutter:stage-hunk git-gutter:previous-hunk git-gutter:next-hunk - :init - (add-hook! 'find-file-hook - (defun +vc-gutter-init-maybe-h () - "Enable `git-gutter-mode' in the current buffer. -If the buffer doesn't represent an existing file, `git-gutter-mode's activation -is deferred until the file is saved. Respects `git-gutter:disabled-modes'." - (let ((file-name (buffer-file-name (buffer-base-buffer)))) - (cond - ((and (file-remote-p (or file-name default-directory)) - (not +vc-gutter-in-remote-files))) - ;; UX: If not a valid file, wait until it is written/saved to activate - ;; git-gutter. - ((not (and file-name (vc-backend file-name))) - (add-hook 'after-save-hook #'+vc-gutter-init-maybe-h nil 'local)) - ;; UX: Allow git-gutter or git-gutter-fringe to activate based on the - ;; type of frame we're in. This allows git-gutter to work for silly - ;; geese who open both tty and gui frames from the daemon. - ((if (and (display-graphic-p) - (require 'git-gutter-fringe nil t)) - (setq-local git-gutter:init-function #'git-gutter-fr:init - git-gutter:view-diff-function #'git-gutter-fr:view-diff-infos - git-gutter:clear-function #'git-gutter-fr:clear - git-gutter:window-width -1) - (setq-local git-gutter:init-function 'nil - git-gutter:view-diff-function #'git-gutter:view-diff-infos - git-gutter:clear-function #'git-gutter:clear-diff-infos - git-gutter:window-width 1)) - (unless (memq major-mode git-gutter:disabled-modes) - (git-gutter-mode +1) - (remove-hook 'after-save-hook #'+vc-gutter-init-maybe-h 'local))))))) - - ;; UX: Disable in Org mode, as per syl20bnr/spacemacs#10555 and - ;; syohex/emacs-git-gutter#24. Apparently, the mode-enabling function for - ;; global minor modes gets called for new buffers while they are still in - ;; `fundamental-mode', before a major mode has been assigned. I don't know - ;; why this is the case, but adding `fundamental-mode' here fixes the issue. - (setq git-gutter:disabled-modes '(fundamental-mode image-mode pdf-view-mode)) - :config - (set-popup-rule! "^\\*git-gutter" :select nil :size '+popup-shrink-to-fit) - - ;; PERF: Only enable the backends that are available, so it doesn't have to - ;; check when opening each buffer. - (setq git-gutter:handled-backends - (cons 'git (cl-remove-if-not #'executable-find (list 'hg 'svn 'bzr) - :key #'symbol-name))) - - ;; UX: update git-gutter on focus (in case I was using git externally) - (add-hook 'focus-in-hook #'git-gutter:update-all-windows) - - ;; Stop git-gutter doing things when we don't want - (remove-hook 'post-command-hook #'git-gutter:post-command-hook) - (advice-remove #'quit-window #'git-gutter:quit-window) - (advice-remove #'switch-to-buffer #'git-gutter:switch-to-buffer) - - (add-hook! '(doom-escape-hook doom-switch-window-hook) :append - (defun +vc-gutter-update-h (&rest _) - "Refresh git-gutter on ESC. Return nil to prevent shadowing other -`doom-escape-hook' hooks." - (ignore (or (memq this-command '(git-gutter:stage-hunk - git-gutter:revert-hunk)) - inhibit-redisplay - (if git-gutter-mode - (git-gutter) - (+vc-gutter-init-maybe-h)))))) - ;; UX: update git-gutter when using magit commands - (advice-add #'magit-stage-file :after #'+vc-gutter-update-h) - (advice-add #'magit-unstage-file :after #'+vc-gutter-update-h) - - ;; UX: update git-gutter after reverting a buffer - (add-hook 'after-revert-hook #'+vc-gutter-update-h) - - ;; FIX: stop git-gutter:{next,previous}-hunk from jumping to random hunks. - (defadvice! +vc-gutter--fix-linearity-of-hunks-a (diffinfos is-reverse) - :override #'git-gutter:search-near-diff-index - (cl-position-if (let ((lineno (line-number-at-pos)) - (fn (if is-reverse #'> #'<))) - (lambda (line) (funcall fn lineno line))) - diffinfos - :key #'git-gutter-hunk-start-line - :from-end is-reverse))) - - ;; ;;; diff-hl (use-package! diff-hl - :when (modulep! +diff-hl) :hook (find-file . diff-hl-mode) :hook (vc-dir-mode . diff-hl-dir-mode) :hook (dired-mode . diff-hl-dired-mode) @@ -162,8 +57,6 @@ is deferred until the file is saved. Respects `git-gutter:disabled-modes'." :config (set-popup-rule! "^\\*diff-hl" :select nil :size '+popup-shrink-to-fit) - ;; PERF: reduce load on remote - (defvaralias 'diff-hl-disable-on-remote '+vc-gutter-in-remote-files) ;; PERF: A slightly faster algorithm for diffing. (setq vc-git-diff-switches '("--histogram")) ;; PERF: Slightly more conservative delay before updating the diff @@ -185,7 +78,7 @@ is deferred until the file is saved. Respects `git-gutter:disabled-modes'." :n "{" #'diff-hl-show-hunk-previous :n "}" #'diff-hl-show-hunk-next :n "S" #'diff-hl-show-hunk-stage-hunk)) - ;; UX: Refresh git-gutter on ESC or refocusing the Emacs frame. + ;; UX: Refresh gutter on ESC or refocusing the Emacs frame. (add-hook! '(doom-escape-hook doom-switch-window-hook) :append (defun +vc-gutter-update-h (&rest _) "Return nil to prevent shadowing other `doom-escape-hook' hooks." diff --git a/modules/ui/vc-gutter/packages.el b/modules/ui/vc-gutter/packages.el index 8e58cddb6..73fc15e98 100644 --- a/modules/ui/vc-gutter/packages.el +++ b/modules/ui/vc-gutter/packages.el @@ -1,6 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/vc-gutter/packages.el -(if (modulep! +diff-hl) - (package! diff-hl :pin "11f3113e790526d5ee00f61f8e7cd0d01e323b2e") - (package! git-gutter-fringe :pin "648cb5b57faec55711803cdc9434e55a733c3eba")) +(package! diff-hl :pin "11f3113e790526d5ee00f61f8e7cd0d01e323b2e") From a3a0629e03b4440b6e02662352f6eaa7c0697c53 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 17:58:44 -0400 Subject: [PATCH 27/38] bump: :editor doomemacs/snippets@c1384cc7975e -> doomemacs/snippets@3a0b029c5d10 emacs-evil/evil-collection@ca977acb83c0 -> emacs-evil/evil-collection@acb056b1d0d3 emacs-evil/evil@0251080640e0 -> emacs-evil/evil@0ad84c521690 emacs-straight/adaptive-wrap@70005d2012ab -> emacs-straight/adaptive-wrap@a3b179ea21ae emacs-tree-sitter/ts-fold@0627723e5f96 -> emacs-tree-sitter/ts-fold@6ce584d1ac39 emacsmirror/visual-fill-column@5e74afe39d0a -> emacsmirror/visual-fill-column@e04d3521b6dc joaotavora/yasnippet@297546f0853a -> joaotavora/yasnippet@eb5ba2664c3a juliapath/evil-numbers@7a1b62afc12d -> juliapath/evil-numbers@c7899894515d justinbarclay/parinfer-rust-mode@e9a23e136b8c -> justinbarclay/parinfer-rust-mode@a96c768e9dc4 magnars/multiple-cursors.el@234806c83299 -> magnars/multiple-cursors.el@c870c1846246 radian-software/apheleia@96a9805ecb75 -> radian-software/apheleia@61766b50b24f --- modules/editor/evil/init.el | 4 ++++ modules/editor/evil/packages.el | 6 +++--- modules/editor/file-templates/packages.el | 2 +- modules/editor/fold/packages.el | 2 +- modules/editor/format/packages.el | 2 +- modules/editor/multiple-cursors/packages.el | 2 +- modules/editor/parinfer/packages.el | 2 +- modules/editor/snippets/packages.el | 2 +- modules/editor/word-wrap/packages.el | 4 ++-- 9 files changed, 15 insertions(+), 11 deletions(-) diff --git a/modules/editor/evil/init.el b/modules/editor/evil/init.el index 146d59406..f9b1f2924 100644 --- a/modules/editor/evil/init.el +++ b/modules/editor/evil/init.el @@ -111,6 +111,7 @@ variable for an explanation of the defaults (in comments). See consult corfu crdt + (csv "csv-mode") (custom cus-edit) cus-theme dashboard @@ -128,6 +129,7 @@ variable for an explanation of the defaults (in comments). See distel doc-view docker + eat ebib ebuku edbi @@ -182,6 +184,7 @@ variable for an explanation of the defaults (in comments). See info ivy js2-mode + ,@(if (>= emacs-major-version 30) '(kmacro)) leetcode lispy lms @@ -193,6 +196,7 @@ variable for an explanation of the defaults (in comments). See macrostep man (magit magit-repos magit-submodule) + magit-repos magit-section magit-todos markdown-mode diff --git a/modules/editor/evil/packages.el b/modules/editor/evil/packages.el index bb6a67e7c..9e9c6570f 100644 --- a/modules/editor/evil/packages.el +++ b/modules/editor/evil/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/evil/packages.el -(package! evil :pin "0251080640e0da6f0eec2b7d8dd70e9c9b9915d7") +(package! evil :pin "0ad84c52169068021ec3372bf52503631f2261de") (package! evil-args :pin "a8151556f63c9d45d0c44c8a7ef9e5a542f3cdc7") (package! evil-easymotion :pin "f96c2ed38ddc07908db7c3c11bcd6285a3e8c2e9") (package! evil-embrace :pin "3081d37811b6a3dfaaf01d578c7ab7a746c6064d") @@ -12,7 +12,7 @@ (package! evil-indent-plus :pin "f392696e4813f1d3a92c7eeed333248914ba6dae") (package! evil-lion :pin "1e838a53b8f18a3c8bdf3e952186abc2ee9cb98e") (package! evil-nerd-commenter :pin "ae52c5070a48793e2c24474c9c8dbf20175d18a0") -(package! evil-numbers :pin "7a1b62afc12da2b582bf84d722e7b10ca8b97065") +(package! evil-numbers :pin "c7899894515d6be40dfcd589fb27c1801c5b199c") (package! evil-snipe :pin "c2108d3932fcd2f75ac3e48250d6badd668f5b4f") (package! evil-surround :pin "da05c60b0621cf33161bb4335153f75ff5c29d91") (package! evil-textobj-anyblock @@ -35,4 +35,4 @@ (package! neotree) (autoload 'neotree-make-executor "neotree" nil nil 'macro)) - (package! evil-collection :pin "ca977acb83c0dd01fc57dbc6f3d3111e89f4ec9d")) + (package! evil-collection :pin "acb056b1d0d3aad2f32b1ca9c019a9a2e976f03e")) diff --git a/modules/editor/file-templates/packages.el b/modules/editor/file-templates/packages.el index 20195a6bd..4ccc541cc 100644 --- a/modules/editor/file-templates/packages.el +++ b/modules/editor/file-templates/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/file-templates/packages.el -(package! yasnippet :pin "297546f0853a6a51f5b05e954d0c6aea8caa5ec2") +(package! yasnippet :pin "eb5ba2664c3a68ae4a53bb38b85418dd131b208f") diff --git a/modules/editor/fold/packages.el b/modules/editor/fold/packages.el index ebb3a4768..5f33a2335 100644 --- a/modules/editor/fold/packages.el +++ b/modules/editor/fold/packages.el @@ -7,5 +7,5 @@ (when (modulep! :editor evil) (package! evil-vimish-fold :pin "b6e0e6b91b8cd047e80debef1a536d9d49eef31a")) (when (modulep! :tools tree-sitter) - (package! ts-fold :pin "0627723e5f962fc72b238d4cf99a7f217e72aa3e" + (package! ts-fold :pin "6ce584d1ac39f1e2bc2f66f815964e3047bd6f16" :recipe (:host github :repo "emacs-tree-sitter/ts-fold"))) diff --git a/modules/editor/format/packages.el b/modules/editor/format/packages.el index 842765725..010501134 100644 --- a/modules/editor/format/packages.el +++ b/modules/editor/format/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/format/packages.el -(package! apheleia :pin "96a9805ecb75aac2adde7568d26b3e3b3ffc19af") +(package! apheleia :pin "61766b50b24fa16be519d77795dc63522e04dce8") diff --git a/modules/editor/multiple-cursors/packages.el b/modules/editor/multiple-cursors/packages.el index 4ff3edf26..04db30215 100644 --- a/modules/editor/multiple-cursors/packages.el +++ b/modules/editor/multiple-cursors/packages.el @@ -6,4 +6,4 @@ (package! evil-multiedit :pin "23b53bc8743fb82a8854ba907b1d277374c93a79") (package! evil-mc :pin "bdf893ea6f52fd0f10bece8ddae813658e17bbb4")) - ((package! multiple-cursors :pin "234806c832994cadedb42596fe235e91bbd59e8c"))) + ((package! multiple-cursors :pin "c870c18462461df19382ecd2f9374c8b902cd804"))) diff --git a/modules/editor/parinfer/packages.el b/modules/editor/parinfer/packages.el index 4fd48e02b..1453d7b07 100644 --- a/modules/editor/parinfer/packages.el +++ b/modules/editor/parinfer/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/parinfer/packages.el -(package! parinfer-rust-mode :pin "e9a23e136b8c5f1fb718af93c19cd6ed22d8c98c") +(package! parinfer-rust-mode :pin "a96c768e9dc4427c9ea18812a2f09e209a5e1a5e") diff --git a/modules/editor/snippets/packages.el b/modules/editor/snippets/packages.el index 2c865ec1e..c36a9b97d 100644 --- a/modules/editor/snippets/packages.el +++ b/modules/editor/snippets/packages.el @@ -7,4 +7,4 @@ :recipe (:host github :repo "doomemacs/snippets" :files (:defaults "*")) - :pin "c1384cc7975ee7ca7d551eb56c104d768440c3cb") + :pin "3a0b029c5d104521ede8dcbeaff2972f56f067dc") diff --git a/modules/editor/word-wrap/packages.el b/modules/editor/word-wrap/packages.el index 349082221..474530037 100644 --- a/modules/editor/word-wrap/packages.el +++ b/modules/editor/word-wrap/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/word-wrap/packages.el -(package! adaptive-wrap :pin "70005d2012ab57c20be03c05aebd49318fe49c99") +(package! adaptive-wrap :pin "a3b179ea21aeb4e8cfaf5646bb66d9d045263780") (package! visual-fill-column :recipe (:host github :repo "emacsmirror/visual-fill-column") - :pin "5e74afe39d0afb911dae51af4e7a60ccdf9701f3") + :pin "e04d3521b6dc2435de4c4a4b9cac5feb194f0d5b") From 17119c5df71db0bc5255f7fa38b48828ed801f2f Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 18:01:11 -0400 Subject: [PATCH 28/38] refactor(lib): tweak user-error messages To make these errors more consistent with similar commands/operations, as well as rely less on cl-check-type (cl-lib's understanding of the `font` type is a bit odd; they'd emit warnings/errors about this, but still perform the checks -- I opted to check more explicitly instead). --- lisp/lib/files.el | 2 +- lisp/lib/fonts.el | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/lib/files.el b/lisp/lib/files.el index 6690820dc..5a9d37d83 100644 --- a/lisp/lib/files.el +++ b/lisp/lib/files.el @@ -538,7 +538,7 @@ which case it will save it without prompting." (when (or (derived-mode-p 'dired-mode) (derived-mode-p 'wdired-mode)) default-directory) - (user-error "Cannot determine the file path of the current buffer")))) + (user-error "Current buffer isn't visiting a file")))) ;;;###autoload (defun doom/sudo-save-buffer () diff --git a/lisp/lib/fonts.el b/lisp/lib/fonts.el index 0855bec5d..04f289f12 100644 --- a/lisp/lib/fonts.el +++ b/lisp/lib/fonts.el @@ -29,7 +29,6 @@ The font will be normalized (i.e. :weight, :slant, and :width will set to FONT can be a `font-spec', a font object, an XFT font string, or an XLFD font string." - (cl-check-type font (or font string vector)) (when (and (stringp font) (string-prefix-p "-" font)) (setq font (x-decompose-font-name font))) @@ -45,7 +44,8 @@ string." ((vectorp font) (dolist (i '(1 2 3) (x-compose-font-name font)) (unless (aref font i) - (aset font i "normal")))))) + (aset font i "normal")))) + ((signal 'wrong-type-of-argument (list '(font string vectorp) font))))) (font (x-resolve-font-name font)) (font (font-spec :name font))) (unless (font-get font :size) From 703173a6d25a48b05e1d8bce6e3410349f716a9a Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 18:05:15 -0400 Subject: [PATCH 29/38] feat(lib): doom-print: allow lexical redirection --- lisp/lib/print.el | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lisp/lib/print.el b/lisp/lib/print.el index e74c7fce6..d02a1752e 100644 --- a/lisp/lib/print.el +++ b/lisp/lib/print.el @@ -118,6 +118,12 @@ Any of these classes can be called like functions from within `format!' and Accepts `ansi' and `text-properties'. `nil' means don't render styles at all.") +(defvar doom-print-stream nil + "The default value for `standard-output' for Doom's print API. + +If non-nil, this is used instead of `standard-output' because changes to that +variable don't survive translation units.") + (defvar doom-print-level 'notice "The current, default logging level.") @@ -143,11 +149,11 @@ Accepts `ansi' and `text-properties'. `nil' means don't render styles at all.") (format nil) (level doom-print-level) (newline t) - (stream standard-output)) + (stream (or doom-print-stream standard-output))) "Print OUTPUT to stdout. Unlike `message', this: -- Respects the value of `standard-output'. +- Respects the value of `standard-output' (if `doom-print-stream' is nil). - Indents according to `doom-print-indent' (if FORMAT is non-nil). - Prints to stdout instead of stderr in batch mode. - Recognizes more terminal escape codes (only in batch mode). @@ -236,7 +242,7 @@ based on the print level of the message. For example: `(letf! ((,sym ,streamspec) (standard-output (doom-print--redirect-standard-output ,sym t)) (#'message (doom-print--redirect-message ,sym (if noninteractive 'debug 'notice))) - (doom-print--output-depth (1+ doom-print--output-depth))) + (doom-print-stream standard-output)) ,@body))) @@ -260,8 +266,8 @@ based on the print level of the message. For example: (get (car spec) 'print-level))) (cadr spec))))) -(defun doom-print--redirect-standard-output (streamspec level) - (let ((old standard-output) +(defun doom-print--redirect-standard-output (streamspec level &optional old-stream) + (let ((old (or old-stream standard-output)) (streams (doom-print--redirect-streams streamspec level))) (lambda (ch) (let ((str (char-to-string ch))) @@ -273,7 +279,8 @@ based on the print level of the message. For example: (defun doom-print--redirect-message (streamspec level) (let ((old (symbol-function #'message)) - (streams (doom-print--redirect-streams streamspec level))) + (streams (doom-print--redirect-streams streamspec level)) + (doom-print--output-depth (1+ doom-print--output-depth))) (lambda (message &rest args) (when message (let ((output (apply #'doom-print--format message args))) From 7e7d8ebdfd790d431afcb203067ec1578fe90a76 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 18:06:52 -0400 Subject: [PATCH 30/38] fix(lib): print!: don't resolve printed symlinks --- lisp/lib/print.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/lib/print.el b/lisp/lib/print.el index d02a1752e..fae92605e 100644 --- a/lisp/lib/print.el +++ b/lisp/lib/print.el @@ -92,8 +92,8 @@ and `format!' into colored output, where COLOR is any car of this list (or (not (stringp str)) (string-blank-p str)) str - (let ((dir (or dir (file-truename default-directory))) - (str (file-truename str))) + (let* ((dir (or dir default-directory)) + (str (expand-file-name str dir))) (if (file-in-directory-p str dir) (file-relative-name str dir) (abbreviate-file-name str)))))) From d84111927c649784c0b26e42ad9162933bef1a1f Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 22 Jun 2024 18:07:17 -0400 Subject: [PATCH 31/38] fix(lib): doom/bumpify-diff: ignore malformed package! statements To avoid 'uneven number of packages be bumped' errors in some edge cases where this isn't true. --- lisp/lib/packages.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/lib/packages.el b/lisp/lib/packages.el index 0b86a9085..eb974b51e 100644 --- a/lisp/lib/packages.el +++ b/lisp/lib/packages.el @@ -232,10 +232,12 @@ Must be run from a magit diff buffer." :test #'equal))) (save-excursion (while (re-search-forward "^-" nil t) - (cl-pushnew (read-package) before :test #'equal))) + (when-let (pkg (read-package)) + (cl-pushnew pkg before :test #'equal)))) (save-excursion (while (re-search-forward "^+" nil t) - (cl-pushnew (read-package) after :test #'equal))) + (when-let (pkg (read-package)) + (cl-pushnew pkg after :test #'equal)))) (unless (= (length before) (length after)) (user-error "Uneven number of packages being bumped")) (dolist (p1 before) From 415792d37beeda574a10b534504f3c663a43e6d3 Mon Sep 17 00:00:00 2001 From: Zero King Date: Sun, 23 Jun 2024 23:17:18 +0800 Subject: [PATCH 32/38] bump: :lang org emacs-straight/org-mode@7fa1694ec6ba -> emacs-straight/org-mode@39272e2165ad --- modules/lang/org/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index c3dc94b75..03d39e3ef 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -31,7 +31,7 @@ (format "(defun org-git-version (&rest _) \"%s-??-%s\")\n" version (cdr (doom-call-process "git" "rev-parse" "--short" "HEAD"))) "(provide 'org-version)\n"))))) - :pin "7fa1694ec6baade1937fffeed422a8eb33ba1ced") + :pin "39272e2165ad9c49cfa9b5d749a5bb528dbadd87") (package! org-contrib :recipe (:host github :repo "emacsmirror/org-contrib") From 0f09d6f748432e653ecd3c94fd0084b516689b1f Mon Sep 17 00:00:00 2001 From: Samuel Tschiedel Date: Sat, 20 Apr 2024 17:46:57 -0300 Subject: [PATCH 33/38] fix(dired): update dirvish keybindings This is another temporary fix to buy us more time until doomemacs#6760 lands. --- modules/emacs/dired/config.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index e8dbbfacd..ce8438edd 100644 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -145,10 +145,10 @@ we have to clean it up ourselves." (when (modulep! +icons) (push +dired-dirvish-icon-provider dirvish-attributes)) (map! :map dirvish-mode-map - :n "b" #'dirvish-goto-bookmark - :n "z" #'dirvish-show-history + :n "b" #'dirvish-quick-access + :n "z" #'dirvish-history-jump :n "f" #'dirvish-file-info-menu - :n "F" #'dirvish-toggle-fullscreen + :n "F" #'dirvish-layout-toggle :n "l" #'dired-find-file :n "h" #'dired-up-directory :localleader From 4af60fe066f3f0eb3b70cb8a35c3a18a50f1548f Mon Sep 17 00:00:00 2001 From: Samuel Tschiedel Date: Sat, 20 Apr 2024 17:49:33 -0300 Subject: [PATCH 34/38] feat(dired): add subtree bindings to dirvish The structure follows `dired`'s evil-collection's. Ref: https://github.com/emacs-evil/evil-collection/blob/5886bab852dc9e31959e70384d535473e44504ad/modes/dired/evil-collection-dired.el#L205-L212 --- modules/emacs/dired/config.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/emacs/dired/config.el b/modules/emacs/dired/config.el index ce8438edd..3000fd2df 100644 --- a/modules/emacs/dired/config.el +++ b/modules/emacs/dired/config.el @@ -151,6 +151,9 @@ we have to clean it up ourselves." :n "F" #'dirvish-layout-toggle :n "l" #'dired-find-file :n "h" #'dired-up-directory + :n "TAB" #'dirvish-subtree-toggle + :n "gh" #'dirvish-subtree-up + :n "gl" #'dirvish-subtree-down :localleader "h" #'dired-omit-mode)) From c48a5e5f9c2fd171e6a714840992c6370d5f4528 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 23 Jun 2024 15:18:41 -0400 Subject: [PATCH 35/38] fix(god): cursor color change If the cursor's color changed from A to B, it didn't change back. Close: #7841 Amend: #7049 Co-authored-by: darth10 --- modules/editor/god/autoload.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/editor/god/autoload.el b/modules/editor/god/autoload.el index 5902d468f..cb1eee081 100644 --- a/modules/editor/god/autoload.el +++ b/modules/editor/god/autoload.el @@ -13,7 +13,7 @@ (defun +god--configure-cursor-and-modeline-h () "Configure cursor type, cursor color and doom-modeline bar color depending on mode." (let* ((is-fill-overflow (> (current-column) fill-column)) - (previous-cursor-color (face-background 'cursor)) + (previous-cursor-color (frame-parameter nil 'cursor-color)) (previous-modeline-color (and (facep 'doom-modeline-bar) (face-background 'doom-modeline-bar))) (is-god-mode (bound-and-true-p god-local-mode)) @@ -26,7 +26,7 @@ (cond (buffer-read-only +god-read-only-mode-color) (is-fill-overflow +god-fill-overflow-color) (overwrite-mode +god-overwrite-mode-color) - (t previous-cursor-color)))) + ((or previous-cursor-color (face-background 'cursor)))))) (setq cursor-type next-cursor-type) (unless (eq previous-cursor-color next-cursor-and-modeline-color) (set-cursor-color next-cursor-and-modeline-color)) From 5c50b65e9508e2326af7202fcd577fda6b7d7553 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 23 Jun 2024 15:30:48 -0400 Subject: [PATCH 36/38] bump: ws-butler hlissner/ws-butler@572a10c11b6c -> lewang/ws-butler@e3a38d93e010 I switch back to upstream ws-butler to reduce maintenance burden, and because the two issues my fork resolves are now resolved upstream, in doom-modeline (see lewang/ws-butler#31). I also change ws-butler-keep-whitespace-before-point to its default for #7843. Revert: c59ae5d172c9 Ref: lewang/ws-butler#31 Close: #7843 Fix: #7516 --- lisp/doom-editor.el | 11 ++++++----- lisp/packages.el | 6 +----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/lisp/doom-editor.el b/lisp/doom-editor.el index 60f8a2bff..a6c23f051 100644 --- a/lisp/doom-editor.el +++ b/lisp/doom-editor.el @@ -730,11 +730,12 @@ on." ;; a less intrusive `delete-trailing-whitespaces' on save :hook (doom-first-buffer . ws-butler-global-mode) :config - ;; ws-butler normally preserves whitespace in the buffer (but strips it from - ;; the written file). While sometimes convenient, this behavior is not - ;; intuitive. To the average user it looks like whitespace cleanup is failing, - ;; which causes folks to redundantly install their own. - (setq ws-butler-keep-whitespace-before-point nil)) + (pushnew! ws-butler-global-exempt-modes + 'special-mode + 'comint-mode + 'term-mode + 'eshell-mode + 'diff-mode)) (provide 'doom-editor) ;;; doom-editor.el ends here diff --git a/lisp/packages.el b/lisp/packages.el index bcac1d58d..5af323dee 100644 --- a/lisp/packages.el +++ b/lisp/packages.el @@ -33,11 +33,7 @@ (package! helpful :pin "4ba24cac9fb14d5fdc32582cd947572040e82b2c") (package! pcre2el :pin "380723b2701cceb75c266440fb8db918f3340d50") (package! smartparens :pin "f7cf316715e5018186c226aab8242c9e5ce131c8") -(package! ws-butler - ;; Use my fork of ws-butler, which has a few choice improvements and - ;; optimizations (the original has been abandoned). - :recipe (:host github :repo "hlissner/ws-butler") - :pin "572a10c11b6cb88293de48acbb59a059d36f9ba5") +(package! ws-butler :pin "e3a38d93e01014cd47bf5af4924459bd145fd7c4") ;; doom-projects.el (package! projectile :pin "0163b335a18af0f077a474d4dc6b36e22b5e3274") From 3431ddd44c105083a2eccfa454b159f466750d0d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 23 Jun 2024 15:46:34 -0400 Subject: [PATCH 37/38] refactor!(ophints): replace volatile-highlights w/ goggles BREAKING CHANGE: This replaces volatile-highlights.el with goggles.el, since the former is no longer maintained and the latter is a much simpler implementation for the same functionality. No adjustments are needed for end-users to adopt this change, unless they have volatile-highlights-specific configuration. Ref: https://github.com/orgs/doomemacs/projects/5/views/9?pane=issue&itemId=326184 Close: #7810 Co-authored-by: Dev380 --- modules/ui/ophints/README.org | 9 +++++---- modules/ui/ophints/config.el | 12 ++++++------ modules/ui/ophints/packages.el | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/modules/ui/ophints/README.org b/modules/ui/ophints/README.org index 181d82075..d8346e97d 100644 --- a/modules/ui/ophints/README.org +++ b/modules/ui/ophints/README.org @@ -5,10 +5,11 @@ * Description :unfold: This module provides op-hints (operation hinting), i.e. visual feedback for -certain operations. It highlights regions of text that the last operation (like -yank) acted on. +certain editing operations. It highlights regions of text that the last +operation (like yank) acted on. -Uses [[doom-package:evil-goggles]] for evil users and [[doom-package:volatile-highlights]] otherwise. +Uses [[doom-package:evil-goggles]] for evil users and [[doom-package:goggles]] +otherwise. ** Maintainers - [[doom-user:][@hlissner]] @@ -20,7 +21,7 @@ Uses [[doom-package:evil-goggles]] for evil users and [[doom-package:volatile-hi ** Packages - [[doom-package:evil-goggles]] if [[doom-module::editor evil]] -- [[doom-package:volatile-highlights]] unless [[doom-module::editor evil]] +- [[doom-package:goggles]] unless [[doom-module::editor evil]] ** Hacks /No hacks documented for this module./ diff --git a/modules/ui/ophints/config.el b/modules/ui/ophints/config.el index 563fc06b7..ebefc583e 100644 --- a/modules/ui/ophints/config.el +++ b/modules/ui/ophints/config.el @@ -63,11 +63,11 @@ :switch evil-goggles-enable-join :advice evil-goggles--join-advice)))) - -(use-package! volatile-highlights +(use-package! goggles :unless (modulep! :editor evil) - :hook (doom-first-input . volatile-highlights-mode) + :hook ((prog-mode text-mode) . goggles-mode) :config - (after! undo-fu - (vhl/define-extension 'undo-fu 'undo-fu-only-undo 'undo-fu-only-redo) - (vhl/install-extension 'undo-fu))) + (goggles-define +goggles-general-undo undo) ; goggles only supports `primitive-undo' by default + (goggles-define +goggles-register-paste insert-register) + (goggles-define +goggles-kill-word backward-kill-word kill-word) + (goggles-define +goggles-undo-fu undo-fu-only-undo undo-fu-only-redo)) diff --git a/modules/ui/ophints/packages.el b/modules/ui/ophints/packages.el index ccd75d1da..b1fcf048d 100644 --- a/modules/ui/ophints/packages.el +++ b/modules/ui/ophints/packages.el @@ -3,4 +3,4 @@ (if (modulep! :editor evil) (package! evil-goggles :pin "34ca276a85f615d2b45e714c9f8b5875bcb676f3") - (package! volatile-highlights :pin "fcf6e2778454ce514c189a7d1fe70e03ad81c325")) + (package! goggles :pin "41d3669d7ae7b73bd39d298e5373ece48b656ce3")) From a99c6b9036bde2f60697ce9f2ac259dfa2266dbf Mon Sep 17 00:00:00 2001 From: 45mm <45mm.cartridge421@slmail.me> Date: Tue, 2 Apr 2024 10:17:24 +0000 Subject: [PATCH 38/38] docs(mu4e): instructions for SMTP setup Covers configuring SMTP servers, authenticating to them, some Gmail-specific issues, and sending mail without blocking Emacs. --- modules/email/mu4e/README.org | 76 +++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/modules/email/mu4e/README.org b/modules/email/mu4e/README.org index 9dde00d3d..548bf7080 100644 --- a/modules/email/mu4e/README.org +++ b/modules/email/mu4e/README.org @@ -242,6 +242,82 @@ as deleted: Auto-Expunge off - Wait for the client to update the server." and "When a message is marked as deleted and expunged from the last visible IMAP folder: Move the message to the trash" for the integrations to work as expected. +** Sending mail (SMTP) +Once you're able to fetch your mail, the next step is to configure =mu4e= to +send mail via SMTP. All of the following snippets are meant to be part of your +~set-email-account!~ block: + +*** SMTP server configuration +#+begin_src emacs-lisp +;; In `set-email-account!' +(smtpmail-smtp-user . "foo@bar.com") ; or just 'foo', depending on your provider +(smtpmail-smtp-server . "smtp.bar.com") ; depends on your provider +#+end_src + +*** Authentication +Most SMTP servers require you to authenticate with your username and a password +before sending mail. Emacs will prompt you for this password when you attempt to +send mail. You can store this password as described in [[elisp:(info "(emacs) Authentication")][the relevant info node]]. + +Alternately, if you're already using =pass= to store your passwords, you can use +the [[doom-module::tools pass +auth]] module as an auth source. The corresponding +entry in your password store should have the same name as your SMTP server (for +example, it might be called =smtp.bar.com=). You may also need to run the function +~auth-source-pass-enable~ at some point. + +Emacs will first attempt to send mail without supplying credentials, and expects +the server to communicate that needs credentials. Some servers (eg. Gmail) will +instead abort with an error if they don't recieve credentials on the first +attempt. To get around this, you can set +~smtpmail-servers-requiring-authorization~ to a regex matching the name of your +server: +#+begin_src emacs-lisp +;; In `set-email-account!' +(smtpmail-servers-requiring-authorization . "smtp\\.bar\\.com") +#+end_src + +**** Gmail +Gmail does not support standard SMTP authentication by default, instead +expecting applications to perform OAuth. However, it still supports a much +simpler method - it allows you to generate an 'app password', which can be used +as a regular SMTP password. You will need to generate an app password in Gmail's +settings. + +*** Connection type +Emacs supports three types of SMTP connections: ~plain~ (unencrypted, +conventionally port 25), ~ssl~ (conventionally port 465), and ~starttls~ +(conventionally port 587). This module defaults to ~starttls~, which is the most +modern and recommended option. However, some servers may not support it (you'll +usually get a 'connection closed' or 'connection reset' error in this case), or +a firewall somewhere in your network may be blocking the port (you'll get a +'network unreachable' error, or similar). In such a case, you may want to change +the defaults: +#+begin_src emacs-lisp +;; In `set-email-account!' +;; example: ssl on port 465 +(smtpmail-smtp-service . 465) +(smtpmail-stream-type . ssl) +#+end_src + +*** Sending mail asynchronously +Normally, =mu4e= will block Emacs while sending mail, which can be annoying when +you're on a slow connection and the mail takes a long time to send. There is a +workaround [[elisp:(info "(mu4e) Writing messages")][in mu4e's manual]] that uses the [[doom-package:async]] library. To use it, +you need to include it in your ~set-email-account!~ block: +#+begin_src emacs-lisp +;; In `set-email-account!' +(send-mail-function . async-smtpmail-send-it) +(message-send-mail-function . async-smtpmail-send-it) +#+end_src + +If you're using [[doom-module::tools pass +auth]], you also need to ensure that the child +Emacs process can access your password-store: +#+begin_src emacs-lisp +;; This goes OUTSIDE your `set-email-account!' block! +(require 'smtpmail-async) +(add-hook 'async-smtpmail-before-send-hook #'auth-source-pass-enable) +#+end_src + ** OrgMsg With the [[doom-module:+org]] flag, [[doom-package:org-msg]] is installed, and ~org-msg-mode~ is enabled before composing the first message. To disable ~org-msg-mode~ by default: