unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#29374: patch for lisp/pixel-scroll
@ 2017-11-21  4:35 Tak Kunihiro
  2017-11-21 15:41 ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Tak Kunihiro @ 2017-11-21  4:35 UTC (permalink / raw)
  To: 29374; +Cc: tkk

I'm sending a patch for lisp/pixel-scroll.el.

This patch fixes movement of cursor to stay away from the top of the
line and the end of the line on a screen.

ChangeLog entry and a patch are attached.

* ChangeLog

2017-11-21 Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>

        Fix cursor movement to stay away from the top of line and the end of line on a screen

        * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down regardless eob is shown on the top.
        (pixel-scroll-down) Move cursor up regardless bob is shown on the top.

* Patch
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
old mode 100644
new mode 100755
index 2213a02..556613d
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -110,11 +110,11 @@ This is an alternative of `scroll-up'.  Scope moves downward."
                        pixel-resolution-fine-flag
                      (frame-char-height))
                  (pixel-line-height))))
-      (if (pixel-eob-at-top-p)            ; when end-of-the-buffer is close
-          (scroll-up 1)                   ; relay on robust method
-        (while (pixel-point-at-top-p amt) ; prevent too late (multi tries)
-          (vertical-motion 1))            ; move point downward
-        (pixel-scroll-pixel-up amt)))))   ; move scope downward
+      (while (pixel-point-at-top-p amt) ; prevent too late (multi tries)
+        (vertical-motion 1))            ; move point downward
+      (if (pixel-eob-at-top-p)          ; when end-of-the-buffer is close
+          (scroll-up 1)                 ; relay on robust method
+        (pixel-scroll-pixel-up amt))))) ; move scope downward
 
 (defun pixel-scroll-down (&optional arg)
   "Scroll text of selected window down ARG lines.
@@ -127,11 +127,11 @@ This is and alternative of `scroll-down'.  Scope moves upward."
                        pixel-resolution-fine-flag
                      (frame-char-height))
                  (pixel-line-height -1))))
-      (if (or (pixel-bob-at-top-p amt) ; when beginning-of-the-buffer is seen
-              (pixel-eob-at-top-p))    ; for file with a long line
-          (scroll-down 1)              ; relay on robust method
-        (while (pixel-point-at-bottom-p amt) ; prevent too late (multi tries)
-          (vertical-motion -1))
+      (while (pixel-point-at-bottom-p amt) ; prevent too late (multi tries)
+        (vertical-motion -1))              ; move point upward
+      (if (or (pixel-bob-at-top-p amt)     ; when beginning-of-the-buffer is seen
+              (pixel-eob-at-top-p))        ; for file with a long line
+          (scroll-down 1)                  ; relay on robust method
         (pixel-scroll-pixel-down amt)))))
 
 (defun pixel-bob-at-top-p (amt)





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

* bug#29374: patch for lisp/pixel-scroll
  2017-11-21  4:35 bug#29374: patch for lisp/pixel-scroll Tak Kunihiro
@ 2017-11-21 15:41 ` Eli Zaretskii
  2017-11-21 23:08   ` Tak Kunihiro
  0 siblings, 1 reply; 4+ messages in thread
From: Eli Zaretskii @ 2017-11-21 15:41 UTC (permalink / raw)
  To: Tak Kunihiro; +Cc: 29374

> Date: Tue, 21 Nov 2017 13:35:07 +0900 (JST)
> From: Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
> Cc: tkk@misasa.okayama-u.ac.jp
> 
> I'm sending a patch for lisp/pixel-scroll.el.
> 
> This patch fixes movement of cursor to stay away from the top of the
> line and the end of the line on a screen.

Thanks, but please tell more about the problem, and perhaps show a
recipe to reproduce it.





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

* bug#29374: patch for lisp/pixel-scroll
  2017-11-21 15:41 ` Eli Zaretskii
@ 2017-11-21 23:08   ` Tak Kunihiro
  2017-12-01  8:58     ` Eli Zaretskii
  0 siblings, 1 reply; 4+ messages in thread
From: Tak Kunihiro @ 2017-11-21 23:08 UTC (permalink / raw)
  To: eliz; +Cc: tkk, 29374

>> Date: Tue, 21 Nov 2017 13:35:07 +0900 (JST)
>> From: Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
>> Cc: tkk@misasa.okayama-u.ac.jp
>>
>> I'm sending a patch for lisp/pixel-scroll.el.
>>
>> This patch fixes movement of cursor to stay away from the top of the
>> line and the end of the line on a screen.
>
> Thanks, but please tell more about the problem, and perhaps show a
> recipe to reproduce it.

First of all, expression of my previous message was not correct.
Let me rephrase as below.

   This patch fixes movement of cursor to stay away from the top and
   the bottom of a screen.

Before fix, sudden scope-jump happened on certain cases.  Let's
consider a case with cursor is located at the bottom and about to
scroll down (move scope up).

There is a condition where
 bob is shown on the top of screen
 and window-vscroll is non-zero.

On this condition, (scroll-up 1) would be called without
(vertical-motion -1).  As a consequence screen jumps.

After the fix, cursor will be moved by vertical-motion before calling
scroll-down or pixel-scroll-pixel-down.





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

* bug#29374: patch for lisp/pixel-scroll
  2017-11-21 23:08   ` Tak Kunihiro
@ 2017-12-01  8:58     ` Eli Zaretskii
  0 siblings, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2017-12-01  8:58 UTC (permalink / raw)
  To: Tak Kunihiro; +Cc: 29374-done

> Date: Wed, 22 Nov 2017 08:08:17 +0900 (JST)
> Cc: 29374@debbugs.gnu.org, tkk@misasa.okayama-u.ac.jp
> From: Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
> 
> >> Date: Tue, 21 Nov 2017 13:35:07 +0900 (JST)
> >> From: Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
> >> Cc: tkk@misasa.okayama-u.ac.jp
> >>
> >> I'm sending a patch for lisp/pixel-scroll.el.
> >>
> >> This patch fixes movement of cursor to stay away from the top of the
> >> line and the end of the line on a screen.
> >
> > Thanks, but please tell more about the problem, and perhaps show a
> > recipe to reproduce it.
> 
> First of all, expression of my previous message was not correct.
> Let me rephrase as below.
> 
>    This patch fixes movement of cursor to stay away from the top and
>    the bottom of a screen.
> 
> Before fix, sudden scope-jump happened on certain cases.  Let's
> consider a case with cursor is located at the bottom and about to
> scroll down (move scope up).
> 
> There is a condition where
>  bob is shown on the top of screen
>  and window-vscroll is non-zero.
> 
> On this condition, (scroll-up 1) would be called without
> (vertical-motion -1).  As a consequence screen jumps.
> 
> After the fix, cursor will be moved by vertical-motion before calling
> scroll-down or pixel-scroll-pixel-down.

Thanks, I pushed your changes.





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

end of thread, other threads:[~2017-12-01  8:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-21  4:35 bug#29374: patch for lisp/pixel-scroll Tak Kunihiro
2017-11-21 15:41 ` Eli Zaretskii
2017-11-21 23:08   ` Tak Kunihiro
2017-12-01  8:58     ` 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).