emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/transient f0a7a97d6b 083/366: Fix using set transient v


From: Jonas Bernoulli
Subject: [elpa] externals/transient f0a7a97d6b 083/366: Fix using set transient value
Date: Tue, 25 Jan 2022 18:54:29 -0500 (EST)

branch: externals/transient
commit f0a7a97d6b06494c5fee833fff3be9b03636fe4e
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    Fix using set transient value
---
 lisp/transient.el | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index 8b1d90e7fb..74a7826b90 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -430,7 +430,7 @@ If `transient-save-history' is nil, then do nothing."
    (command     :initarg :command)
    (level       :initarg :level)
    (variable    :initarg :variable    :initform nil)
-   (value       :initarg :value       :initform nil)
+   (value       :initarg :value)
    (scope       :initarg :scope       :initform nil)
    (history     :initarg :history     :initform nil)
    (history-pos :initarg :history-pos :initform 0)
@@ -2051,11 +2051,14 @@ Non-infix suffix commands usually don't have a value."
   nil)
 
 (cl-defmethod transient-init-value ((obj transient-prefix))
-  (let ((value (oref obj value)))
-    (if (functionp value)
-        (oset obj value (funcall value))
-      (when-let ((saved (assq (oref obj command) transient-values)))
-        (oset obj value (cdr saved))))))
+  (if (slot-boundp obj 'value)
+      (let ((value (oref obj value)))
+        (when (functionp value)
+          (oset obj value (funcall value))))
+    (oset obj value
+          (if-let ((saved (assq (oref obj command) transient-values)))
+              (cdr saved)
+            nil))))
 
 (cl-defmethod transient-init-value ((obj transient-switch))
   (oset obj value



reply via email to

[Prev in Thread] Current Thread [Next in Thread]