diff options
author | Eric S. Raymond <esr@snark.thyrsus.com> | 1991-12-08 09:58:46 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@snark.thyrsus.com> | 1991-12-08 09:58:46 +0000 |
commit | e15bee3f9698fa643407510aba7057be3204acc2 (patch) | |
tree | 82231141d782616ef4ac2cb33e727a2d93ebc338 /lisp | |
parent | d940e0e442093af6b22d46b4db3675c73add7e11 (diff) | |
download | emacs-e15bee3f9698fa643407510aba7057be3204acc2.tar.gz |
*** empty log message ***
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/progmodes/etags.el | 43 |
1 files changed, 4 insertions, 39 deletions
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index cdad48a4701..705a688c574 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -151,46 +151,11 @@ See documentation of variable tags-file-name." (interactive (if current-prefix-arg '(nil t) (find-tag-tag "Find tag: "))) - (let (buffer file linebeg startpos) - (save-excursion - (visit-tags-table-buffer) - (if (not next) - (goto-char (point-min)) - (setq tagname last-tag)) - (setq last-tag tagname) - (while (progn - (if (not (search-forward tagname nil t)) - (error "No %sentries containing %s" - (if next "more " "") tagname)) - (not (looking-at "[^\n\177]*\177")))) - (search-forward "\177") - (setq file (expand-file-name (file-of-tag) - (file-name-directory tags-file-name))) - (setq linebeg - (buffer-substring (1- (point)) - (save-excursion (beginning-of-line) (point)))) - (search-forward ",") - (setq startpos (read (current-buffer)))) + (let ((tagbuf (find-tag-noselect tagname nil next))) (if other-window - (find-file-other-window file) - (find-file file)) - (widen) - (push-mark) - (let ((offset 1000) - found - (pat (concat "^" (regexp-quote linebeg)))) - (or startpos (setq startpos (point-min))) - (while (and (not found) - (progn - (goto-char (- startpos offset)) - (not (bobp)))) - (setq found - (re-search-forward pat (+ startpos offset) t)) - (setq offset (* 3 offset))) - (or found - (re-search-forward pat nil t) - (error "%s not found in %s" pat file))) - (beginning-of-line)) + (switch-to-buffer-other-window tagbuf) + (switch-to-buffer tagbuf)) + ) (setq tags-loop-form '(find-tag nil t)) ;; Return t in case used as the tags-loop-form. t) |