Mercurial > emacs
changeset 1976:eda7eec8f8ad
* etags.el (find-tag-other-window): If another window is already
displaying the tag's buffer, explicitly set that window's point to
the tag's position.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Tue, 02 Mar 1993 07:22:33 +0000 |
parents | 3334e2489824 |
children | ca6059bb1d6f |
files | lisp/progmodes/etags.el |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/etags.el Tue Mar 02 07:21:44 1993 +0000 +++ b/lisp/progmodes/etags.el Tue Mar 02 07:22:33 1993 +0000 @@ -658,10 +658,17 @@ ;; windows. To prevent this, we save the selected window's point before ;; doing find-tag-noselect, and restore it after. (let* ((window-point (window-point (selected-window))) - (tagbuf (find-tag-noselect tagname next-p))) + (tagbuf (find-tag-noselect tagname next-p)) + (tagpoint (progn (set-buffer tagbuf) (point)))) (set-window-point (prog1 (selected-window) - (switch-to-buffer-other-window tagbuf)) + (switch-to-buffer-other-window tagbuf) + ;; We have to set this new window's point; it + ;; might already have been displaying a + ;; different portion of tagbuf, in which case + ;; switch-to-buffer-other-window doesn't set + ;; the window's point from the buffer. + (set-window-point (selected-window) tagpoint)) window-point))) ;;;###autoload (define-key ctl-x-4-map "." 'find-tag-other-window)