[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/blow 9f01b3b456 2/5: Handle major mode change
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/blow 9f01b3b456 2/5: Handle major mode change |
Date: |
Sun, 27 Nov 2022 15:58:34 -0500 (EST) |
branch: elpa/blow
commit 9f01b3b4560ff4f814df8eba2dfc7016132c57b6
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Handle major mode change
---
blow.el | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/blow.el b/blow.el
index 7d37ec68df..bd7d4e699e 100644
--- a/blow.el
+++ b/blow.el
@@ -167,6 +167,12 @@ Don't modify this variable from Lisp programs, use `blow'
instead."
blow--original-lighters)
(blow--replace-lighters-on-all-buffer changed-lighters)))
+(defun blow--after-major-mode-change ()
+ "Set `mode-name' after major-mode change."
+ (let ((entry (assq major-mode blow-mode-list)))
+ (when entry
+ (setq mode-name (cadr entry)))))
+
;;;###autoload
(defun blow (mode &optional replacement)
"Blow mode lighter of MODE and use REPLACEMENT as it's lighter."
@@ -191,13 +197,20 @@ Don't modify this variable from Lisp programs, use `blow'
instead."
:global t
:lighter " Blow"
(if blow-mode
- (blow--setup-all-buffers)
+ (progn
+ (blow--setup-all-buffers)
+ (add-hook 'after-change-major-mode-hook
+ #'blow--after-major-mode-change))
(let ((blow-mode-list nil))
(blow--setup-all-buffers)
- (setq blow--original-lighters nil))))
+ (setq blow--original-lighters nil)
+ (remove-hook 'after-change-major-mode-hook
+ #'blow--after-major-mode-change))))
(defun blow-original-lighter (mode)
- "Return the original lighter of mode MODE."
+ "Return the original lighter of mode MODE.
+
+This only works for minor modes and blown major modes."
(if (and blow-mode (blow--hash-exists-p mode blow--original-lighters))
(gethash mode blow--original-lighters)
(cadr (assq mode minor-mode-alist))))
- [nongnu] branch elpa/blow created (now a773405f5a), ELPA Syncer, 2022/11/27
- [nongnu] elpa/blow 4736d1419c 4/5: Revise the code to be two lines shorter, ELPA Syncer, 2022/11/27
- [nongnu] elpa/blow a773405f5a 5/5: Add .dir-locals.el, ELPA Syncer, 2022/11/27
- [nongnu] elpa/blow 9f01b3b456 2/5: Handle major mode change,
ELPA Syncer <=
- [nongnu] elpa/blow ddbb0af452 3/5: Fix typos in commentary and README, ELPA Syncer, 2022/11/27
- [nongnu] elpa/blow d632077061 1/5: Add blow.el, COPYING and README.org, ELPA Syncer, 2022/11/27