From 1e54833e8a4c3d17690a3ca40cd1fab8be674aa5 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Fri, 21 Jan 2022 11:20:56 +0100 Subject: 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(-) (limited to 'lisp/emacs-lisp') 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 -- cgit v1.2.3