GNU bug report logs - #15760
24.3; move-to-window-line goes to wrong line

Previous Next

Package: emacs;

Reported by: John Hagerman <John.Hagerman <at> synopsys.com>

Date: Wed, 30 Oct 2013 18:25:01 UTC

Severity: minor

Found in versions 24.3, 25.0.95

Fixed in version 24.5

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 15760 in the body.
You can then email your comments to 15760 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#15760; Package emacs. (Wed, 30 Oct 2013 18:25:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to John Hagerman <John.Hagerman <at> synopsys.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 30 Oct 2013 18:25:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: John Hagerman <John.Hagerman <at> synopsys.com>
To: "bug-gnu-emacs <at> gnu.org" <bug-gnu-emacs <at> gnu.org>
Subject: 24.3; move-to-window-line goes to wrong line
Date: Wed, 30 Oct 2013 18:22:42 +0000
Using X Windows, I start 'emacs -Q' and get a window of height "30".  I
need a buffer with more lines than window height, so I enter 35 lines
into an empty buffer.  At that point the last line of the buffer is
somewhere in the middle of the window.  Since 'point' is at the end of
the buffer, doing (move-to-window-line -1) does not move point, as
expected.  Then, since 'point' is at the end of the buffer, doing ESC -
^L adjusts the display so the last line of the buffer is on the last
line of the window.  Now doing (move-to-window-line -1) _does_ move
point, to the previous line.  I believe this is incorrect behavior.
Then, since 'point' has moved, doing ESC - ^L puts the second-to-last
line of the buffer on the last line of the window.  And now doing
(move-to-window-line -1) does not move point, as expected.

Dribble file (unprintable chars edited to, eg, "^X"):
^Xbfoo<return>1<return>2<return>3<return>4<return>5<return>6<return>7<return>8<return>9<return>0<return>1<return>2<return>3<return>4<return>5<return>6<return>7<return>8<return>9<return>0<return>1<return>2<return>3<return>4<return>5<return>6<return>7<return>8<return>9<return>0<return>1<return>2<return>3<return>4<return>5<return><escape>-1<escape>xmove-to-window-line<return><escape>-^L<escape>-1<escape>xmove-to-window-line<return><escape>-^L<escape>-1<escape>xmove-to-window-line<return>^X^C

Thanks ~ John

In GNU Emacs 24.3.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.10.4)
 of 2013-05-03 on depbldrh55
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
System Description:	Red Hat Enterprise Linux Client release 5.7 (Tikanga)

