From 7a94f28a470d640eda3f36016f4fc8946aac63be Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Thu, 9 Jul 2015 10:18:00 +0800 Subject: [PATCH] Fix bug in thing-at-point--bounds-of-well-formed-url * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make sure boundary contains current point. --- lisp/thingatpt.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el index c26b9be1da8..84ffcca5290 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -361,7 +361,7 @@ the bounds of a possible ill-formed URI (one lacking a scheme)." (if found (cons (match-beginning 1) (match-end 1)))))) -(defun thing-at-point--bounds-of-well-formed-url (beg end _pt) +(defun thing-at-point--bounds-of-well-formed-url (beg end pt) (save-excursion (goto-char beg) (let (url-beg paren-end regexp) @@ -388,7 +388,11 @@ the bounds of a possible ill-formed URI (one lacking a scheme)." (scan-lists (1- url-beg) 1 0)))) (not (blink-matching-check-mismatch (1- url-beg) paren-end)) (setq end (1- paren-end))) - (cons url-beg end))))) + ;; Ensure PT is actually within BOUNDARY. Check the following + ;; example with point on the beginning of the line: + ;; + ;; 3,1406710489,http://gnu.org,0,"0" + (and (<= url-beg pt end) (cons url-beg end)))))) (put 'url 'thing-at-point 'thing-at-point-url-at-point) -- 2.39.5