unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#15760: 24.3; move-to-window-line goes to wrong line
@ 2013-10-30 18:22 John Hagerman
  2016-06-26 16:59 ` bug#15760: Bug #15760: " Noam Postavsky
  0 siblings, 1 reply; 7+ messages in thread
From: John Hagerman @ 2013-10-30 18:22 UTC (permalink / raw)
  To: 15760

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)





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15760: Bug #15760: 24.3; move-to-window-line goes to wrong line
  2013-10-30 18:22 bug#15760: 24.3; move-to-window-line goes to wrong line John Hagerman
@ 2016-06-26 16:59 ` Noam Postavsky
  2016-06-26 19:25   ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Noam Postavsky @ 2016-06-26 16:59 UTC (permalink / raw)
  To: 15760; +Cc: John Hagerman

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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15760: Bug #15760: 24.3; move-to-window-line goes to wrong line
  2016-06-26 16:59 ` bug#15760: Bug #15760: " Noam Postavsky
@ 2016-06-26 19:25   ` Eli Zaretskii
  2016-06-26 20:58     ` Noam Postavsky
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2016-06-26 19:25 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: John.Hagerman, 15760

> From: Noam Postavsky <npostavs@users.sourceforge.net>
> Date: Sun, 26 Jun 2016 12:59:42 -0400
> Cc: John Hagerman <John.Hagerman@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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15760: Bug #15760: 24.3; move-to-window-line goes to wrong line
  2016-06-26 19:25   ` Eli Zaretskii
@ 2016-06-26 20:58     ` Noam Postavsky
  2016-06-27  2:30       ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Noam Postavsky @ 2016-06-26 20:58 UTC (permalink / raw)
  To: 15760; +Cc: John Hagerman

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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15760: Bug #15760: 24.3; move-to-window-line goes to wrong line
  2016-06-26 20:58     ` Noam Postavsky
@ 2016-06-27  2:30       ` Eli Zaretskii
  2016-06-27  2:35         ` Noam Postavsky
  0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2016-06-27  2:30 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: John.Hagerman, 15760

> From: Noam Postavsky <npostavs@users.sourceforge.net>
> Date: Sun, 26 Jun 2016 16:58:44 -0400
> Cc: John Hagerman <John.Hagerman@synopsys.com>, Eli Zaretskii <eliz@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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15760: Bug #15760: 24.3; move-to-window-line goes to wrong line
  2016-06-27  2:30       ` Eli Zaretskii
@ 2016-06-27  2:35         ` Noam Postavsky
  2016-06-27 15:33           ` Eli Zaretskii
  0 siblings, 1 reply; 7+ messages in thread
From: Noam Postavsky @ 2016-06-27  2:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: John Hagerman, 15760

found 15760 25.0.95
quit

On Sun, Jun 26, 2016 at 10:30 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Noam Postavsky <npostavs@users.sourceforge.net>
>> Date: Sun, 26 Jun 2016 16:58:44 -0400
>> Cc: John Hagerman <John.Hagerman@synopsys.com>, Eli Zaretskii <eliz@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 :(





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#15760: Bug #15760: 24.3; move-to-window-line goes to wrong line
  2016-06-27  2:35         ` Noam Postavsky
@ 2016-06-27 15:33           ` Eli Zaretskii
  0 siblings, 0 replies; 7+ messages in thread
From: Eli Zaretskii @ 2016-06-27 15:33 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: John.Hagerman, 15760-done

> From: Noam Postavsky <npostavs@users.sourceforge.net>
> Date: Sun, 26 Jun 2016 22:35:34 -0400
> Cc: John Hagerman <John.Hagerman@synopsys.com>, 15760@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.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-06-27 15:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-30 18:22 bug#15760: 24.3; move-to-window-line goes to wrong line John Hagerman
2016-06-26 16:59 ` bug#15760: Bug #15760: " Noam Postavsky
2016-06-26 19:25   ` Eli Zaretskii
2016-06-26 20:58     ` Noam Postavsky
2016-06-27  2:30       ` Eli Zaretskii
2016-06-27  2:35         ` Noam Postavsky
2016-06-27 15:33           ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).