summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Liu <sdl.web@gmail.com>2015-07-09 10:18:00 +0800
committerLeo Liu <sdl.web@gmail.com>2015-07-09 10:19:42 +0800
commit7a94f28a470d640eda3f36016f4fc8946aac63be (patch)
treeb422ec39c504a92d63b0d572f716e61ac5bc2528
parent15fafa34d0f2d3491d27c6b6d6b6310424eadb14 (diff)
downloademacs-7a94f28a470d640eda3f36016f4fc8946aac63be.tar.gz
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.
-rw-r--r--lisp/thingatpt.el8
1 files 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)