From: Lars Ingebrigtsen Date: Fri, 21 Jan 2022 10:20:56 +0000 (+0100) Subject: Update multisession variables when editing the values X-Git-Tag: emacs-29.0.90~2878^2~10 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1e54833e8a4c3d17690a3ca40cd1fab8be674aa5;p=emacs.git Update multisession variables when editing the values * lisp/emacs-lisp/multisession.el (multisession-edit-value): Update multisession variables when editing the values (bug#53361). --- diff --git a/lisp/emacs-lisp/multisession.el b/lisp/emacs-lisp/multisession.el index e6a2424c518..4a293796a83 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