Configured using:
 `configure '--prefix=/depot/emacs-24.3' '--with-gif=no'
 '--with-x-toolkit=yes''

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  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-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<escape> x r e p o r t - e m <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar 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 minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15760; Package emacs. (Sun, 26 Jun 2016 17:00:03 GMT) Full text and rfc822 format available.

Message #8 received at 15760 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> users.sourceforge.net>
To: 15760 <at> debbugs.gnu.org
Cc: John Hagerman <John.Hagerman <at> synopsys.com>
Subject: Bug #15760: 24.3; move-to-window-line goes to wrong line
Date: Sun, 26 Jun 2016 12:59:42 -0400
tag 15760 + notabug
quit

I think this happens simply because a GUI window can show partial
lines, and move-to-window-line only considers fully displayed lines.
Compare behaviour in a TTY where only whole lines can be displayed.




Added tag(s) notabug. Request was from Noam Postavsky <npostavs <at> users.sourceforge.net> to control <at> debbugs.gnu.org. (Sun, 26 Jun 2016 17:00:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15760; Package emacs. (Sun, 26 Jun 2016 19:26:01 GMT) Full text and rfc822 format available.

Message #13 received at 15760 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Noam Postavsky <npostavs <at> users.sourceforge.net>
Cc: John.Hagerman <at> synopsys.com, 15760 <at> debbugs.gnu.org
Subject: Re: bug#15760: Bug #15760: 24.3;
 move-to-window-line goes to wrong line
Date: Sun, 26 Jun 2016 22:25:05 +0300
> From: Noam Postavsky <npostavs <at> users.sourceforge.net>
> Date: Sun, 26 Jun 2016 12:59:42 -0400
> Cc: John Hagerman <John.Hagerman <at> synopsys.com>
> 
> I think this happens simply because a GUI window can show partial
> lines, and move-to-window-line only considers fully displayed lines.
> Compare behaviour in a TTY where only whole lines can be displayed.

Does pos-visible-in-window-p return nil for the line you think is only
partially visible, when invoked with only 1 argument -- the last
position in the buffer?  If it does, then you are right.  But if it
returns t, then that line is fully visible, and some other factor is
at work here.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15760; Package emacs. (Sun, 26 Jun 2016 20:59:02 GMT) Full text and rfc822 format available.

Message #16 received at 15760 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> users.sourceforge.net>
To: 15760 <at> debbugs.gnu.org
Cc: John Hagerman <John.Hagerman <at> synopsys.com>, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#15760: Bug #15760: 24.3;
 move-to-window-line goes to wrong line
Date: Sun, 26 Jun 2016 16:58:44 -0400
tag 15760 - notabug
fixed 15760 24.5
close 15760
quit

Ah, the line is indeed fully visible according to
pos-visible-in-window-p. But trying with emacs 24.5 the problem
doesn't occur, so actually this must be a bug that was fixed sometime
between 24.3 and 24.5.




Removed tag(s) notabug. Request was from Noam Postavsky <npostavs <at> users.sourceforge.net> to control <at> debbugs.gnu.org. (Sun, 26 Jun 2016 20:59:02 GMT) Full text and rfc822 format available.

bug Marked as fixed in versions 24.5. Request was from Noam Postavsky <npostavs <at> users.sourceforge.net> to control <at> debbugs.gnu.org. (Sun, 26 Jun 2016 20:59:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 15760 <at> debbugs.gnu.org and John Hagerman <John.Hagerman <at> synopsys.com> Request was from Noam Postavsky <npostavs <at> users.sourceforge.net> to control <at> debbugs.gnu.org. (Sun, 26 Jun 2016 20:59:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15760; Package emacs. (Mon, 27 Jun 2016 02:31:03 GMT) Full text and rfc822 format available.

Message #25 received at 15760 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Noam Postavsky <npostavs <at> users.sourceforge.net>
Cc: John.Hagerman <at> synopsys.com, 15760 <at> debbugs.gnu.org
Subject: Re: bug#15760: Bug #15760: 24.3;
 move-to-window-line goes to wrong line
Date: Mon, 27 Jun 2016 05:30:00 +0300
> From: Noam Postavsky <npostavs <at> users.sourceforge.net>
> Date: Sun, 26 Jun 2016 16:58:44 -0400
> Cc: John Hagerman <John.Hagerman <at> synopsys.com>, Eli Zaretskii <eliz <at> gnu.org>
> 
> Ah, the line is indeed fully visible according to
> pos-visible-in-window-p. But trying with emacs 24.5 the problem
> doesn't occur, so actually this must be a bug that was fixed sometime
> between 24.3 and 24.5.

I think I see it in 25.0.95.  I will take a look.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15760; Package emacs. (Mon, 27 Jun 2016 02:36:02 GMT) Full text and rfc822 format available.

Message #28 received at 15760 <at> debbugs.gnu.org (full text, mbox):

From: Noam Postavsky <npostavs <at> users.sourceforge.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: John Hagerman <John.Hagerman <at> synopsys.com>, 15760 <at> debbugs.gnu.org
Subject: Re: bug#15760: Bug #15760: 24.3;
 move-to-window-line goes to wrong line
Date: Sun, 26 Jun 2016 22:35:34 -0400
found 15760 25.0.95
quit

On Sun, Jun 26, 2016 at 10:30 PM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>> From: Noam Postavsky <npostavs <at> users.sourceforge.net>
>> Date: Sun, 26 Jun 2016 16:58:44 -0400
>> Cc: John Hagerman <John.Hagerman <at> synopsys.com>, Eli Zaretskii <eliz <at> gnu.org>
>>
>> Ah, the line is indeed fully visible according to
>> pos-visible-in-window-p. But trying with emacs 24.5 the problem
>> doesn't occur, so actually this must be a bug that was fixed sometime
>> between 24.3 and 24.5.
>
> I think I see it in 25.0.95.  I will take a look.

Oh yeah, I see it too. Regression :(




bug Marked as found in versions 25.0.95 and reopened. Request was from Noam Postavsky <npostavs <at> users.sourceforge.net> to control <at> debbugs.gnu.org. (Mon, 27 Jun 2016 02:36:03 GMT) Full text and rfc822 format available.

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Mon, 27 Jun 2016 15:35:01 GMT) Full text and rfc822 format available.

Notification sent to John Hagerman <John.Hagerman <at> synopsys.com>:
bug acknowledged by developer. (Mon, 27 Jun 2016 15:35:02 GMT) Full text and rfc822 format available.

Message #35 received at 15760-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Noam Postavsky <npostavs <at> users.sourceforge.net>
Cc: John.Hagerman <at> synopsys.com, 15760-done <at> debbugs.gnu.org
Subject: Re: bug#15760: Bug #15760: 24.3;
 move-to-window-line goes to wrong line
Date: Mon, 27 Jun 2016 18:33:38 +0300
> From: Noam Postavsky <npostavs <at> users.sourceforge.net>
> Date: Sun, 26 Jun 2016 22:35:34 -0400
> Cc: John Hagerman <John.Hagerman <at> synopsys.com>, 15760 <at> debbugs.gnu.org
> 
> >> Ah, the line is indeed fully visible according to
> >> pos-visible-in-window-p. But trying with emacs 24.5 the problem
> >> doesn't occur, so actually this must be a bug that was fixed sometime
> >> between 24.3 and 24.5.
> >
> > I think I see it in 25.0.95.  I will take a look.
> 
> Oh yeah, I see it too. Regression :(

Not a regression, actually.  There was a subtle off-by-one error in a
subroutine of move-to-window-line, which was present there since the
day the function was written.  I see the same problem in 24.5.  Now
hopefully fixed on master.

I also updated the documentation, which was very vague about the exact
meaning of the argument -1.

Thanks.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 26 Jul 2016 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.