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

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

[elpa] externals/detached 56bf59e7d4: Bug fix: Improve handlling of sess


From: ELPA Syncer
Subject: [elpa] externals/detached 56bf59e7d4: Bug fix: Improve handlling of session directory
Date: Mon, 18 Jul 2022 03:57:32 -0400 (EDT)

branch: externals/detached
commit 56bf59e7d4b8997901e4b7db87e94e7ed17998fd
Author: Niklas Eklund <niklas.eklund@posteo.net>
Commit: Niklas Eklund <niklas.eklund@posteo.net>

    Bug fix: Improve handlling of session directory
    
    Create a detached--get-session-directory function to have the logic at
    one place. A bug was present where the session directory creation was
    not taking into account detached-local-session's value.
---
 detached.el           | 14 ++++++++------
 test/detached-test.el | 13 +++++++++++++
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/detached.el b/detached.el
index e98645c9a5..c65f0d7844 100644
--- a/detached.el
+++ b/detached.el
@@ -572,8 +572,7 @@ active session.  For sessions created with 
`detached-compile' or
                                     :time `(:start ,(time-to-seconds 
(current-time)) :end 0.0 :duration 0.0 :offset 0.0)
                                     :status '(unknown . 0)
                                     :size 0
-                                    :directory (if detached-local-session 
detached-session-directory
-                                                 (concat (file-remote-p 
default-directory) detached-session-directory))
+                                    :directory 
(detached--get-session-directory)
                                     :env (detached--env command)
                                     :host (detached--host)
                                     :metadata (detached-metadata)
@@ -1056,10 +1055,7 @@ Optionally make the path LOCAL to host."
 
 (defun detached--create-session-directory ()
   "Create session directory if it doesn't exist."
-  (let ((directory
-         (concat
-          (file-remote-p default-directory)
-          detached-session-directory)))
+  (let ((directory (detached--get-session-directory)))
     (unless (file-exists-p directory)
       (make-directory directory t))))
 
@@ -1071,6 +1067,12 @@ Optionally make the path LOCAL to host."
                                  (expand-file-name default-directory))
     (abbreviate-file-name default-directory)))
 
+(defun detached--get-session-directory ()
+  "Return the session directory."
+  (if detached-local-session
+      detached-session-directory
+    (concat (file-remote-p default-directory) detached-session-directory)))
+
 ;;;;; Database
 
 (defun detached--db-initialize ()
diff --git a/test/detached-test.el b/test/detached-test.el
index c8b10ce6a7..7a4be364f9 100644
--- a/test/detached-test.el
+++ b/test/detached-test.el
@@ -234,6 +234,19 @@
     (should (not (detached-degraded-command-p "cd")))
     (should (detached-degraded-command-p "ls -la"))))
 
+(ert-deftest detached-test-get-session-directory ()
+  (let ((default-directory "/ssh:remotehost:/home/user/git")
+        (detached-session-directory "/tmp/detached"))
+    ;; Remote session directory
+    (should (string= "/ssh:remotehost:/tmp/detached" 
(detached--get-session-directory)))
+    (let ((detached-local-session t))
+      ;; Enforced local session directory with `detached-local-session'
+      (should (string= "/tmp/detached" (detached--get-session-directory)))))
+  (let ((default-directory "/home/user/git")
+        (detached-session-directory "/tmp/detached"))
+    ;; Local session directory
+    (should (string= "/tmp/detached" (detached--get-session-directory)))))
+
 ;;;;; String representations
 
 (ert-deftest detached-test-duration-str ()



reply via email to

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