Subject: 23.2; whitespace-mode breaks scrolling with partial line visible at top of buffer
From: Anders Kaseorg <[email-masked]>
To: [email-masked]
Date: Tue, 26 Oct 2010 15:43:48 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

When whitespace-mode is enabled and the buffer is scrolled such that
only part of a long line is visible at the top of the buffer, it becomes
impossible to scroll the window down using the down arrow.

This can be reproduced from ‘emacs -Q’ with
  C-u 99 <return>
  M-<
  C-u 99 a
  C-u 0 C-l
  M-x whitespace-mode
followed by pushing <down> until the window scrolls (it won’t!).

In GNU Emacs 23.2.1 (x86_64-pc-linux-gnu, GTK+ Version 2.22.0)
 of 2010-10-14 on lawrencium, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
configured using `configure  '--build' 'x86_64-linux-gnu' '--build' 'x86_64-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.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  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: Lisp Interaction

Minor modes in effect:
  whitespace-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-u 9 9 <return> M-< C-u 9 9 a C-u 0 C-l M-x w h i 
t e s p a c e - m o d e <return> C-u 9 9 <down> M-x 
r e p o r t - e m a c s - b u g <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
Whitespace mode enabled

Load-path shadows:
/usr/share/emacs/23.2/site-lisp/debathena-discuss-emacs/discuss-acl hides /usr/share/emacs/site-lisp/discuss-acl
/usr/share/emacs/23.2/site-lisp/debathena-discuss-emacs/discuss hides /usr/share/emacs/site-lisp/discuss
/usr/share/emacs/23.2/site-lisp/debathena-discuss-emacs/discuss-misc hides /usr/share/emacs/site-lisp/discuss-misc
/usr/share/emacs/23.2/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs/23.2/site-lisp/debathena-discuss-emacs/discuss-enter hides /usr/share/emacs/site-lisp/discuss-enter
/usr/share/emacs/23.2/site-lisp/magit hides /usr/share/emacs/site-lisp/magit
/usr/share/emacs/23.2/site-lisp/debathena-discuss-emacs/discuss-ls hides /usr/share/emacs/site-lisp/discuss-ls
/usr/share/emacs/23.2/site-lisp/speedbar/speedbar hides /usr/share/emacs/23.2/lisp/speedbar
/usr/share/emacs/23.2/site-lisp/cedet-common/ezimage hides /usr/share/emacs/23.2/lisp/ezimage
/usr/share/emacs/23.2/site-lisp/speedbar/sb-image hides /usr/share/emacs/23.2/lisp/sb-image
/usr/share/emacs/23.2/site-lisp/speedbar/dframe hides /usr/share/emacs/23.2/lisp/dframe
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/23.2/lisp/textmodes/rst
/usr/share/emacs/23.2/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/23.2/lisp/textmodes/ispell
/usr/share/emacs/23.2/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/23.2/lisp/textmodes/flyspell
/usr/share/emacs/23.2/site-lisp/eieio/eieio-opt hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-opt
/usr/share/emacs/23.2/site-lisp/eieio/eieio-comp hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-comp
/usr/share/emacs/23.2/site-lisp/eieio/eieio-base hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-base
/usr/share/emacs/23.2/site-lisp/eieio/eieio-speedbar hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-speedbar
/usr/share/emacs/23.2/site-lisp/eieio/eieio hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio
/usr/share/emacs/23.2/site-lisp/eieio/eieio-custom hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-custom
/usr/share/emacs/23.2/site-lisp/eieio/chart hides /usr/share/emacs/23.2/lisp/emacs-lisp/chart
/usr/share/emacs/23.2/site-lisp/cedet-common/inversion hides /usr/share/emacs/23.2/lisp/cedet/inversion
/usr/share/emacs/23.2/site-lisp/cedet-common/cedet hides /usr/share/emacs/23.2/lisp/cedet/cedet
/usr/share/emacs/23.2/site-lisp/semantic/semantic hides /usr/share/emacs/23.2/lisp/cedet/semantic
/usr/share/emacs/23.2/site-lisp/ede/ede hides /usr/share/emacs/23.2/lisp/cedet/ede
/usr/share/emacs/23.2/site-lisp/cedet-common/cedet-files hides /usr/share/emacs/23.2/lisp/cedet/cedet-files
/usr/share/emacs/23.2/site-lisp/cedet-common/mode-local hides /usr/share/emacs/23.2/lisp/cedet/mode-local

Features:
(shadow sort mail-extr message sendmail regexp-opt ecomplete rfc822 mml
easymenu mml-sec password-cache mm-decode mm-bodies mm-encode mailcap
mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader
gnus-util netrc time-date mm-util mail-prsvr gmm-utils wid-edit
mailheader canlock sha1 hex-util hashcash mail-utils emacsbug disp-table
whitespace tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win
x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode register
page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)