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

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

[elpa] externals-release/activities 5d1e06c9c4 2/4: Fix: (activities--bu


From: ELPA Syncer
Subject: [elpa] externals-release/activities 5d1e06c9c4 2/4: Fix: (activities--bufferize-window-state) Errors from deserializer
Date: Mon, 16 Dec 2024 21:57:34 -0500 (EST)

branch: externals-release/activities
commit 5d1e06c9c44f22327572cfd7d3860f4b9314cd79
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Fix: (activities--bufferize-window-state) Errors from deserializer
    
    If the buffer can't be recreated, the deserializer might be unable to
    find the expected buffer name and signal an error, in which case we
    ignore the error and remove the window parameter to avoid further
    problems.
    
    Fixes #44.
    
    Reported-by: Karthik Chikmagalur <https://github.com/karthink>
    Reported-by: stardiviner <https://github.com/stardiviner>
---
 README.org    | 3 ++-
 activities.el | 8 +++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index bf867b0d07..123831ca7b 100644
--- a/README.org
+++ b/README.org
@@ -153,7 +153,8 @@ When option ~activities-bookmark-store~ is enabled, an 
Emacs bookmark is stored
 
 ** v0.7.2-pre
 
-Nothing new yet.
+*Fixes*
++ Handle errors from window parameter deserializers.  
([[https://github.com/alphapapa/activities.el/issues/44][#44]].  Thanks to 
[[https://github.com/karthink][Karthik Chikmagalur]] and 
[[https://github.com/stardiviner][stardiviner]] for reporting.)
 
 ** v0.7.1
 
diff --git a/activities.el b/activities.el
index 15f75e0e0f..b53c31dbe4 100644
--- a/activities.el
+++ b/activities.el
@@ -675,9 +675,11 @@ activity's name is NAME."
                              ((map parameters) attrs))
                   (pcase-dolist (`(,parameter . ,(map deserialize))
                                  activities-window-parameters-translators)
-                    (when (map-elt parameters parameter)
-                      (setf (map-elt parameters parameter)
-                            (funcall deserialize (map-elt parameters 
parameter)))))
+                    (condition-case-unless-debug nil
+                        (when (map-elt parameters parameter)
+                          (setf (map-elt parameters parameter)
+                                (funcall deserialize (map-elt parameters 
parameter))))
+                      (error (setf parameters (map-delete parameters 
parameter)))))
                   (setf (map-elt attrs 'parameters) parameters)
                   (cons 'leaf attrs))))
     (if-let ((leaf-pos (cl-position 'leaf state)))



reply via email to

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