diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index c0b04613ef0..e572d3361f7 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -997,9 +997,12 @@ See documentation of variable `tags-file-name'." (defun etags-file-of-tag () (save-excursion - (re-search-backward "\f\n\\([^\n]+\\),[0-9]*\n") + (if (looking-at "./") + (re-search-forward "\\([^\n]+\\),[0-9]*\n") + (re-search-backward "\f\n\\([^\n]+\\),[0-9]*\n")) (buffer-substring (match-beginning 1) (match-end 1)))) + (defun etags-tags-completion-table () (let ((table (make-vector 511 0))) (save-excursion