diff --git a/bin/doom b/bin/doom index 32504f224..190003b8e 100755 --- a/bin/doom +++ b/bin/doom @@ -2,7 +2,7 @@ :; # -*- mode: emacs-lisp; lexical-binding: t -*- :; case "$EMACS" in *term*) EMACS=emacs ;; *) EMACS="${EMACS:-emacs}" ;; esac :; emacs="$EMACS ${DEBUG:+--debug-init} -q --no-site-file --batch" -:; tmpdir=`$emacs --eval '(princ (temporary-file-directory))' 2>/dev/null` +:; tmpdir=`$emacs -Q --eval '(princ (temporary-file-directory))' 2>/dev/null` :; [ -z "$tmpdir" ] && { >&2 echo "Error: failed to run Emacs with command '$EMACS'"; >&2 echo; >&2 echo "Are you sure Emacs is installed and in your \$PATH?"; exit 1; } :; export __DOOMPID="${__DOOMPID:-$$}" :; export __DOOMSTEP="${__DOOMSTEP:-0}" diff --git a/lisp/cli/packages.el b/lisp/cli/packages.el index 4d0e4b29f..bc9ef51fa 100644 --- a/lisp/cli/packages.el +++ b/lisp/cli/packages.el @@ -208,7 +208,10 @@ list remains lean." (cl-loop with previous = 0 with timeout = 30 with timer = 0 - for pending = (+ (length comp-files-queue) (comp-async-runnings)) + for pending = (+ (length comp-files-queue) + (if (functionp 'comp--async-runnings) + (comp--async-runnings) + (comp-async-runnings))) while (not (zerop pending)) if (/= previous pending) do (print! (start "\033[KNatively compiling %d files...\033[1A" pending)) diff --git a/lisp/doom-cli.el b/lisp/doom-cli.el index eab017d69..cef7faab0 100644 --- a/lisp/doom-cli.el +++ b/lisp/doom-cli.el @@ -1350,7 +1350,7 @@ ARGS are options passed to less. If DOOMPAGER is set, ARGS are ignored." (doom-cli--exit 0 context)) ((let ((tmpfile (doom-cli--output-file 'output context)) - (coding-system-for-write 'utf-8-auto)) + (coding-system-for-write 'utf-8)) (with-file-modes #o700 (make-directory (file-name-directory tmpfile) t)) (with-file-modes #o600 diff --git a/lisp/doom.el b/lisp/doom.el index 70873316d..81f09466e 100644 --- a/lisp/doom.el +++ b/lisp/doom.el @@ -686,7 +686,7 @@ of 'doom sync' or 'doom gc'." ;; defvaralias, which are done because ensuring aliases are created before ;; packages are loaded is an unneeded and unhelpful maintenance burden. Emacs ;; still aliases them fine regardless. -(setq warning-suppress-types '((defvaralias))) +(setq warning-suppress-types '((defvaralias) (lexical-binding))) ;; Reduce debug output unless we've asked for it. (setq debug-on-error init-file-debug @@ -763,6 +763,12 @@ appropriately against `noninteractive' or the `cli' context." (add-hook! 'doom-before-init-hook :depth -105 (defun doom--begin-init-h () "Begin the startup process." + ;; HACK: Later versions of Emacs 30 emit warnings about missing + ;; lexical-bindings directives at the top of loaded files. This is a good + ;; thing, but it inundates users with unactionable warnings (from old + ;; packages or internal subdirs.el files), which aren't useful. + (setq-default delayed-warnings-list + (assq-delete-all 'lexical-binding delayed-warnings-list)) (when (doom-context-push 'init) ;; HACK: Ensure OS checks are as fast as possible (given their ubiquity). (setq features (cons :system (delq :system features))) diff --git a/lisp/lib/help.el b/lisp/lib/help.el index 777e337bf..b25962f09 100644 --- a/lisp/lib/help.el +++ b/lisp/lib/help.el @@ -468,14 +468,12 @@ will open with point on that line." (defun doom--help-package-configs (package) (let ((default-directory doom-emacs-dir)) - ;; TODO Use ripgrep instead (split-string (cdr (doom-call-process - "git" "grep" "--no-break" "--no-heading" "--line-number" - (format "%s %s\\($\\| \\)" - "\\(^;;;###package\\|(after!\\|(use-package!\\)" - package) - ":(exclude)*.org")) + "rg" "--no-heading" "--line-number" "--iglob" "!*.org" + (format "%s %s($| )" + "(^;;;###package|\\(after!|\\(use-package!)" + package))) "\n" t))) (defvar doom--help-packages-list nil) diff --git a/lisp/packages.el b/lisp/packages.el index 748c7faad..b320c3829 100644 --- a/lisp/packages.el +++ b/lisp/packages.el @@ -6,7 +6,7 @@ :pin "17cfa1b54800fdef2975c0c0531dad34846a5065") (package! compat :recipe (:host github :repo "emacs-compat/compat") - :pin "8d4e8a366681def88751f5e9975738ecd3180deb") + :pin "80dbd9bc5efee05a479663f8cfd0cc9e0a30dac5") (package! gcmh :pin "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9") @@ -18,10 +18,10 @@ :branch ,straight-repository-branch :local-repo "straight.el" :files ("straight*.el")) - :pin "b1062df10ba4c10ff7a3c61b9e124b3242b11bb2") + :pin "88e574ae75344e39b436f863ef0344135c7b6517") ;; doom-ui.el -(package! nerd-icons :pin "8095215a503d8048739de8b4ea4066598edb8cbb") +(package! nerd-icons :pin "4322290303f2e12efd5685a0d22d76ed76ec7349") (package! hide-mode-line :pin "bc5d293576c5e08c29e694078b96a5ed85631942") (package! highlight-numbers :pin "8b4744c7f46c72b1d3d599d4fb75ef8183dee307") (package! rainbow-delimiters :pin "f40ece58df8b2f0fb6c8576b527755a552a5e763") @@ -32,7 +32,7 @@ (package! dtrt-indent :pin "5d1b44f9a1a484ca229cc14f8062609a10ef4891") (package! helpful :pin "a32a5b3d959a7fccf09a71d97b3d7c888ac31c69") (package! pcre2el :pin "380723b2701cceb75c266440fb8db918f3340d50") -(package! smartparens :pin "ddc6233ea6fc2da7a3a8e44face465c15631b02b") +(package! smartparens :pin "a5c68cac1bea737b482a37aa92de4f6efbf7580b") (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 "b6989856abe9411872bdff5c8aa190bef4d86409") +(package! project :pin "93aa1872e93a681a44cae03fecb8df4101719897") ;; doom-keybinds.el -(package! general :pin "ced143c30de8e20f5a3761a465e684a1dc48471e") -(package! which-key :pin "96911a1d3faf8426a33241f4821319e98421f380") +(package! general :pin "826bf2b97a0fb4a34c5eb96ec2b172d682fd548f") +(package! which-key :pin "1e89fa000e9ba9549f15ef57abccd118d5f2fe1a") diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 58a8d48b8..a164637e9 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -501,12 +501,12 @@ :desc "Revert file" "R" #'vc-revert :desc "Copy link to remote" "y" #'+vc/browse-at-remote-kill :desc "Copy link to homepage" "Y" #'+vc/browse-at-remote-kill-homepage + :desc "Git time machine" "t" #'git-timemachine-toggle (:when (modulep! :ui hydra) :desc "SMerge" "m" #'+vc/smerge-hydra/body) (:when (modulep! :ui vc-gutter) :desc "Revert hunk at point" "r" #'+vc-gutter/revert-hunk :desc "stage hunk at point" "s" #'+vc-gutter/stage-hunk - :desc "Git time machine" "t" #'git-timemachine-toggle :desc "Jump to next hunk" "]" #'+vc-gutter/next-hunk :desc "Jump to previous hunk" "[" #'+vc-gutter/previous-hunk) (:when (modulep! :tools magit) diff --git a/modules/editor/parinfer/config.el b/modules/editor/parinfer/config.el index f76c71a28..57c202844 100644 --- a/modules/editor/parinfer/config.el +++ b/modules/editor/parinfer/config.el @@ -17,7 +17,8 @@ ((featurep :system 'linux) "parinfer-rust-linux.so") ((featurep :system 'windows) "parinfer-rust-windows.dll") ((featurep :system 'bsd) "libparinfer_rust.so"))) - parinfer-rust-auto-download (not (featurep :system 'bsd))) + parinfer-rust-auto-download (not (featurep :system 'bsd)) + parinfer-rust-disable-troublesome-modes t) :config (map! :map parinfer-rust-mode-map :localleader diff --git a/modules/editor/parinfer/packages.el b/modules/editor/parinfer/packages.el index 30ecb21fc..4fd48e02b 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 "8df117a3b54d9e01266a3905b132a1d082944702") +(package! parinfer-rust-mode :pin "e9a23e136b8c5f1fb718af93c19cd6ed22d8c98c") diff --git a/modules/emacs/vc/packages.el b/modules/emacs/vc/packages.el index 4602753ae..38a14176d 100644 --- a/modules/emacs/vc/packages.el +++ b/modules/emacs/vc/packages.el @@ -6,9 +6,9 @@ (package! smerge-mode :built-in t) (package! browse-at-remote :pin "76aa27dfd469fcae75ed7031bb73830831aaccbf") -(package! git-commit :pin "b5637d665c1e5bd5b76ffb072dbac387f37a5f63") +(package! git-commit :pin "f9268a959828d0c6ab26171dd2fb1ffc55e5ae70") (package! git-timemachine ;; The original lives on codeberg.org; which has uptime issues. :recipe (:host github :repo "emacsmirror/git-timemachine") :pin "5ed73c3831cf6da10ba941e6abba708a86853e8f") -(package! git-modes :pin "3cc94974c09c43462dfbfbe20396a414352dbb92") +(package! git-modes :pin "52ea2a1281ea9df9b8732fe2add0e6a0c9c2cd11") diff --git a/modules/input/chinese/config.el b/modules/input/chinese/config.el index a60a38797..abe8104cb 100644 --- a/modules/input/chinese/config.el +++ b/modules/input/chinese/config.el @@ -30,6 +30,7 @@ (use-package! liberime :when (modulep! +rime) + :after pyim :init (setq liberime-auto-build t liberime-user-data-dir (file-name-concat doom-cache-dir "rime"))) diff --git a/modules/lang/emacs-lisp/packages.el b/modules/lang/emacs-lisp/packages.el index d3894e575..95a3e3e6a 100644 --- a/modules/lang/emacs-lisp/packages.el +++ b/modules/lang/emacs-lisp/packages.el @@ -7,7 +7,7 @@ (package! highlight-quoted :pin "24103478158cd19fbcfb4339a3f1fa1f054f1469") ;; Tools -(package! macrostep :pin "0b04a89f698c335c9ea492553470a8d45c113edd") +(package! macrostep :pin "4939d88779761e8b5461b4cf73f86600172987db") (package! overseer :pin "7fdcf1a6fba6b1569a09c1666b4e51bcde266ed9") (package! elisp-def :pin "1ad4baccbf3d0d13e7607d332ae6bc60a5dd7360") (package! elisp-demos :pin "1a108d1c5011f9ced58be2ca98bea1fbd4130a2f") @@ -17,4 +17,4 @@ (package! flycheck-cask :pin "0eeec5197e9d31bfcfc39380b262d65259a87d91")) ;; Libraries -(package! buttercup :pin "24d43b2ce262faf59e5ff9f72466efb293aa6154") +(package! buttercup :pin "a1a86b027ffe030e1c78a9f43c50cd20a6fed19a") diff --git a/modules/lang/gdscript/config.el b/modules/lang/gdscript/config.el index f8496eeba..954bc25d6 100644 --- a/modules/lang/gdscript/config.el +++ b/modules/lang/gdscript/config.el @@ -28,9 +28,8 @@ :desc "Run current scene" "s" #'gdscript-godot-run-current-scene) (:prefix ("d" . "debug") - :desc "Add breakpoint" "a" #'gdscript-debug-add-breakpoint + :desc "Toggle breakpoint" "d" #'gdscript-debug-toggle-breakpoint :desc "Display breakpoint buffer" "b" #'gdscript-debug-display-breakpoint-buffer - :desc "Remove breakpoint" "d" #'gdscript-debug-remove-breakpoint :desc "Continue execution" "c" #'gdscript-debug-continue :desc "Next" "n" #'gdscript-debug-next :desc "Step" "s" #'gdscript-debug-step) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index bc2b720b8..0d34604da 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -501,10 +501,15 @@ relative to `org-directory', unless it is an absolute path." ;; Modify default file: links to colorize broken file links red (org-link-set-parameters "file" :face (lambda (path) - (if (or (file-remote-p path) - ;; filter out network shares on windows (slow) - (if (featurep :system 'windows) (string-prefix-p "\\\\" path)) - (file-exists-p path)) + (if (or + ;; file uris is not a valid path on windows + ;; ref https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-05/threads.html#00729 + ;; emacs <= 29 crashes for (file-exists-p "file://whatever") + (if (featurep :system 'windows) (string-prefix-p "//" path)) + (file-remote-p path) + ;; filter out network shares on windows (slow) + (if (featurep :system 'windows) (string-prefix-p "\\\\" path)) + (file-exists-p path)) 'org-link '(warning org-link)))) diff --git a/modules/lang/scheme/packages.el b/modules/lang/scheme/packages.el index 14ac588d6..5e05d5bcf 100644 --- a/modules/lang/scheme/packages.el +++ b/modules/lang/scheme/packages.el @@ -6,12 +6,12 @@ :recipe (:host gitlab :repo "flatwhatson/scheme-mode") :pin "51e586e5f1ddb5ea71d2cac8d401faf718c4627e")) -(when (package! geiser :pin "bb77719c25831b11d9357786efd6cc016fcdf6f7") +(when (package! geiser :pin "b6b4ac070d136345345c80ff649f0084e3c512a5") (package! macrostep-geiser :pin "f6a2d5bb96ade4f23df557649af87ebd0cc45125") (when (modulep! +chez) (package! geiser-chez :pin "605a81ff7b2d2b275a3ec68e3ce7e5b50f85014d")) (when (modulep! +chibi) - (package! geiser-chibi :pin "5a6a5a580ea45cd4974df21629a8d50cbe3d6e99")) + (package! geiser-chibi :pin "2502fed1349c2703eea528b74bcc980ad6bceab8")) (when (modulep! +chicken) (package! geiser-chicken :pin "a480598b5908c95bc8d3178a48f13e9072a9235b")) (when (modulep! +gambit) @@ -19,7 +19,7 @@ (when (modulep! +gauche) (package! geiser-gauche :pin "8ff743f6416f00751e24aef8b9791501a40f5421")) (when (modulep! +guile) - (package! geiser-guile :pin "6e0811c75d13c3c8488e7a11a018e1ea2ae3288a") + (package! geiser-guile :pin "71a6be00433a157de3936f208c7a1bd0192b12cd") (when (and (modulep! :checkers syntax) (not (modulep! :checkers syntax +flymake))) (package! flycheck-guile diff --git a/modules/lang/web/+html.el b/modules/lang/web/+html.el index 7baff19db..bb0d9b23c 100644 --- a/modules/lang/web/+html.el +++ b/modules/lang/web/+html.el @@ -142,7 +142,6 @@ "p" #'web-mode-tag-previous "s" #'web-mode-tag-select)) - :g "M-/" #'web-mode-comment-or-uncomment :i "SPC" #'self-insert-command :n "za" #'web-mode-fold-or-unfold :nv "]a" #'web-mode-attribute-next diff --git a/modules/lang/web/packages.el b/modules/lang/web/packages.el index 53b0f1a35..ad26f266e 100644 --- a/modules/lang/web/packages.el +++ b/modules/lang/web/packages.el @@ -5,8 +5,8 @@ (package! emmet-mode :pin "63b6932603184956b5ea8919036d2b307b48d7fd") (package! haml-mode :pin "a64d58df8f098f858c6c11fa1629a90969f9c7e8") (package! pug-mode :pin "73f8c2f95eba695f701df20c8436f49abadebdc1") -(package! slim-mode :pin "3636d18ab1c8b316eea71c4732eb44743e2ded87") -(when (package! web-mode :pin "82847071ce93293bdb7945db08d970f13fd883cf") +(package! slim-mode :pin "8c92169817f2fa59255f547f0a9fb4fbb8309db9") +(when (package! web-mode :pin "005aa62d6f41fbf9bc045cac3b3b772716ee8ba7") (when (modulep! :completion company) (package! company-web :pin "863fb84b81ed283474e50330cd8d27b1ca0d74f1"))) @@ -17,7 +17,7 @@ (package! sass-mode :pin "247a0d4b509f10b28e4687cd8763492bca03599b") (package! stylus-mode :pin "1ad7c51f3c6a6ae64550d9510c5e4e8470014375") (package! sws-mode :pin "1ad7c51f3c6a6ae64550d9510c5e4e8470014375") -(package! rainbow-mode :pin "70ed10d410ef00c82c49b2ba41647930626d6218") +(package! rainbow-mode :pin "0740f31f300982534183a2f60b1918de418a6f2c") (when (modulep! :completion ivy) (package! counsel-css :pin "8e9c0515fc952452eee786d8ebb43d48ea86c9f8")) (when (modulep! :completion helm) diff --git a/modules/lang/zig/packages.el b/modules/lang/zig/packages.el index 832e248a3..f4ad9b496 100644 --- a/modules/lang/zig/packages.el +++ b/modules/lang/zig/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/zig/packages.el -(package! zig-mode :pin "079149a19fc869343130e69d7b944afd3a1813cc") +(package! zig-mode :pin "f55e42536a3f34b81198b856595dc3a61867aa3e") diff --git a/modules/tools/debugger/config.el b/modules/tools/debugger/config.el index 8e914bc60..5861e261f 100644 --- a/modules/tools/debugger/config.el +++ b/modules/tools/debugger/config.el @@ -20,6 +20,7 @@ `(((:lang cc +lsp) :after ccls :require (dap-lldb dap-gdb-lldb)) ((:lang elixir +lsp) :after elixir-mode :require dap-elixir) ((:lang go +lsp) :after go-mode :require dap-dlv-go) + ((:lang gdscript +lsp) :after gdscript-mode :require dap-gdscript) ((:lang java +lsp) :after java-mode :require lsp-java) ((:lang php +lsp) :after php-mode :require dap-php) ((:lang python +lsp) :after python :require dap-python) diff --git a/modules/tools/debugger/packages.el b/modules/tools/debugger/packages.el index 646b3cbc6..2d859c711 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 "c95537c58e8f3ceac9c827ddf89e4928b24a1cc7") - (package! posframe :pin "017deece88360c7297265680d78a0bb316470716")) + (package! dap-mode :pin "11431a26bc4c8ca92b097dbdbcbdc9e3d7fb5583") + (package! posframe :pin "f4e9e509ba96ceb3c2b2b054957291607fb52651")) diff --git a/modules/tools/lsp/packages.el b/modules/tools/lsp/packages.el index c493ec335..88381ae14 100644 --- a/modules/tools/lsp/packages.el +++ b/modules/tools/lsp/packages.el @@ -3,17 +3,17 @@ (if (modulep! +eglot) (progn - (package! eglot :pin "678610fdc544f10ac757ab7acf88ac7c5815ed5a") + (package! eglot :pin "e7e49c789c4019dd4cd4ab3880517d01592d81f9") (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 "8861252880f6c2f6374a7bca2b945e6447eebd5a") - (package! lsp-ui :pin "942eeecc3d9a23ad006a3476885dfa7cbb5e207e") + (package! lsp-mode :pin "acad044ebc343c1eff0d9a875a13fb34ad113a9e") + (package! lsp-ui :pin "00f1fecdfb41c30428734cf27e492f26f46627fb") (when (modulep! :completion ivy) (package! lsp-ivy :pin "9ecf4dd9b1207109802bd1882aa621eb1c385106")) (when (modulep! :completion helm) (package! helm-lsp :pin "c2c6974dadfac459b1a69a1217441283874cea92")) (when (modulep! :completion vertico) - (package! consult-lsp :pin "f8db3252c0daa41225ba4ed1c0d178b281cd3e90"))) + (package! consult-lsp :pin "68583913168bf66fd4d542b2517a2dcab19c447c"))) diff --git a/modules/tools/magit/config.el b/modules/tools/magit/config.el index 10a5d221d..21649e665 100644 --- a/modules/tools/magit/config.el +++ b/modules/tools/magit/config.el @@ -153,7 +153,7 @@ Only has an effect in GUI Emacs.") ;; All forge list modes are derived from `forge-topic-list-mode' (map! :map forge-topic-list-mode-map :n "q" #'kill-current-buffer) (when (not forge-add-default-bindings) - (map! :map magit-mode-map [remap magit-browse-thing] #'forge-browse-dwim + (map! :map magit-mode-map [remap magit-browse-thing] #'forge-browse :map magit-remote-section-map [remap magit-browse-thing] #'forge-browse-remote :map magit-branch-section-map [remap magit-browse-thing] #'forge-browse-branch)) (set-popup-rule! "^\\*?[0-9]+:\\(?:new-\\|[0-9]+$\\)" :size 0.45 :modeline t :ttl 0 :quit nil) diff --git a/modules/tools/magit/packages.el b/modules/tools/magit/packages.el index 2f046d9b7..e3ed50ca7 100644 --- a/modules/tools/magit/packages.el +++ b/modules/tools/magit/packages.el @@ -1,12 +1,12 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/magit/packages.el -(when (package! magit :pin "b5637d665c1e5bd5b76ffb072dbac387f37a5f63") +(when (package! magit :pin "f9268a959828d0c6ab26171dd2fb1ffc55e5ae70") (when (modulep! +forge) - (package! forge :pin "ad94b5665de357347bfc52910eef46a79f74988d") + (package! forge :pin "c3675fd068767c694177a310d4fa0a01f81bb2d3") (package! code-review :recipe (:host github :repo "doomelpa/code-review" :files ("graphql" "code-review*.el")) :pin "e4c34fa284da25d8e0bafbae4300f1db5bdcda44")) - (package! magit-todos :pin "332ce763f7336ea356964b92723678aa1ed4640f")) + (package! magit-todos :pin "501c8db90ab59f8b619618b9d10db2a32a113727"))