From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel 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 Organization: JURTA Message-ID: <876344wamo.fsf@mail.jurta.org> References: <877hol5qso.fsf@mail.jurta.org> <874ojozp27.fsf@mail.jurta.org> <87ljd0wcw3.fsf@mail.jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1270588275 14881 80.91.229.12 (6 Apr 2010 21:11:15 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 6 Apr 2010 21:11:15 +0000 (UTC) Cc: Emacs developers To: Juanma Barranquero Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 06 23:11:14 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NzG3F-000228-Pv for ged-emacs-devel@m.gmane.org; Tue, 06 Apr 2010 23:11:14 +0200 Original-Received: from localhost ([127.0.0.1]:47315 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NzG3F-0006mK-6H for ged-emacs-devel@m.gmane.org; Tue, 06 Apr 2010 17:11:13 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NzG3A-0006m5-7O for emacs-devel@gnu.org; Tue, 06 Apr 2010 17:11:08 -0400 Original-Received: from [140.186.70.92] (port=33398 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NzG39-0006lx-15 for emacs-devel@gnu.org; Tue, 06 Apr 2010 17:11:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NzG36-0006Sf-NI for emacs-devel@gnu.org; Tue, 06 Apr 2010 17:11:06 -0400 Original-Received: from smtp-out1.starman.ee ([85.253.0.3]:36503 helo=mx1.starman.ee) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NzG36-0006SZ-3k for emacs-devel@gnu.org; Tue, 06 Apr 2010 17:11:04 -0400 X-Virus-Scanned: by Amavisd-New at mx1.starman.ee Original-Received: from mail.starman.ee (85.253.49.244.cable.starman.ee [85.253.49.244]) by mx1.starman.ee (Postfix) with ESMTP id 1FDF43F408F; Wed, 7 Apr 2010 00:10:57 +0300 (EEST) In-Reply-To: (Juanma Barranquero's message of "Tue, 6 Apr 2010 22:49:21 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (x86_64-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:123283 Archived-At: >> I see now what do you mean. =A0This patch takes care of that: > > Not exactly. On emacs-23, go to a long line and do: > > C-e ... ; until you reach a line shorter than > the original one > ... ; point is still at end of line > > That does not happen with your patch, AFAICS. Then additionally you need this patch: =3D=3D=3D 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. =20 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_c= ommand; Lisp_Object Qwindow_size_fixed; =20 extern Lisp_Object Qleft_margin, Qright_margin; @@ -4947,7 +4947,9 @@ (let ((edges (window-edges))) (- (nth 2=20 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=20 { if (window_scroll_preserve_vpos <=3D 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 =3D *compute_motion (startpos, 0, 0, 0, @@ -7176,6 +7180,12 @@ (let ((edges (window-edges))) (- (nth 2=20 Qscroll_down =3D intern_c_string ("scroll-down"); staticpro (&Qscroll_down); =20 + Qscroll_up_command =3D intern_c_string ("scroll-up-command"); + staticpro (&Qscroll_up_command); + + Qscroll_down_command =3D intern_c_string ("scroll-down-command"); + staticpro (&Qscroll_down_command); + Qwindow_size_fixed =3D 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=20 initial_define_key (control_x_map, '<', "scroll-left"); initial_define_key (control_x_map, '>', "scroll-right"); =20 - 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"); } =20 /* arch-tag: 90a9c576-0590-48f1-a5f1-6c96a0452d9f --=20 Juri Linkov http://www.jurta.org/emacs/