Subject: bug#9288: 23.3; next-line when global-visual-line, highlight-parentheses and global-hl-line are active

From: Philipp Müller <[email-masked]>
Date: Fri, 12 Aug 2011 17:37:44 +0200

--text follows this line--
* start emacs -Q
* M-x global-visual-line-mode
* M-x global-hl-line-mode
* M-x load-file <RET> /path/to/highlight-parentheses.el
(highlight-parentheses.el is here:
* M-x set-variable <RET> scroll-step <RET> 1

* create a file that has a very long line that has to be wrapped and add
  many short lines thereafter, such that the whole file won't fit into
  one window

* move point to beginning of document and keep scrolling down by holding
  C-n

At a certain point, the point will just cycle from the bottom of the
window to the middle of the window. This point is reached when the long,
wrapped line has some part that is not displayed anymore and some part
that is displayed anymore. I.e. like follows:

+--------------------------------------+
|...this is the last stuff of the long,|
| wrapped line. the points indicate    |
|that it had a beginning that is not   |
|displayed anymore.                    |
|short line                            |
|short line                            |
|short line                            |
+--------------------------------------+

If the point reaches the bottom line and you try C-n, it jumps to the
middle of the window.

In GNU Emacs 23.3.1 (i686-pc-linux-gnu, GTK+ Version 2.20.1)
 of 2011-03-10 on cassiopeia
Windowing system distributor `The X.Org Foundation', version 11.0.11001000
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: de_DE.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Text

Minor modes in effect:
  global-hl-line-mode: t
  highlight-parentheses-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
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Recent input:
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <down> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <C-down> <C-down> <C-down> <C-down> <C-down> <C-down>
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down>
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down>
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down>
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down>
<C-down> <C-down> <C-down> <C-down> <C-down> C-x b
<return> C-h m <help-echo> <down-mouse-1> <help-echo>
<drag-mouse-1> <help-echo> <help-echo> <help-echo>
M-x e m - b u - r e <tab> <backspace> <backspace> <C-backspace>
<C-backspace> b u <tab> g <tab> <tab> <home> <tab>
<home> <kp-subtract> <tab> <end> <backspace> <C-backspace>
<tab> <tab> <tab> <tab> <return> C-g <help-echo> M-x
r e p - e m <tab> <return>

Recent messages:
Global-Visual-Line mode enabled
Mark set
Global-Hl-Line mode enabled
byte-code: Beginning of buffer [5 times]
Quit
Type C-x 1 to delete the help window.
uncompressing hl-line.el.gz...done
Note: file is write protected
Making completion list... [3 times]
Org-mode version 6.33x
Quit

Load-path shadows:
None found.

Features:
(shadow sort mail-extr message sendmail ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc
mm-util mail-prsvr gmm-utils mailheader canlock sha1 hex-util hashcash
mail-utils emacsbug org-xoxo org-timer org-table org-remember
org-datetree org-publish org-latex org-export-latex org-icalendar
org-docbook footnote org-colview org-clock org-attach org-id org-ascii
org-archive org-wl org-w3m org-vm org-rmail org-mhe org-mew org-irc
org-jsinfo org-infojs org-html org-exp org-exp-blocks org-agenda
org-info org-gnus org-bibtex org-bbdb reporter org byte-opt warnings
bytecomp byte-compile advice advice-preload org-footnote org-src
org-list org-faces org-compat org-macs time-date noutline outline
jka-compr find-func hl-line cus-edit wid-edit cus-start cus-load
help-fns highlight-parentheses easy-mmode cl cl-19 vc-git regexp-opt
help-mode easymenu view 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)