浏览代码

ol.el: Avoid links like "[[target][file:~/org/test.org::target]]"

* lisp/ol.el (org-store-link): Do not set description for "<<target>>"
links to avoid case when it is more detailed than link target.

While inserting to the same file, file part of the link target is
stripped, description is inserted without modification.  I do not think,
file path adds real value in comparison to "[[target]]" link to some
point in the same file.  A side effect is user prompt for description
since link and description are not identical any more.
Max Nikulin 3 年之前
父节点
当前提交
c3d6672cfd
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      lisp/ol.el

+ 7 - 2
lisp/ol.el

@@ -1663,12 +1663,17 @@ non-nil."
 	 (cond
 	  ;; Store a link using the target at point
 	  ((org-in-regexp "[^<]<<\\([^<>]+\\)>>[^>]" 1)
-	   (setq cpltxt
+	   (setq link
 		 (concat "file:"
 			 (abbreviate-file-name
 			  (buffer-file-name (buffer-base-buffer)))
 			 "::" (match-string 1))
-		 link cpltxt
+                 ;; Target may be shortened when link is inserted.
+                 ;; Avoid [[target][file:~/org/test.org::target]]
+                 ;; links.  Maybe the case of identical target and
+                 ;; description should be handled by `org-insert-link'.
+                 cpltxt nil
+                 desc nil
                  ;; Do not append #CUSTOM_ID link below.
                  custom-id nil))
 	  ((and (featurep 'org-id)