bug#4041: 23.0.92; Emacs 23: buffer point is no longer frame-local
Steve Yegge <[email protected]>
| Newsgroups | gmane.emacs.bugs,gmane.emacs.pretest.bugs |
|---|---|
| Message-ID | <20090805001735.1CC041E844E@localhost> |
1) emacs -q (with non-nil window-system) 2) find-file /usr/share/dict/words - any file longer than ~3x the frame height should serve to demonstrate - in remaining steps I'll call this file buffer BUF 3) (goto-char (/ (point-max) 2)) 4) (new-frame) 5) (other-frame) ; if necessary to put point in new frame 6) switch to buffer BUF 7) (goto-char (point-min)) 8) switch to buffer *scratch* (or any other buffer) 9) switch to buffer BUF Observe that point has returned to (/ (point-max) 2). In Emacs 22, buffer point behaved as if it were frame-local: at step 9, point would still be at (point-min). This change may seem innocuous, but it can be quite frustrating and mysterious if you have a multi-tty frame open at another site. The buffer point behaves as if it's "stuck": every time you switch away from the buffer and return, the point has returned to its sticky position. The behavior exhibits in both multi-tty and single-tty flavors, but is easier to trigger in a long-running multi-tty session distributed over multiple sites (e.g. home and work). It was serious enough to In GNU Emacs 23.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.12.9) of 2009-04-14 on stevey.krc.corp.google.com Windowing system distributor `The X.Org Foundation', version 11.0.60900000 configured using `configure '--prefix=/home/stevey/no_crawl/emacs-cvs'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: C value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: C value of $LC_NUMERIC: C value of $LC_TIME: C value of $LANG: en_US.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Fundamental Minor modes in effect: shell-dirtrack-mode: t tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: <help-echo> <help-echo> M-x s h e l l <return> C-x k <return> C-x b A <return> C-x k <return> C-x C-f C-a C-k / u s r / s h a r e / d i c t / w o r <tab> <return> C-x 2 C-x e M-> M-v M-v M-v C-r s t e C-a C-u C-r ^ s C-a C-x RET n e w - f r <tab> C-e C-a M-x n e w - f r <tab> <return> <switch-frame> <help-echo> <help-echo> <help-echo> C-x 2 C-x o C-x t M-< C-x b <return> C-x b w o <tab> <return> C-x o M-< C-x o C-v C-v C-v C-v C-v C-v C-v C-x o C-x 1 C-x b <return> C-x b w o <tab> <return> <switch-frame> M-x e <backspace> r e p o r t - e m a c s - b u g <tab> <return> Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Note: file is write protected kmacro-call-macro: No kbd macro has been defined Mark set Mark saved where search started [2 times] Buffer is read-only: #<buffer words> [5 times] indent-relative: Buffer is read-only: #<buffer words> Mark set [2 times]