mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-20 18:17:20 +00:00
* 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.
This commit is contained in:
parent
6b361d9530
commit
83c50cc6ef
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user