all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: Juanma Barranquero <lekktu@gmail.com>
Cc: Emacs developers <emacs-devel@gnu.org>
Subject: Re: [Emacs-diffs] /srv/bzr/emacs/trunk r99831: Scrolling commands which does not signal errors at top/bottom.
Date: Wed, 07 Apr 2010 00:06:17 +0300	[thread overview]
Message-ID: <876344wamo.fsf@mail.jurta.org> (raw)
In-Reply-To: <g2jf7ccd24b1004061349r2f11d414x3bd22ab488a755fc@mail.gmail.com> (Juanma Barranquero's message of "Tue, 6 Apr 2010 22:49:21 +0200")

>> I see now what do you mean.  This patch takes care of that:
>
> Not exactly. On emacs-23, go to a long line and do:
>
>   C-e <next> <next> <next>  ...  ; until you reach a line shorter than
> the original one
>   ... <prior> <prior> <prior>         ; point is still at end of line
>
> That does not happen with your patch, AFAICS.

Then additionally you need this patch:

=== modified file 'src/window.c'
--- src/window.c	2010-04-05 22:54:57 +0000
+++ src/window.c	2010-04-06 21:05:45 +0000
@@ -54,7 +54,7 @@ (at your option) any later version.
 
 Lisp_Object Qwindowp, Qwindow_live_p, Qwindow_configuration_p;
 Lisp_Object Qdisplay_buffer;
-Lisp_Object Qscroll_up, Qscroll_down;
+Lisp_Object Qscroll_up, Qscroll_down, Qscroll_up_command, Qscroll_down_command;
 Lisp_Object Qwindow_size_fixed;
 
 extern Lisp_Object Qleft_margin, Qright_margin;
@@ -4947,7 +4947,9 @@ (let ((edges (window-edges))) (- (nth 2 
 	 scrolling by one line.  */
       if (window_scroll_pixel_based_preserve_y < 0
 	  || (!EQ (current_kboard->Vlast_command, Qscroll_up)
-	      && !EQ (current_kboard->Vlast_command, Qscroll_down)))
+	      && !EQ (current_kboard->Vlast_command, Qscroll_down)
+	      && !EQ (current_kboard->Vlast_command, Qscroll_up_command)
+	      && !EQ (current_kboard->Vlast_command, Qscroll_down_command)))
 	{
 	  start_display (&it, w, start);
 	  move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
@@ -5208,7 +5210,9 @@ (let ((edges (window-edges))) (- (nth 2 
     {
       if (window_scroll_preserve_vpos <= 0
 	  || (!EQ (current_kboard->Vlast_command, Qscroll_up)
-	      && !EQ (current_kboard->Vlast_command, Qscroll_down)))
+	      && !EQ (current_kboard->Vlast_command, Qscroll_down)
+	      && !EQ (current_kboard->Vlast_command, Qscroll_up_command)
+	      && !EQ (current_kboard->Vlast_command, Qscroll_down_command)))
 	{
 	  struct position posit
 	    = *compute_motion (startpos, 0, 0, 0,
@@ -7176,6 +7180,12 @@ (let ((edges (window-edges))) (- (nth 2 
   Qscroll_down = intern_c_string ("scroll-down");
   staticpro (&Qscroll_down);
 
+  Qscroll_up_command = intern_c_string ("scroll-up-command");
+  staticpro (&Qscroll_up_command);
+
+  Qscroll_down_command = intern_c_string ("scroll-down-command");
+  staticpro (&Qscroll_down_command);
+
   Qwindow_size_fixed = intern_c_string ("window-size-fixed");
   staticpro (&Qwindow_size_fixed);
   Fset (Qwindow_size_fixed, Qnil);
@@ -7377,9 +7387,9 @@ (let ((edges (window-edges))) (- (nth 2 
   initial_define_key (control_x_map, '<', "scroll-left");
   initial_define_key (control_x_map, '>', "scroll-right");
 
-  initial_define_key (global_map, Ctl ('V'), "scroll-up");
+  initial_define_key (global_map, Ctl ('V'), "scroll-up-command");
   initial_define_key (meta_map, Ctl ('V'), "scroll-other-window");
-  initial_define_key (meta_map, 'v', "scroll-down");
+  initial_define_key (meta_map, 'v', "scroll-down-command");
 }
 
 /* arch-tag: 90a9c576-0590-48f1-a5f1-6c96a0452d9f

-- 
Juri Linkov
http://www.jurta.org/emacs/




  reply	other threads:[~2010-04-06 21:06 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1NywTs-00007U-Lf@internal.in.savannah.gnu.org>
2010-04-06  0:51 ` [Emacs-diffs] /srv/bzr/emacs/trunk r99831: Scrolling commands which does not signal errors at top/bottom Juanma Barranquero
2010-04-06  0:59   ` Juri Linkov
2010-04-06  1:58     ` Juanma Barranquero
2010-04-06 16:12       ` Juri Linkov
2010-04-06 18:26         ` Juanma Barranquero
2010-04-06 20:19           ` Juri Linkov
2010-04-06 20:49             ` Juanma Barranquero
2010-04-06 21:06               ` Juri Linkov [this message]
2010-04-06 21:39                 ` Juanma Barranquero
2010-04-06 21:47                   ` Juanma Barranquero
2010-04-07 20:17                     ` Juri Linkov
2010-04-07 22:16                       ` Juanma Barranquero
2010-04-07 23:19                         ` Juri Linkov
2010-04-07 23:35                           ` Juanma Barranquero
2010-04-09 15:29                       ` Stefan Monnier
2010-04-09 22:46                         ` Juri Linkov
2010-04-10 14:51                           ` Stefan Monnier
2010-04-14 16:49                             ` Juri Linkov
2010-04-15  4:41                               ` Stefan Monnier
2010-04-15 23:56                                 ` Juri Linkov
2010-04-16  0:41                                   ` Stefan Monnier
2010-04-16  1:27                                     ` Juri Linkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=876344wamo.fsf@mail.jurta.org \
    --to=juri@jurta.org \
    --cc=emacs-devel@gnu.org \
    --cc=lekktu@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.