Correctly detect URLs surrounded by parentheses in comments
* lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make parentheses match work inside comments. * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add unit test.
This commit is contained in:
parent
ea196ebb93
commit
3b6e01cccf
2 changed files with 12 additions and 1 deletions
|
@ -380,7 +380,9 @@ the bounds of a possible ill-formed URI (one lacking a scheme)."
|
|||
(save-restriction
|
||||
(narrow-to-region (1- url-beg) (min end (point-max)))
|
||||
(setq paren-end (ignore-errors
|
||||
(scan-lists (1- url-beg) 1 0))))
|
||||
;; Make the scan work inside comments.
|
||||
(let ((parse-sexp-ignore-comments nil))
|
||||
(scan-lists (1- url-beg) 1 0)))))
|
||||
(not (blink-matching-check-mismatch (1- url-beg) paren-end))
|
||||
(setq end (1- paren-end)))
|
||||
;; Ensure PT is actually within BOUNDARY. Check the following
|
||||
|
|
|
@ -120,4 +120,13 @@ position to retrieve THING.")
|
|||
(should (equal (list-at-point)
|
||||
(cdr str-res)))))))
|
||||
|
||||
(ert-deftest thing-at-point-url-in-comment ()
|
||||
(with-temp-buffer
|
||||
(c-mode)
|
||||
(insert "/* (http://foo/bar)\n(http://foo/bar(baz)) */\n")
|
||||
(goto-char 6)
|
||||
(should (equal (thing-at-point 'url) "http://foo/bar"))
|
||||
(goto-char 23)
|
||||
(should (equal (thing-at-point 'url) "http://foo/bar(baz)"))))
|
||||
|
||||
;;; thingatpt.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue