[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/lin fef282ebbb 44/46: Improve how lin--setup resets hoo
From: |
ELPA Syncer |
Subject: |
[elpa] externals/lin fef282ebbb 44/46: Improve how lin--setup resets hooks |
Date: |
Thu, 7 Apr 2022 23:57:48 -0400 (EDT) |
branch: externals/lin
commit fef282ebbb11c096efad0ee659d73306803d3771
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Improve how lin--setup resets hooks
---
lin.el | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/lin.el b/lin.el
index acc99220a9..26fa6d3ca8 100644
--- a/lin.el
+++ b/lin.el
@@ -317,6 +317,19 @@ updates the face. Users who prefer to use `setq' must run
(lin--setup :reverse)
(lin-disable-mode-in-buffers)))
+(defun lin--setup-add-hooks ()
+ "Add `lin-mode-hooks'."
+ (dolist (hook lin-mode-hooks)
+ (add-hook hook #'lin-mode)))
+
+(defun lin--setup-remove-hooks (&optional hooks)
+ "Remove `lin-mode-hooks' or, optionally, HOOKS."
+ (dolist (hook (or hooks lin-mode-hooks))
+ (remove-hook hook #'lin-mode)))
+
+(defvar lin--setup-hooks nil
+ "Last value used by `lin--setup'.")
+
(defun lin--setup (&optional reverse)
"Set up Lin for select mode hooks.
@@ -324,11 +337,13 @@ This adds `lin-mode' and `hl-line-mode' to every hook in
`lin-mode-hooks'.
With optional non-nil REVERSE argument, remove those hooks."
- (if reverse
- (dolist (hook lin-mode-hooks)
- (remove-hook hook #'lin-mode))
- (dolist (hook lin-mode-hooks)
- (add-hook hook #'lin-mode))))
+ (cond
+ (reverse
+ (lin--setup-remove-hooks))
+ (t
+ (lin--setup-remove-hooks lin--setup-hooks)
+ (lin--setup-add-hooks)))
+ (setq lin--setup-hooks lin-mode-hooks))
(define-obsolete-function-alias 'lin-setup 'lin--setup "0.3.0")
- [elpa] externals/lin 0e2dd40062 39/46: Improve the minor-mode setup; add lin-global-mode, (continued)
- [elpa] externals/lin 0e2dd40062 39/46: Improve the minor-mode setup; add lin-global-mode, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 69bcc295ef 37/46: Abstract lin-mode lighter, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 9524720b45 41/46: Make minor tweaks to the manual, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 5ee05ac998 43/46: Fix bug in alias caused by typo, ELPA Syncer, 2022/04/07
- [elpa] externals/lin deacbddf05 32/46: Refine lin-face custom setter (extends 13aa36b), ELPA Syncer, 2022/04/07
- [elpa] externals/lin 87f572ad10 05/46: Rename faces; update their docs, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 6cd9348e06 07/46: Prepare manual and add relevant files, ELPA Syncer, 2022/04/07
- [elpa] externals/lin b094ebe589 17/46: Merge branch 'ctietze-main-patch-35663' into 'main', ELPA Syncer, 2022/04/07
- [elpa] externals/lin 75f98524ec 29/46: Add bongo to lin-mode-hooks, ELPA Syncer, 2022/04/07
- [elpa] externals/lin ea174a53f2 36/46: Format the Commentary a bit better, ELPA Syncer, 2022/04/07
- [elpa] externals/lin fef282ebbb 44/46: Improve how lin--setup resets hooks,
ELPA Syncer <=
- [elpa] externals/lin 81c256632b 14/46: Update manual's Acknowledgements, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 6da81a4a70 23/46: Minor rewording of heading, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 96a61754c8 19/46: Account for the case of hl-line-face, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 4616650344 24/46: Added mu4e-headers-mode to lin-foreign-hooks, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 3c1df2c174 38/46: Fix stable version, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 07f40bd5e9 35/46: Add minor-mode lighter, ELPA Syncer, 2022/04/07
- [elpa] externals/lin fb32511d20 08/46: Add Acknowledgements to the manual, ELPA Syncer, 2022/04/07
- [elpa] externals/lin 8aa367ec86 13/46: Merge branch 'various' into 'main', ELPA Syncer, 2022/04/07
- [elpa] externals/lin e5a0da969e 20/46: Add function lin-add-to-many-modes and option lin-foreign-hooks (#3), ELPA Syncer, 2022/04/07
- [elpa] externals/lin a85b9da0d1 21/46: Merge branch 'lin-add-to-many-modes' into 'main', ELPA Syncer, 2022/04/07