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

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

[elpa] externals-release/activities 693b4aff7c 2/6: Fix: (activities-tab


From: ELPA Syncer
Subject: [elpa] externals-release/activities 693b4aff7c 2/6: Fix: (activities-tabs-mode) When re-enabled without being disabled
Date: Tue, 30 Jan 2024 21:57:32 -0500 (EST)

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

    Fix: (activities-tabs-mode) When re-enabled without being disabled
    
    Fixes #7.
---
 README.org         |  3 ++-
 activities-tabs.el | 16 ++++++++++++----
 activities.info    | 18 +++++++++++-------
 3 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/README.org b/README.org
index ac20766ce5..8553bd3461 100644
--- a/README.org
+++ b/README.org
@@ -120,7 +120,8 @@ When option ~activities-bookmark-store~ is enabled, an 
Emacs bookmark is stored
 
 ** v0.3.1-pre
 
-Nothing new yet.
+*Fixes*
++ Handle case in which ~activities-tabs-mode~ is enabled again without having 
been disabled (which caused an error in ~tab-bar-mode~). 
([[https://github.com/alphapapa/activities.el/issues/7][#7]])
 
 ** v0.3
 
diff --git a/activities-tabs.el b/activities-tabs.el
index 98333a78ff..10ee0abecd 100644
--- a/activities-tabs.el
+++ b/activities-tabs.el
@@ -76,13 +76,21 @@ accordingly."
           (advice-add #'activities-resume :before 
#'activities-tabs-before-resume)
           (pcase-dolist (`(,symbol . ,function) override-map)
             (advice-add symbol :override function))
-          (setf activities-tabs-tab-bar-tab-face-function-original 
tab-bar-tab-face-function
-                tab-bar-tab-face-function 
#'activities-tabs--tab-bar-tab-face-function))
+          ;; The mode command could be called to activate the mode
+          ;; when it already is, in which case we must not swap the
+          ;; tab-face-function again, which would discard the actual,
+          ;; original value.  (IOW, this must be idempotent.)
+          ;; TODO: A way to prevent modes' body forms from being
+          ;; reevaluated when they are already active.
+          (unless activities-tabs-tab-bar-tab-face-function-original
+            (setf activities-tabs-tab-bar-tab-face-function-original 
tab-bar-tab-face-function
+                  tab-bar-tab-face-function 
#'activities-tabs--tab-bar-tab-face-function)))
       (advice-remove #'activities-resume #'activities-tabs-before-resume)
       (pcase-dolist (`(,symbol . ,function) override-map)
         (advice-remove symbol function))
-      (setf tab-bar-tab-face-function 
activities-tabs-tab-bar-tab-face-function-original
-            activities-tabs-tab-bar-tab-face-function-original nil))))
+      (when activities-tabs-tab-bar-tab-face-function-original
+        (setf tab-bar-tab-face-function 
activities-tabs-tab-bar-tab-face-function-original
+              activities-tabs-tab-bar-tab-face-function-original nil)))))
 
 ;;;; Functions
 
diff --git a/activities.info b/activities.info
index 6e74837bc7..4884ac43bb 100644
--- a/activities.info
+++ b/activities.info
@@ -327,7 +327,11 @@ File: README.info,  Node: v031-pre,  Next: v03,  Up: 
Changelog
 4.1 v0.3.1-pre
 ==============
 
-Nothing new yet.
+*Fixes*
+   • Handle case in which ‘activities-tabs-mode’ is enabled again
+     without having been disabled (which caused an error in
+     ‘tab-bar-mode’).  (#7
+     (https://github.com/alphapapa/activities.el/issues/7))
 
 
 File: README.info,  Node: v03,  Next: v02,  Prev: v031-pre,  Up: Changelog
@@ -409,12 +413,12 @@ Node: Bookmarks8500
 Node: FAQ8852
 Node: Changelog11928
 Node: v031-pre12135
-Node: v0312250
-Node: v0212644
-Node: v01313136
-Node: v01213285
-Node: v01113462
-Node: v0113625
+Node: v0312464
+Node: v0212858
+Node: v01313350
+Node: v01213499
+Node: v01113676
+Node: v0113839
 
 End Tag Table
 



reply via email to

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