From ffd2654aa3166f767ed2eafebfc9cae34d75f454 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 2 Feb 2024 18:47:15 -0500 Subject: [PATCH 1/2] fix(emacs-lisp): non-package-mode: only enable in elisp buffers This prevents +emacs-lisp-non-package-mode from being activated in non-elisp buffers. Amend: #7341 Close: #7645 Co-authored-by: PatrickNorton --- modules/lang/emacs-lisp/autoload.el | 19 ++++++++++++------- modules/lang/emacs-lisp/config.el | 9 +++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/modules/lang/emacs-lisp/autoload.el b/modules/lang/emacs-lisp/autoload.el index 6aeab83f4..a9cbffc48 100644 --- a/modules/lang/emacs-lisp/autoload.el +++ b/modules/lang/emacs-lisp/autoload.el @@ -379,6 +379,7 @@ as `+emacs-lisp-non-package-mode' will enable it and disable the other checkers. ,(read (default-toplevel-value 'flycheck-emacs-lisp-check-form)))) flycheck-disabled-checkers (cons 'emacs-lisp-checkdoc flycheck-disabled-checkers)))) + ;;;###autoload (define-minor-mode +emacs-lisp-non-package-mode "Reduce flycheck/flymake verbosity where it is appropriate. @@ -394,15 +395,19 @@ This generally applies to your private config (`doom-user-dir') or Doom's source :since "3.0.0" (unless (and (or (bound-and-true-p flycheck-mode) (bound-and-true-p flymake-mode)) + (derived-mode-p 'emacs-lisp-mode) (not (+emacs-lisp--in-package-buffer-p))) (setq +emacs-lisp-non-package-mode nil)) - (when (derived-mode-p 'emacs-lisp-mode) - (add-hook 'after-save-hook #'+emacs-lisp-non-package-mode nil t)) - (let ((toggle (if +emacs-lisp-non-package-mode +1 -1))) - (cond ((modulep! :checkers syntax +flymake) - (+emacs-lisp--flymake-non-package-mode toggle)) - ((modulep! :checkers syntax) - (+emacs-lisp--flycheck-non-package-mode toggle))))) + (when-let ((modesym (cond ((modulep! :checkers syntax +flymake) + #'+emacs-lisp--flymake-non-package-mode) + ((modulep! :checkers syntax) + #'+emacs-lisp--flycheck-non-package-mode)))) + (if (not +emacs-lisp-non-package-mode) + (when (symbol-value modesym) + (funcall modesym -1)) + (when (derived-mode-p 'emacs-lisp-mode) + (add-hook 'after-save-hook #'+emacs-lisp-non-package-mode nil t)) + (funcall modesym +1)))) ;; diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index 90c613053..3cabce3b6 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -95,10 +95,11 @@ See `+emacs-lisp-non-package-mode' for details.") ;; Ensure straight sees modifications to installed packages #'+emacs-lisp-init-straight-maybe-h) - ;; UX: Both Flycheck's and Flymake's two - ;; emacs-lisp checkers produce a *lot* of false positives in non-packages - ;; (like Emacs configs or elisp scripts), so I disable `checkdoc' (`emacs-lisp-checkdoc', `elisp-flymake-checkdoc') - ;; and set `byte-compile-warnings' to a subset that makes more sense (see `+emacs-lisp-linter-warnings') + ;; UX: Both Flycheck's and Flymake's two emacs-lisp checkers produce a *lot* + ;; of false positives in non-packages (like Emacs configs or elisp + ;; scripts), so I disable `checkdoc' (`emacs-lisp-checkdoc', + ;; `elisp-flymake-checkdoc') and set `byte-compile-warnings' to a subset + ;; that makes more sense (see `+emacs-lisp-linter-warnings') (add-hook! '(flycheck-mode-hook flymake-mode-hook) #'+emacs-lisp-non-package-mode) (defadvice! +syntax--fix-elisp-flymake-load-path (orig-fn &rest args) From d38787edf48f4c08bdf7ea8b3b54fcbc268f13b5 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 2 Feb 2024 18:49:05 -0500 Subject: [PATCH 2/2] bump: :lang emacs-lisp Wilfred/elisp-def@1d2e88a232ec -> Wilfred/elisp-def@1ad4baccbf3d jorgenschaefer/emacs-buttercup@30c703d215b0 -> jorgenschaefer/emacs-buttercup@24d43b2ce262 purcell/flycheck-package@3a6aaed29ff6 -> purcell/flycheck-package@75efa098cf17 tonini/overseer.el@02d49f582e80 -> tonini/overseer.el@7fdcf1a6fba6 xuchunyang/elisp-demos@8d0cd806b109 -> xuchunyang/elisp-demos@1a108d1c5011 --- modules/lang/emacs-lisp/packages.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/lang/emacs-lisp/packages.el b/modules/lang/emacs-lisp/packages.el index ce563644c..1e7bf2f93 100644 --- a/modules/lang/emacs-lisp/packages.el +++ b/modules/lang/emacs-lisp/packages.el @@ -8,13 +8,13 @@ ;; Tools (package! macrostep :pin "0b04a89f698c335c9ea492553470a8d45c113edd") -(package! overseer :pin "02d49f582e80e36b4334c9187801c5ecfb027789") -(package! elisp-def :pin "1d2e88a232ec16bce036b49577c4d4d96035f9f7") -(package! elisp-demos :pin "8d0cd806b109076e6c4383edf59dbab9435dc5dc") +(package! overseer :pin "7fdcf1a6fba6b1569a09c1666b4e51bcde266ed9") +(package! elisp-def :pin "1ad4baccbf3d0d13e7607d332ae6bc60a5dd7360") +(package! elisp-demos :pin "1a108d1c5011f9ced58be2ca98bea1fbd4130a2f") (when (and (modulep! :checkers syntax) (not (modulep! :checkers syntax +flymake))) - (package! flycheck-package :pin "3a6aaed29ff61418c48c0251e1432c30748ae739") + (package! flycheck-package :pin "75efa098cf17dc14c363e2ca9b68afdac7766b5b") (package! flycheck-cask :pin "4b2ede6362ded4a45678dfbef1876faa42edbd58")) ;; Libraries -(package! buttercup :pin "30c703d215b075aaede936a2c424f65b5f7b6391") +(package! buttercup :pin "24d43b2ce262faf59e5ff9f72466efb293aa6154")