Make find-tag-default-bounds more strict

* lisp/subr.el (find-tag-default-bounds): Delegate to
bounds-of-thing-at-point (bug#22692).
This commit is contained in:
Dmitry Gutov 2016-02-23 00:56:51 +02:00
parent 1bc0e0a5b7
commit e72a26e009

View file

@ -2626,29 +2626,7 @@ See also `locate-user-emacs-file'.")
"Determine the boundaries of the default tag, based on text at point. "Determine the boundaries of the default tag, based on text at point.
Return a cons cell with the beginning and end of the found tag. Return a cons cell with the beginning and end of the found tag.
If there is no plausible default, return nil." If there is no plausible default, return nil."
(let (from to bound) (bounds-of-thing-at-point 'symbol))
(when (or (progn
;; Look at text around `point'.
(save-excursion
(skip-syntax-backward "w_") (setq from (point)))
(save-excursion
(skip-syntax-forward "w_") (setq to (point)))
(> to from))
;; Look between `line-beginning-position' and `point'.
(save-excursion
(and (setq bound (line-beginning-position))
(skip-syntax-backward "^w_" bound)
(> (setq to (point)) bound)
(skip-syntax-backward "w_")
(setq from (point))))
;; Look between `point' and `line-end-position'.
(save-excursion
(and (setq bound (line-end-position))
(skip-syntax-forward "^w_" bound)
(< (setq from (point)) bound)
(skip-syntax-forward "w_")
(setq to (point)))))
(cons from to))))
(defun find-tag-default () (defun find-tag-default ()
"Determine default tag to search for, based on text at point. "Determine default tag to search for, based on text at point.