From 58375306ad9dd36191e252218fc985e7821d772a Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 16 Jul 2024 22:33:16 -0400 Subject: [PATCH 1/8] bump: :ui doom doomemacs/themes@188ab05eefe2 -> doomemacs/themes@2c794a09b023 hlissner/emacs-solaire-mode@8ccdceeb9298 -> hlissner/emacs-solaire-mode@c9334666bd20 --- modules/ui/doom/packages.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ui/doom/packages.el b/modules/ui/doom/packages.el index f5311139b..905a1edff 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 "188ab05eefe2bdc46b4464aadb4a52ff9cb42f7f") -(package! solaire-mode :pin "8ccdceeb9298b3c4e35f630914f467bf164f39ad") +(package! doom-themes :pin "2c794a09b023bda09d2f36a7be80684f4e416d88") +(package! solaire-mode :pin "c9334666bd208f3322e6118d30eba1b2438e2bb9") From 3391cb76bb194f67abcb553f57aa1c7699c47ed2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 18 Jul 2024 19:15:58 -0400 Subject: [PATCH 2/8] fix(julia): eglot-jl: use included server Fix: #7953 --- modules/lang/julia/config.el | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/lang/julia/config.el b/modules/lang/julia/config.el index df34a47ae..08dc89471 100644 --- a/modules/lang/julia/config.el +++ b/modules/lang/julia/config.el @@ -91,11 +91,6 @@ :when (modulep! +lsp) :when (modulep! :tools lsp +eglot) :after eglot - :preface - ;; Prevent auto-install of LanguageServer.jl - (setq eglot-jl-language-server-project - (or (car (last (doom-glob "~/.julia/environments/v*"))) - "~/.julia/environments/v1.6")) :init ;; Prevent timeout while installing LanguageServer.jl (setq-hook! 'julia-mode-hook eglot-connect-timeout (max eglot-connect-timeout 60)) From 90bbd7101aa3bec6873b68c16b2a051fa5955e45 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 18 Jul 2024 20:56:10 -0400 Subject: [PATCH 3/8] fix(beancount): beancount-fava failing to open browser --- modules/lang/beancount/config.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/lang/beancount/config.el b/modules/lang/beancount/config.el index c28f494d2..d54540657 100644 --- a/modules/lang/beancount/config.el +++ b/modules/lang/beancount/config.el @@ -15,6 +15,17 @@ (when (modulep! +lsp) (add-hook 'beancount-mode-local-vars-hook #'lsp! 'append)) + ;; HACK: The intro message changed in newer versions of Fava, plus, the output + ;; could contain ANSI codes, causing the `beancount-fava' command to not + ;; open the server in the browser after the server has started. + ;; REVIEW: PR this uptsream! + (defadvice! +beancount--open-in-browser-after-starting-fix-a (_process output) + :override #'beancount--fava-filter + (save-match-data + (let ((output (ansi-color-filter-apply output))) + (when-let ((url (string-match "\\(?:Starting\\|Running\\) Fava on \\(http://.+:[0-9]+\\)\n" output))) + (browse-url (match-string 1 output)))))) + (map! :map beancount-mode-map "TAB" (cmds! (and outline-minor-mode (outline-on-heading-p)) #'beancount-outline-cycle From 08fdcd2abfc55d901ba865342c76d2e12747c339 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 18 Jul 2024 20:56:41 -0400 Subject: [PATCH 4/8] docs(macos): doctor: mention auth-source-macos-keychain bug in <29.3 I'm not actually sure when this was fixed, but the bug report title claims this was reported in 29.1, so I'll assume it was merged by 29.3. Needs verifying. The explanation could use some work, but this'll do for now. I'll welcome PRs to expand it if I don't get to it first. Ref: https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-08/msg00560.html --- modules/os/macos/doctor.el | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 modules/os/macos/doctor.el diff --git a/modules/os/macos/doctor.el b/modules/os/macos/doctor.el new file mode 100644 index 000000000..f9684be69 --- /dev/null +++ b/modules/os/macos/doctor.el @@ -0,0 +1,6 @@ +;;; os/macos/doctor.el -*- lexical-binding: t; -*- + +;; See https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-08/msg00560.html +(when (version< emacs-version "29.3") + (warn! "There are bugs in multi-user Keychain integration on Emacs <=29.2") + (explain! "See https://lists.gnu.org/archive/html/bug-gnu-emacs/2023-08/msg00560.html")) From f5a9f5d7adce4b4c8b1495fd4c71370967e9415b Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 18 Jul 2024 22:28:25 -0400 Subject: [PATCH 5/8] docs(popup): set-popup-rule!: update docstring --- modules/ui/popup/autoload/settings.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/ui/popup/autoload/settings.el b/modules/ui/popup/autoload/settings.el index 9e7d4503c..f2aea5abb 100644 --- a/modules/ui/popup/autoload/settings.el +++ b/modules/ui/popup/autoload/settings.el @@ -46,9 +46,11 @@ These rules affect buffers displayed with `pop-to-buffer' and `display-buffer' variants) will not be affected by these rules (as they are unaffected by `display-buffer-alist', which powers the popup management system). -PREDICATE can be either a) a regexp string (matched against the buffer's name) -or b) a function that takes two arguments (a buffer name and the ACTION argument -of `display-buffer') and returns a boolean. +PREDICATE accepts anything that the CONDITION argument in `buffer-match-p' takes +(if you're on Emacs 29 or newer). On Emacs 28 or older, it can either be a) a +regexp string (matched against the buffer's name) or b) a function that takes +two arguments (a buffer name and the ACTION argument of `display-buffer') and +returns a boolean. PLIST can be made up of any of the following properties: From 98a3cad54d1a14978c1bd6570ded8c4136b5fd19 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 18 Jul 2024 22:34:25 -0400 Subject: [PATCH 6/8] docs: minor docstring revisions For clarity only. These do not reflect any recent changes. --- lisp/cli/upgrade.el | 12 ++++++------ lisp/doom-packages.el | 4 ++-- lisp/lib/config.el | 3 +++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lisp/cli/upgrade.el b/lisp/cli/upgrade.el index c44b300e9..67f9f9897 100644 --- a/lisp/cli/upgrade.el +++ b/lisp/cli/upgrade.el @@ -23,14 +23,14 @@ (jobs ("-j" "--jobs" num) "How many CPUs to use for native compilation") (nobuild? ("-B") "Don't rebuild packages when hostname or Emacs version has changed") &context context) - "Updates Doom and packages. + "Updates Doom's core, module libraries, and installed packages. -This requires that ~/.emacs.d is a git repo, and is the equivalent of the -following shell commands: +A convenience command for updating Doom's core and pinned modules/module +libraries. It is the equivalent of the following shell commands: - cd ~/.emacs.d - git pull --rebase - doom sync -u" + $ cd ~/.emacs.d + $ git pull --rebase + $ doom sync -u" (let* ((force? (doom-cli-context-suppress-prompts-p context)) (sync-cmd (append '("sync" "-u") (if nobuild? '("-B")) diff --git a/lisp/doom-packages.el b/lisp/doom-packages.el index 90ffb5154..5a6cb7e4e 100644 --- a/lisp/doom-packages.el +++ b/lisp/doom-packages.el @@ -606,8 +606,8 @@ Only use this macro in a module's (or your private) packages.el file." (defmacro unpin! (&rest targets) "Unpin packages in TARGETS. -This unpins packages, so that 'doom upgrade' downloads their latest version. It -can be used one of five ways: +This unpins packages, so that `doom upgrade' or `doom sync -u' will update them +to the latest commit available. Some examples: - To disable pinning wholesale: (unpin! t) - To unpin individual packages: (unpin! packageA packageB ...) diff --git a/lisp/lib/config.el b/lisp/lib/config.el index 915c764fc..8fe468919 100644 --- a/lisp/lib/config.el +++ b/lisp/lib/config.el @@ -73,6 +73,9 @@ And jumps to your `doom!' block." (defun doom/reload () "Reloads your private config. +WARNING: This command is experimental! If you haven't configured your config to +be idempotent, then this could cause compounding slowness or errors. + This is experimental! It will try to do as `bin/doom sync' does, but from within this Emacs session. i.e. it reload autoloads files (if necessary), reloads your package list, and lastly, reloads your private config.el. From db36c74bbb806a0eb675142152e96c0f74681272 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 18 Jul 2024 22:35:17 -0400 Subject: [PATCH 7/8] refactor: minor refactors --- modules/lang/org/packages.el | 2 +- modules/os/macos/config.el | 2 +- modules/ui/doom-quit/config.el | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index 82ef4feb7..cf8f30638 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -23,7 +23,7 @@ (with-temp-file "org-version.el" (let ((version (with-temp-buffer - (insert-file-contents (doom-path "lisp/org.el") nil 0 1024) + (insert-file-contents "lisp/org.el" nil 0 1024) (if (re-search-forward "^;; Version: \\([^\n-]+\\)" nil t) (match-string-no-properties 1) "Unknown")))) diff --git a/modules/os/macos/config.el b/modules/os/macos/config.el index 06e9bea0a..98f59154c 100644 --- a/modules/os/macos/config.el +++ b/modules/os/macos/config.el @@ -35,7 +35,7 @@ ;; Delete files to trash on macOS, as an extra layer of precaution against ;; accidentally deleting wanted files. -(setq delete-by-moving-to-trash t) +(setq delete-by-moving-to-trash (not noninteractive)) ;; diff --git a/modules/ui/doom-quit/config.el b/modules/ui/doom-quit/config.el index 3e6f69702..b5cfb06e6 100644 --- a/modules/ui/doom-quit/config.el +++ b/modules/ui/doom-quit/config.el @@ -5,9 +5,7 @@ "Please don't leave, there's more demons to toast!" "Let's beat it -- This is turning into a bloodbath!" ,(format "I wouldn't leave if I were you. %s is much worse." - (if (member system-type '(ms-dos-windows-nt cygwin)) - "DOS" - "UNIX")) + (if (featurep :system 'windows) "DOS" "UNIX")) "Don't leave yet -- There's a demon around that corner!" "Ya know, next time you come in here I'm gonna toast ya." "Go ahead and leave. See if I care." From 36e7aaa619342eff61b1daf3ac664f94d5272db7 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 18 Jul 2024 22:36:14 -0400 Subject: [PATCH 8/8] nit(default): remove refs to doom-point-in-*-functions These variables were removed in e43d575. Amend: e43d575cafd9 --- modules/config/default/config.el | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/config/default/config.el b/modules/config/default/config.el index 19d566797..ff742cc94 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -270,9 +270,9 @@ (advice-add #'delete-backward-char :override #'+default--delete-backward-char-a) ;; HACK Makes `newline-and-indent' continue comments (and more reliably). -;; Consults `doom-point-in-comment-functions' to detect a commented region -;; and uses that mode's `comment-line-break-function' to continue comments. -;; If neither exists, it will fall back to the normal behavior of +;; Consults `doom-point-in-comment-p' to detect a commented region and uses +;; that mode's `comment-line-break-function' to continue comments. If +;; neither exists, it will fall back to the normal behavior of ;; `newline-and-indent'. ;; ;; We use an advice here instead of a remapping because many modes define @@ -281,9 +281,7 @@ ;; on a case by case basis. (defadvice! +default--newline-indent-and-continue-comments-a (&rest _) "A replacement for `newline-and-indent'. - -Continues comments if executed from a commented line. Consults -`doom-point-in-comment-functions' to determine if in a comment." +Continues comments if executed from a commented line." :before-until #'newline-and-indent (interactive "*") (when (and +default-want-RET-continue-comments