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

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

[elpa] externals/transient cb740f5a4e 203/366: transient-lisp-variable:


From: Jonas Bernoulli
Subject: [elpa] externals/transient cb740f5a4e 203/366: transient-lisp-variable: Add new set-value slot
Date: Tue, 25 Jan 2022 18:54:41 -0500 (EST)

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

    transient-lisp-variable: Add new set-value slot
    
    This can be used to set the value using something
    other than `set'; such as `custom-save-variable'.
    
    Re #100.
---
 lisp/transient.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index bf24da0fcf..9ed968e937 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3488,15 +3488,17 @@ we stop there."
 
 (defclass transient-lisp-variable (transient-variable)
   ((reader :initform transient-lisp-variable--reader)
-   (always-read :initform t))
+   (always-read :initform t)
+   (set-value :initarg :set-value :initform set))
   "[Experimental] Class used for Lisp variables.")
 
 (cl-defmethod transient-init-value ((obj transient-lisp-variable))
   (oset obj value (symbol-value (oref obj variable))))
 
 (cl-defmethod transient-infix-set ((obj transient-lisp-variable) value)
-  (set (oref obj variable)
-       (oset obj value value)))
+  (funcall (oref obj set-value)
+           (oref obj variable)
+           (oset obj value value)))
 
 (cl-defmethod transient-format-description ((obj transient-lisp-variable))
   (or (oref obj description)



reply via email to

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