emacs-diffs
[Top][All Lists]
Advanced

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

master 1e54833e8a: Update multisession variables when editing the values


From: Lars Ingebrigtsen
Subject: master 1e54833e8a: Update multisession variables when editing the values
Date: Fri, 21 Jan 2022 05:21:10 -0500 (EST)

branch: master
commit 1e54833e8a4c3d17690a3ca40cd1fab8be674aa5
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Update multisession variables when editing the values
    
    * lisp/emacs-lisp/multisession.el (multisession-edit-value):
    Update multisession variables when editing the values (bug#53361).
---
 lisp/emacs-lisp/multisession.el | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/multisession.el b/lisp/emacs-lisp/multisession.el
index e6a2424c51..4a293796a8 100644
--- a/lisp/emacs-lisp/multisession.el
+++ b/lisp/emacs-lisp/multisession.el
@@ -434,10 +434,16 @@ storage method to list."
                multisession-edit-mode)
   (unless id
     (error "No value on the current line"))
-  (let* ((object (make-multisession
-                  :package (car id)
-                  :key (cdr id)
-                  :storage multisession-storage))
+  (let* ((object (or
+                  ;; If the multisession variable already exists, use
+                  ;; it (so that we update it).
+                  (and (boundp (intern-soft (cdr id)))
+                       (symbol-value (intern (cdr id))))
+                  ;; Create a new object.
+                  (make-multisession
+                   :package (car id)
+                   :key (cdr id)
+                   :storage multisession-storage)))
          (value (multisession-value object)))
     (setf (multisession-value object)
           (car (read-from-string



reply via email to

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