]> git.eshelyaron.com Git - emacs.git/commitdiff
Update multisession variables when editing the values
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 21 Jan 2022 10:20:56 +0000 (11:20 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 21 Jan 2022 10:20:56 +0000 (11:20 +0100)
* lisp/emacs-lisp/multisession.el (multisession-edit-value):
Update multisession variables when editing the values (bug#53361).

lisp/emacs-lisp/multisession.el

index e6a2424c5188118efc3e4e1aa3a5e875df6b5ef8..4a293796a8309d7c7760dacf5e19f73d1e79d9ef 100644 (file)
@@ -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