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

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

[nongnu] elpa/hyperdrive 36a18f326e 34/82: Change: (--org-normalize-link


From: ELPA Syncer
Subject: [nongnu] elpa/hyperdrive 36a18f326e 34/82: Change: (--org-normalize-link) Return early with search option
Date: Mon, 25 Sep 2023 19:00:52 -0400 (EDT)

branch: elpa/hyperdrive
commit 36a18f326e5dede175a64bcfa551b19f339107bb
Author: Joseph Turner <joseph@ushin.org>
Commit: Joseph Turner <joseph@ushin.org>

    Change: (--org-normalize-link) Return early with search option
---
 hyperdrive-org.el | 44 ++++++++++++++++++++++++--------------------
 1 file changed, 24 insertions(+), 20 deletions(-)

diff --git a/hyperdrive-org.el b/hyperdrive-org.el
index f01da59c7b..5f3916452c 100644
--- a/hyperdrive-org.el
+++ b/hyperdrive-org.el
@@ -200,32 +200,36 @@ Respects `hyperdrive-org-link-full-url' and 
`org-link-file-path-type'."
          :with-path with-path
          :with-protocol with-protocol :host-format host-format)))
 
+    (when (and search-option
+               (hyperdrive-entry-equal-p hyperdrive-current-entry 
target-entry))
+      ;; Search option alone
+      (cl-return-from hyperdrive--org-normalize-link search-option))
+
     (if (hyperdrive-entry-equal-p hyperdrive-current-entry target-entry)
         ;; Link points to same file on same hyperdrive: make link
         ;; relative.
         (setf destination
-              (or search-option
-                  (pcase org-link-file-path-type
-                    ;; TODO: Handle `org-link-file-path-type' as a function.
-                    ((or 'absolute 'noabbrev)
-                     ;; These two options are the same for our purposes,
-                     ;; because hyperdrives have no home directory.
-                     (setf destination (hyperdrive-entry-path target-entry)))
-                    ('adaptive
-                     (setf destination
-                           (if (string-prefix-p (file-name-parent-directory
-                                                 (hyperdrive-entry-path 
hyperdrive-current-entry))
-                                                (hyperdrive-entry-path 
target-entry))
-                               ;; Link points to file in same directory tree: 
use relative link.
-                               (file-relative-name
-                                (hyperdrive-entry-path target-entry)
-                                (file-name-directory (hyperdrive-entry-path 
target-entry)))
-                             (hyperdrive-entry-path target-entry))))
-                    ('relative
-                     (setf destination
+              (pcase org-link-file-path-type
+                ;; TODO: Handle `org-link-file-path-type' as a function.
+                ((or 'absolute 'noabbrev)
+                 ;; These two options are the same for our purposes,
+                 ;; because hyperdrives have no home directory.
+                 (setf destination (hyperdrive-entry-path target-entry)))
+                ('adaptive
+                 (setf destination
+                       (if (string-prefix-p (file-name-parent-directory
+                                             (hyperdrive-entry-path 
hyperdrive-current-entry))
+                                            (hyperdrive-entry-path 
target-entry))
+                           ;; Link points to file in same directory tree: use 
relative link.
                            (file-relative-name
                             (hyperdrive-entry-path target-entry)
-                            (file-name-directory (hyperdrive-entry-path 
target-entry))))))))
+                            (file-name-directory (hyperdrive-entry-path 
target-entry)))
+                         (hyperdrive-entry-path target-entry))))
+                ('relative
+                 (setf destination
+                       (file-relative-name
+                        (hyperdrive-entry-path target-entry)
+                        (file-name-directory (hyperdrive-entry-path 
target-entry)))))))
 
       ;; Link points to same hyperdrive as the file the link is in:
       ;; make link relative.



reply via email to

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