summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien <bzg@gnu.org>2019-12-05 17:11:26 +0100
committerBastien <bzg@gnu.org>2019-12-05 17:11:26 +0100
commitbb61b37ee223fd89cf951a5fbf62e35e606a4646 (patch)
treecbfb25a566816ebe55fe3064f42bc755c7104612
parent0997eba2878a3e8c492853e65a197a51a5cc3345 (diff)
downloadorg-mode-bb61b37ee223fd89cf951a5fbf62e35e606a4646.tar.gz
ol.el: Don't store the same link twice
* lisp/ol.el (org-store-link): Don't store the same link twice.
-rw-r--r--lisp/ol.el16
1 files changed, 9 insertions, 7 deletions
diff --git a/lisp/ol.el b/lisp/ol.el
index 4d3a821..d25b13e 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -1589,15 +1589,17 @@ non-nil."
(cond ((not desc))
((equal desc "NONE") (setq desc nil))
(t (setq desc (org-link-display-format desc))))
- ;; Return the link
+ ;; Store and return the link
(if (not (and interactive? link))
(or agenda-link (and link (org-link-make-string link desc)))
- (push (list link desc) org-stored-links)
- (message "Stored: %s" (or desc link))
- (when custom-id
- (setq link (concat "file:" (abbreviate-file-name
- (buffer-file-name)) "::#" custom-id))
- (push (list link desc) org-stored-links))
+ (if (member (list link desc) org-stored-links)
+ (message "This link already exists")
+ (push (list link desc) org-stored-links)
+ (message "Stored: %s" (or desc link))
+ (when custom-id
+ (setq link (concat "file:" (abbreviate-file-name
+ (buffer-file-name)) "::#" custom-id))
+ (push (list link desc) org-stored-links)))
(car org-stored-links)))))
;;;###autoload