From: Stefan Monnier Date: Sat, 23 May 2015 16:05:21 +0000 (-0400) Subject: tags-completion-at-point-function: Don't trust the find-tag function X-Git-Tag: emacs-25.0.90~2002 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=669e01b5f630b74f417f12ebebed76c9553dae9b;p=emacs.git tags-completion-at-point-function: Don't trust the find-tag function * lisp/progmodes/etags.el (tags-completion-at-point-function): Don't trust the find-tag function. --- diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 7a87377503d..60ea456d57c 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -805,15 +805,16 @@ If no tags table is loaded, do nothing and return nil." case-fold-search)) (pattern (funcall (or find-tag-default-function (get major-mode 'find-tag-default-function) - 'find-tag-default))) + #'find-tag-default))) beg) (when pattern (save-excursion (forward-char (1- (length pattern))) - (search-backward pattern) - (setq beg (point)) - (forward-char (length pattern)) - (list beg (point) (tags-lazy-completion-table) :exclusive 'no)))))) + ;; The find-tag function might be overly optimistic. + (when (search-backward pattern nil t) + (setq beg (point)) + (forward-char (length pattern)) + (list beg (point) (tags-lazy-completion-table) :exclusive 'no))))))) (defun find-tag-tag (string) "Read a tag name, with defaulting and completion."