summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorEric S. Raymond <esr@snark.thyrsus.com>1991-12-08 09:58:46 +0000
committerEric S. Raymond <esr@snark.thyrsus.com>1991-12-08 09:58:46 +0000
commite15bee3f9698fa643407510aba7057be3204acc2 (patch)
tree82231141d782616ef4ac2cb33e727a2d93ebc338 /lisp
parentd940e0e442093af6b22d46b4db3675c73add7e11 (diff)
downloademacs-e15bee3f9698fa643407510aba7057be3204acc2.tar.gz
*** empty log message ***
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/etags.el43
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)