[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/hyperdrive 28151f3db9 39/82: Change: (--org-normalize-link
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/hyperdrive 28151f3db9 39/82: Change: (--org-normalize-link) Split adaptive into absolute/relative |
Date: |
Mon, 25 Sep 2023 19:00:52 -0400 (EDT) |
branch: elpa/hyperdrive
commit 28151f3db9cd5c35ff66aa10c73fd622118875f0
Author: Joseph Turner <joseph@ushin.org>
Commit: Joseph Turner <joseph@ushin.org>
Change: (--org-normalize-link) Split adaptive into absolute/relative
---
hyperdrive-org.el | 39 +++++++++++++++++++--------------------
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git a/hyperdrive-org.el b/hyperdrive-org.el
index 0035682133..828001fdbc 100644
--- a/hyperdrive-org.el
+++ b/hyperdrive-org.el
@@ -205,26 +205,25 @@ Respects `hyperdrive-org-link-full-url' and
`org-link-file-path-type'."
;; Search option alone
(cl-return-from hyperdrive--org-normalize-link search-option))
- (hyperdrive--ensure-dot-slash-prefix-path
- (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.
- (hyperdrive-entry-path target-entry))
- ('adaptive
- (if (string-prefix-p (file-name-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
hyperdrive-current-entry)))
- (hyperdrive-entry-path target-entry)))
- ('relative
- (file-relative-name
- (hyperdrive-entry-path target-entry)
- (file-name-directory (hyperdrive-entry-path
hyperdrive-current-entry))))))))
+ (let ((adaptive-target-p
+ ;; See the `adaptive' option in `org-link-file-path-type'.
+ (string-prefix-p
+ (file-name-directory
+ (hyperdrive-entry-path hyperdrive-current-entry))
+ (hyperdrive-entry-path target-entry))))
+ (hyperdrive--ensure-dot-slash-prefix-path
+ (pcase org-link-file-path-type
+ ;; TODO: Handle `org-link-file-path-type' as a function.
+ ((or 'absolute
+ ;; `noabbrev' is like `absolute' because hyperdrives have
+ ;; no home directory.
+ 'noabbrev
+ (and 'adaptive (guard (not adaptive-target-p))))
+ (hyperdrive-entry-path target-entry))
+ ((or 'relative (and 'adaptive (guard adaptive-target-p)))
+ (file-relative-name
+ (hyperdrive-entry-path target-entry)
+ (file-name-directory (hyperdrive-entry-path
hyperdrive-current-entry)))))))))
;;;###autoload
(with-eval-after-load 'org
- [nongnu] elpa/hyperdrive 5726648878 21/82: Change: (hyperdrive--format-entry-url) Docstring, (continued)
- [nongnu] elpa/hyperdrive 5726648878 21/82: Change: (hyperdrive--format-entry-url) Docstring, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 7d3662f842 25/82: Comment: Add TODO, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 016582b1a2 26/82: Tidy: (--org-insert-link-after-advice) Bind search-option at top, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 96129bb5db 27/82: Tidy: Whitespace, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 80ec05b3b5 28/82: Add: (--org-normalize-link) Gut --org-insert-link-after-advice, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 89fa2fe4a9 30/82: Tidy: (hyperdrive--org-normalize-link) Deduplicate full URL codepath, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive a4b2c538df 31/82: Tidy: (hyperdrive--org-normalize-link) Use if instead of cond, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 36a18f326e 34/82: Change: (--org-normalize-link) Return early with search option, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 91c3478593 36/82: Change: (hyperdrive--org-normalize-link) Use file-name-directory, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive c4567c4b9f 46/82: Change: (hyperdrive--org-normalize-link) Use hyperdrive-entry-url, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 28151f3db9 39/82: Change: (--org-normalize-link) Split adaptive into absolute/relative,
ELPA Syncer <=
- [nongnu] elpa/hyperdrive 25af84f5e4 52/82: Change: (hyperdrive--org-link) Add "::" to stored link, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 032a77ea2d 43/82: Test: -org-link/same-drive-different-path with heading, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive c99013b23a 61/82: Comment: Add outline heading, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 2c3bc705c7 56/82: Test: Add hyperdrive-test-org-store-link-deftest macro, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 46e6a1201f 54/82: Comment: Add TODO, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 68e55a0ab6 55/82: Test: Add hyperdrive-test-org-store-link-scenarios, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 6c203e3e34 58/82: Test: Test inserting links, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 0d92314c4f 65/82: Docs: Document new advised org-insert-link behavior, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 834c4a8908 63/82: Change: Rename test-hyperdrive-org.el, ELPA Syncer, 2023/09/25
- [nongnu] elpa/hyperdrive 658164484b 68/82: Tidy: (hyperdrive-test-org-entry-create) Don't bind org-stored-links, ELPA Syncer, 2023/09/25