Subject: bug#3805: 23.1.50; Strange cursor movement in truncation mode

From: [email-masked] (Kees Bakker)
Date: Fri, 10 Jul 2009 11:23:28 +0200 (CEST)

Here is an example file to reproduce the bug.

123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789

Resize your screen to 50 characters wide, and do a toggle-truncate-lines.
Emacs23-gtk will show arrows on the right (and left) for the part of the
lines that is not visible.

Move the cursor to the end of the first line. Then move down, up and
down. And again up, down, up, down. You'll see that the cursor does not
go the same position in the second each time.

Second experiment.
Move cursor further down to the line after these three long lines, and
then move up again. And repeat that a few times, and you'll see that the
cursor is not coming back to the same position each time.

In GNU Emacs 23.1.50.1 (i486-pc-linux-gnu, GTK+ Version 2.12.12)
 of 2009-06-29 on koli, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
configured using `configure  '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1.50/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1.50/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: POSIX
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  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:
M-x t o g g <tab> t r <tab> <return> <up> <up> <down> 
<down> <right> <up> <up> <up> <left> <down> <down> 
<right> <right> <right> <left> <left> <down> <down> 
<down> <down> <up> <up> <up> <up> <up> <up> <up> <up> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <down> <down> <down> <up> <up> 
<up> <up> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down-mouse-1> 
<mouse-1> <end> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <down> <right> <right> 
<right> <right> <right> <right> <right> <down> <down> 
<up> <up> <right> <right> <right> <down> <down> <down> 
<up> <up> <up> <up> <up> <up> <up> <up> <down-mouse-1> 
<mouse-1> <f10> C-g C-g C-g C-g C-g <help-echo> <help-echo> 
C-x k <return> C-x C-f / t m p / t r <tab> <return> 
<down> C-e <down> <down> <down> <up> <up> <up> <up> 
<down> <down> <down> <down> <down> <up> <up> <up> <up> 
<up> <C-right> <C-right> <C-right> <C-right> <C-right> 
<C-right> <C-right> <C-right> <C-right> <C-right> <C-right> 
<C-right> <down> <down> <down> <down> <down> <up> <up> 
<up> <up> <up> <up> M-x <up> <return> <down> <down> 
<down> <down> <left> <up> <up> <up> <down> <down> <down> 
<down> <up> <up> <up> C-e <down> C-e <up> <up> <down> 
<down> <down> <down> <up> <up> <down> <up> <down> <up> 
<down> <up> <down> <up> <down> <up> <down> <up> <down> 
<up> <down> <up> <up> <down> <down> <up> <up> <down> 
<down> <up> <down> <up> <down> <up> <down> <up> <down> 
<up> <up> <down> <up> <down> <up> <down> <up> <down> 
<up> <down> <up> <down> <up> <down> <up> <up> <up> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <menu-bar> 
<help-menu> <send-emacs-bug-report>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Truncate long lines enabled
Quit [5 times]
Truncate long lines enabled