From f2c712a6a4aefef1e6cca794e76dc757cd4786cb Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 27 Dec 2017 23:22:07 +0100 Subject: [PATCH] Fix inserting link * lisp/org.el (org-insert-link): Fix when search option in a file link contains two consecutive slashes. Reported-by: Ag Ibragimov --- lisp/org.el | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index b42108a1a..ad4b4ab8e 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -10283,11 +10283,19 @@ Use TAB to complete link prefixes, then RET for type-specific completion support ;; We are linking to this same file, with a search option (setq link search))))) - ;; Check if we can/should use a relative path. If yes, simplify the link + ;; Check if we can/should use a relative path. If yes, simplify + ;; the link. (let ((case-fold-search nil)) (when (string-match "\\`\\(file\\|docview\\):" link) (let* ((type (match-string-no-properties 0 link)) - (path (substring-no-properties link (match-end 0))) + (path-start (match-end 0)) + (search (and (string-match "::\\(.*\\)\\'" link) + (match-string 1 link))) + (path + (if search + (substring-no-properties + link path-start (match-beginning 0)) + (substring-no-properties link (match-end 0)))) (origpath path)) (cond ((or (eq org-link-file-path-type 'absolute) @@ -10308,7 +10316,7 @@ Use TAB to complete link prefixes, then RET for type-specific completion support (setq path (substring (expand-file-name path) (match-end 0))) (setq path (abbreviate-file-name (expand-file-name path))))))) - (setq link (concat type path)) + (setq link (concat type path (and search (concat "::" search)))) (when (equal desc origpath) (setq desc path)))))