[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 83c50cc 5/7: * lisp/so-long.el (so-long): Firstly revert the exis
From: |
Phil |
Subject: |
master 83c50cc 5/7: * lisp/so-long.el (so-long): Firstly revert the existing action, if any |
Date: |
Mon, 18 Nov 2019 03:42:02 -0500 (EST) |
branch: master
commit 83c50cc6efacf701ba64c2f4175ece7ebff9b338
Author: Phil Sainty <address@hidden>
Commit: Phil Sainty <address@hidden>
* lisp/so-long.el (so-long): Firstly revert the existing action, if any
This makes `so-long' consistent with the action commands in the menu.
If multiple actions were to be layered on top of one another, we would
lose the ability to revert to the normal state. Custom actions
combining multiple other actions can be defined if necessary.
---
lisp/so-long.el | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/lisp/so-long.el b/lisp/so-long.el
index 6928c90..e80abc7 100644
--- a/lisp/so-long.el
+++ b/lisp/so-long.el
@@ -1576,8 +1576,12 @@ This command is called automatically when long lines are
detected, when
The effects of the action can be undone by calling `so-long-revert'.
-If ACTION is provided, it is used instead of `so-long-action'. With a prefix
-argument, select the action to use interactively."
+If ACTION is provided, it is used instead of `so-long-action'.
+
+With a prefix argument, select the action to use interactively.
+
+If an action was already active in the buffer, it will be reverted before
+invoking the new action."
(interactive
(list (and current-prefix-arg
(intern
@@ -1587,6 +1591,10 @@ argument, select the action to use interactively."
;; Ensure that `so-long-deferred' only triggers `so-long' once (at most).
(remove-hook 'window-configuration-change-hook #'so-long :local)
(unless so-long--calling
+ ;; Revert the existing action, if any.
+ (when so-long--active
+ (so-long-revert))
+ ;; Invoke the new action.
(let ((so-long--calling t))
(so-long--ensure-enabled)
;; ACTION takes precedence if supplied.
- master updated (952bd20 -> ccb8bbd), Phil, 2019/11/18
- master bf7934a 2/7: ; * lisp/so-long.el: Use function quoting in example configuration, Phil, 2019/11/18
- master 6b361d9 4/7: lisp/so-long.el: Use (interactive "@") for menu commands, Phil, 2019/11/18
- master 83c50cc 5/7: * lisp/so-long.el (so-long): Firstly revert the existing action, if any,
Phil <=
- master 6218714 1/7: ; * lisp/so-long.el: Delete redundant :group declarations, Phil, 2019/11/18
- master 206f36b 3/7: ; * lisp/so-long.el: Use declare-function nearer the code that needs it, Phil, 2019/11/18
- master 3367682 6/7: lisp/so-long.el: Refactor menu action commands, Phil, 2019/11/18
- master ccb8bbd 7/7: Merge branch 'scratch/so-long-updates', Phil, 2019/11/18