From 0e31213fa486f7fcfe1c2b7037689df077a39fce Mon Sep 17 00:00:00 2001 From: Samuel Loury Date: Thu, 22 Nov 2012 09:31:15 +0100 Subject: [PATCH] Fix the uncaught exception when doing opening a link from nowhere * lisp/org.el (org-open-at-point): Make sure point is on a org-plain-link-re before trying to go to its beginning In cases the custor at point did not match anything, the piece of code (goto-char (car (org-in-regexp org-plain-link-re))) threw an error. The inital intention of avoiding matching a org-plain-link-re when just after a org-bracket-link-regexp, from the commit originating the error (ad35e2ac6c6decae55dd987be738e07e7c87bd7d) was conserved. TINYCHANGE --- lisp/org.el | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index 080b527..d036c2a 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -9745,8 +9745,29 @@ application the system uses for this file type." (save-excursion (when (or (org-in-regexp org-angle-link-re) - (and (goto-char (car (org-in-regexp org-plain-link-re))) - (save-match-data (not (looking-back "\\[\\["))))) + (let ( + (match (org-in-regexp org-plain-link-re)) + ) + (and + ;; link at point is a plain link + match + ;; check that it is not of the form + ;; [[http://orgmode.org][Org]]Mode. in that + ;; case, if the cursor is on "Mode", then the + ;; string "http://orgmode.org][Org]]Mode" is + ;; recognized as a plain link while it should + ;; not be + (progn + ;; go to the begining of the match, If we + ;; were in the special case, we should now + ;; be in a org-bracket-link-regexp + (goto-char (car match)) + (not + (org-in-regexp org-bracket-link-regexp) + ) + ) + ) + )) (setq type (match-string 1) path (org-link-unescape (match-string 2))) (throw 'match t))) -- 1.7.10.4