[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/undo-fu e49ee5bdc3 10/82: Show unconstrained suffix for un
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/undo-fu e49ee5bdc3 10/82: Show unconstrained suffix for unconstrained undo/redo |
Date: |
Thu, 7 Jul 2022 12:04:47 -0400 (EDT) |
branch: elpa/undo-fu
commit e49ee5bdc391a78d56a63ae5482fb128a862e79d
Author: Campbell Barton <ideasman42@gmail.com>
Commit: Campbell Barton <ideasman42@gmail.com>
Show unconstrained suffix for unconstrained undo/redo
---
undo-fu.el | 33 +++++++++++++++++++++++++++++----
1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/undo-fu.el b/undo-fu.el
index 2918069fde..b9a90fc085 100644
--- a/undo-fu.el
+++ b/undo-fu.el
@@ -54,7 +54,20 @@
(defvar-local undo-fu--respect t)
-;; Internal functions.
+;; Internal functions/macros.
+
+(defmacro undo-fu--with-message-suffix (suffix &rest body)
+ "Add text after the message output."
+ (declare (indent 1))
+ (let ((message-orig (cl-gensym "--message-suffix-")))
+ `
+ (cl-letf*
+ (
+ (,message-orig (symbol-function 'message))
+ ((symbol-function 'message)
+ (lambda (arg &rest args)
+ (apply ,message-orig (append (list (concat arg "%s")) args (list
,suffix))))))
+ ,@body)))
(defun undo-fu--next-step (list)
@@ -106,7 +119,10 @@ wraps the `undo' function."
(interactive "*")
(unless undo-fu--checkpoint
(user-error "Redo end-point not found!"))
- (undo-fu-only-redo (undo-fu--count-redo-available undo-fu--checkpoint
most-positive-fixnum)))
+
+ (undo-fu--with-message-suffix
+ " All"
+ (undo-fu-only-redo (undo-fu--count-redo-available undo-fu--checkpoint
most-positive-fixnum))))
(defun undo-fu-only-redo (&optional arg)
@@ -176,7 +192,11 @@ Optional argument ARG The number of steps to redo."
;; 'undo-in-region' unsupported.
(when transient-mark-mode
(deactivate-mark))
- (undo steps)
+ (undo-fu--with-message-suffix
+ (if undo-fu--respect
+ ""
+ " (unconstrained)")
+ (undo steps))
t)
(error (message "%s" (error-message-string err))))))
(when success
@@ -238,7 +258,12 @@ Optional argument ARG the number of steps to undo."
;; 'undo-in-region' unsupported.
(when transient-mark-mode
(deactivate-mark))
- (undo-only steps)
+
+ (undo-fu--with-message-suffix
+ (if undo-fu--respect
+ ""
+ " (unconstrained)")
+ (undo-only steps))
t)
(error (message "%s" (error-message-string err))))))
(when success
- [nongnu] elpa/undo-fu 0c34b6747e 52/82: Cleanup: replace cl-letf with macro that temporarily sets advice, (continued)
- [nongnu] elpa/undo-fu 0c34b6747e 52/82: Cleanup: replace cl-letf with macro that temporarily sets advice, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu 49cca61343 56/82: Fix unconstrained redo trapping the user at the end of the chain, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu 25e25ec4df 48/82: Cleanup: typos, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu f4db4c9b98 62/82: Update readme, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu e81c8da441 73/82: Cleanup: use brief SPDX license, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu d3d50ad00d 67/82: Cleanup: quiet docstring width warning, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu ab8bc10e42 72/82: Cleanup: minor wording changes, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu 7430fa58f1 75/82: Fix unconstrained undo when the user has undo-no-redo enabled, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu 9159f46b70 78/82: Cleanup: prefer `cond` to `if`, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu 756a4846b3 06/82: Remove redundant error handling case, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu e49ee5bdc3 10/82: Show unconstrained suffix for unconstrained undo/redo,
ELPA Syncer <=
- [nongnu] elpa/undo-fu 9bf729c727 09/82: Support pressing C-g before undo, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu ad8a60f979 28/82: Lazy initialize checkpoint length (minor speedup for linear redo), ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu f883424345 36/82: readme: disable undo-tree in the evil-example, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu f938ee2d94 38/82: Cleanup: pass in 'was-redo' as an argument, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu 06772aef15 70/82: Use "undo" group, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu e07fd219a0 74/82: Sync backported functions from Emacs, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu c92261a3b7 80/82: Cleanup: use with-eval-after-load, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu 1baca3da6b 03/82: Lookup key for keyboard-quit instead of hard coding in message, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu cad12914a4 15/82: Add 'undo-fu-allow-undo-in-region' option, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu a0e111b955 21/82: Add .elisp-autofmt to enable auto-formatting, ELPA Syncer, 2022/07/07