org.el (org-open-at-point): Open a plain link even if the cursor is before it

* org.el (org-open-at-point): Open a plain link even if the
cursor is before it, which is consistent with the behavior
with respect to bracket and angle links.

TINYCHANGE
This commit is contained in:
Samuel Loury 2013-02-13 16:22:04 +01:00 committed by Bastien Guerry
parent 69032736c1
commit 9964d89d1b
1 changed files with 15 additions and 7 deletions

View File

@ -9979,13 +9979,21 @@ application the system uses for this file type."
(throw 'match t)) (throw 'match t))
(save-excursion (save-excursion
(let ((plinkpos (org-in-regexp org-plain-link-re)))
(when (or (org-in-regexp org-angle-link-re) (when (or (org-in-regexp org-angle-link-re)
(and plinkpos (goto-char (car plinkpos)) (let ((match (org-in-regexp org-plain-link-re)))
(save-match-data (not (looking-back "\\[\\["))))) ;; Check a plain link is not within a bracket link
(and match
(save-excursion
(progn
(goto-char (car match))
(not (org-in-regexp org-bracket-link-regexp))))))
(let ((line_ending (save-excursion (end-of-line) (point))))
;; We are in a line before a plain or bracket link
(or (re-search-forward org-plain-link-re line_ending t)
(re-search-forward org-bracket-link-regexp line_ending t))))
(setq type (match-string 1) (setq type (match-string 1)
path (org-link-unescape (match-string 2))) path (org-link-unescape (match-string 2)))
(throw 'match t)))) (throw 'match t)))
(save-excursion (save-excursion
(when (org-in-regexp (org-re "\\(:[[:alnum:]_@#%:]+\\):[ \t]*$")) (when (org-in-regexp (org-re "\\(:[[:alnum:]_@#%:]+\\):[ \t]*$"))
(setq type "tags" (setq type "tags"