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

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

[nongnu] elpa/workroom c38489669e 18/74: Fix the defaults of workroom-sw


From: ELPA Syncer
Subject: [nongnu] elpa/workroom c38489669e 18/74: Fix the defaults of workroom-switch
Date: Sun, 27 Nov 2022 16:03:19 -0500 (EST)

branch: elpa/workroom
commit c38489669e8b0ddc7a6a13544a099fc51b65d388
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>

    Fix the defaults of workroom-switch
---
 workroom.el | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/workroom.el b/workroom.el
index c40ec02f19..14ef014871 100644
--- a/workroom.el
+++ b/workroom.el
@@ -646,19 +646,30 @@ name if it doesn't exist, then switch to the workroom."
    (workroom--require-mode-enable
      (let ((room
             (if current-prefix-arg
-                (workroom-get-create
-                 (workroom--read-to-switch
-                  "Switch to workroom"
-                  (when-let ((prev (car (workroom-previous-room-list))))
-                    (workroom-name prev))))
+                (workroom--read-to-switch
+                 "Switch to workroom"
+                 (cond
+                  ((and (eq (car (workroom-previous-room-list))
+                            (workroom-current-room))
+                        (< 1 (length (workroom-previous-room-list))))
+                   (workroom-name (cadr (workroom-previous-room-list))))
+                  ((car (workroom-previous-room-list))
+                   (workroom-name (car (workroom-previous-room-list))))))
               (workroom-current-room))))
        (when (and (stringp room) (string-empty-p room))
          (setq room workroom-default-room-name))
+       (setq room (workroom-get-create room))
        (let ((view
               (workroom--read-view-to-switch
                room "Switch to view"
-               (when-let ((prev (car (workroom-previous-view-list room))))
-                 (workroom-view-name prev)))))
+               (cond
+                ((and (eq (car (workroom-previous-view-list room))
+                          (workroom-current-view))
+                      (< 1 (length (workroom-previous-view-list room))))
+                 (workroom-name (cadr (workroom-previous-view-list room))))
+                ((car (workroom-previous-view-list room))
+                 (workroom-name
+                  (car (workroom-previous-view-list room))))))))
          (when (and (stringp view) (string-empty-p view))
            (setq view workroom-default-view-name))
          (list room view)))))



reply via email to

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