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

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

[elpa] externals-release/org b4b35fc: lisp/ol.el: Fix bug when storing l


From: ELPA Syncer
Subject: [elpa] externals-release/org b4b35fc: lisp/ol.el: Fix bug when storing links
Date: Thu, 6 May 2021 08:57:11 -0400 (EDT)

branch: externals-release/org
commit b4b35fc92d6ea8eb2ac061b8ccf026e9b4ebfe33
Author: Bastien <bzg@gnu.org>
Commit: Bastien <bzg@gnu.org>

    lisp/ol.el: Fix bug when storing links
    
    * lisp/ol.el (org-store-link): Don' store two links when an a
    radio link within a headline that contains a CUSTOM_ID property.
    
    Reported-by: Fr Ml <fr_ml@t-online.de>
    Link: 
https://orgmode.org/list/aadb23f3-c0fe-19aa-be79-50e51d16c41a@t-online.de/
---
 lisp/ol.el | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/lisp/ol.el b/lisp/ol.el
index e25d28f..d37dc85 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -1602,9 +1602,8 @@ non-nil."
 
        ((and (buffer-file-name (buffer-base-buffer)) (derived-mode-p 
'org-mode))
        (org-with-limited-levels
-        (setq custom-id (org-entry-get nil "CUSTOM_ID"))
-        (cond
-         ;; Store a link using the target at point
+         (cond
+         ;; Store a link using the target at point.
          ((org-in-regexp "[^<]<<\\([^<>]+\\)>>[^>]" 1)
           (setq cpltxt
                 (concat "file:"
@@ -1612,6 +1611,15 @@ non-nil."
                          (buffer-file-name (buffer-base-buffer)))
                         "::" (match-string 1))
                 link cpltxt))
+          ;; Store a link using the CUSTOM_ID property.
+          ((setq custom-id (org-entry-get nil "CUSTOM_ID"))
+           (setq cpltxt
+                (concat "file:"
+                        (abbreviate-file-name
+                         (buffer-file-name (buffer-base-buffer)))
+                        "::#" custom-id)
+                link cpltxt))
+          ;; Store a link using (and perhaps creating) the ID property.
          ((and (featurep 'org-id)
                (or (eq org-id-link-to-org-use-id t)
                    (and interactive?
@@ -1620,14 +1628,13 @@ non-nil."
                                      'create-if-interactive-and-no-custom-id)
                                  (not custom-id))))
                    (and org-id-link-to-org-use-id (org-entry-get nil "ID"))))
-          ;; Store a link using the ID at point
           (setq link (condition-case nil
                          (prog1 (org-id-store-link)
                            (setq desc (or (plist-get org-store-link-plist
                                                      :description)
                                           "")))
                        (error
-                        ;; Probably before first headline, link only to file
+                        ;; Probably before first headline, link only to file.
                         (concat "file:"
                                 (abbreviate-file-name
                                  (buffer-file-name (buffer-base-buffer))))))))



reply via email to

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