[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master d012595: Make byte-compiled uses of `define-minor-mode' more comp
From: |
Lars Ingebrigtsen |
Subject: |
master d012595: Make byte-compiled uses of `define-minor-mode' more compatible |
Date: |
Thu, 11 Mar 2021 18:42:00 -0500 (EST) |
branch: master
commit d0125959d775fc8868b3c4cec78c4120eb67d643
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Make byte-compiled uses of `define-minor-mode' more compatible
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Be more
defensive about accessing minor mode variables.
---
lisp/emacs-lisp/easy-mmode.el | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 4a9e580..addb58c 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -332,12 +332,20 @@ or call the function `%s'."))))
t)))
;; Keep minor modes list up to date.
,@(if globalp
- `((setq global-minor-modes (delq ',modefun
global-minor-modes))
+ ;; When running this byte-compiled code in earlier
+ ;; Emacs versions, these variables may not be defined
+ ;; there. So check defensively, even if they're
+ ;; always defined in Emacs 28 and up.
+ `((when (boundp 'global-minor-modes)
+ (setq global-minor-modes
+ (delq ',modefun global-minor-modes))
+ (when ,getter
+ (push ',modefun global-minor-modes))))
+ ;; Ditto check.
+ `((when (boundp 'local-minor-modes)
+ (setq local-minor-modes (delq ',modefun local-minor-modes))
(when ,getter
- (push ',modefun global-minor-modes)))
- `((setq local-minor-modes (delq ',modefun local-minor-modes))
- (when ,getter
- (push ',modefun local-minor-modes))))
+ (push ',modefun local-minor-modes)))))
,@body
;; The on/off hooks are here for backward compatibility only.
(run-hooks ',hook (if ,getter ',hook-on ',hook-off))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master d012595: Make byte-compiled uses of `define-minor-mode' more compatible,
Lars Ingebrigtsen <=