From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Romain Francoise Newsgroups: gmane.emacs.devel Subject: Re: scroll-conservatively overflow Date: Fri, 30 Apr 2004 13:35:03 +0200 Organization: orebokech dot com Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <87d65p1yxk.fsf@orebokech.com> References: <20040416114146.38AB.JMBARRANQUERO@wke.es> <87vfk0auk0.fsf@orebokech.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1083332893 10632 80.91.224.253 (30 Apr 2004 13:48:13 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 30 Apr 2004 13:48:13 +0000 (UTC) Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Fri Apr 30 15:48:05 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BJYN3-0005jm-00 for ; Fri, 30 Apr 2004 15:48:05 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BJYN2-0004K8-00 for ; Fri, 30 Apr 2004 15:48:04 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BJXuV-0004HZ-HR for emacs-devel@quimby.gnus.org; Fri, 30 Apr 2004 09:18:35 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1BJXtw-0004GK-JS for emacs-devel@gnu.org; Fri, 30 Apr 2004 09:18:00 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1BJWuE-0003ME-Br for emacs-devel@gnu.org; Fri, 30 Apr 2004 08:14:46 -0400 Original-Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.30) id 1BJWMR-0006iM-H8 for emacs-devel@gnu.org; Fri, 30 Apr 2004 07:39:19 -0400 Original-Received: from [80.91.224.249] (helo=main.gmane.org) by mx20.gnu.org with esmtp (Exim 4.30) id 1BJWIP-0003Ul-MU for emacs-devel@gnu.org; Fri, 30 Apr 2004 07:35:09 -0400 Original-Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1BJWIO-0001TM-00 for ; Fri, 30 Apr 2004 13:35:08 +0200 Original-Received: from finn.gmane.org ([80.91.224.251]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 30 Apr 2004 13:35:08 +0200 Original-Received: from romain by finn.gmane.org with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 30 Apr 2004 13:35:08 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Original-To: emacs-devel@gnu.org Original-Lines: 126 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: finn.gmane.org Mail-Copies-To: nobody User-Agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:rEYuGly9khYgV+Jxr76LIufeqYE= X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:22435 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:22435 --=-=-= Romain Francoise writes: > About scrolling: I've been bitten by a bug for some weeks now, I > originally thought it was specific to the multi-tty code but I > discovered this morning that it's not. (A fresh checkout from CVS HEAD > this morning exhibited the same issues.) I have finally found enough time to track it down. The change responsible for all my scrolling problems is Richard's change to indent.c on March 2nd: 2004-03-02 Richard M. Stallman * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc. Reverting this change (see attached patch) solves all issues in Dired, Gnus, etc. I have tried to come up with a fix but failed. I don't really understand why this change was necessary, it adds complexity and does not fix anything as far as I can see. If it was just a code cleanup, maybe the best would be to revert it for the time being. -- Romain Francoise | This is a man's man's man's it's a miracle -- http://orebokech.com/ | world. --James Brown --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=emacs-indent-fix.diff Index: src/indent.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/indent.c,v retrieving revision 1.160 diff -c -r1.160 indent.c *** src/indent.c 5 Apr 2004 21:41:08 -0000 1.160 --- src/indent.c 30 Apr 2004 11:27:23 -0000 *************** *** 1197,1202 **** --- 1197,1203 ---- = (INTEGERP (current_buffer->selective_display) ? XINT (current_buffer->selective_display) : !NILP (current_buffer->selective_display) ? -1 : 0); + int prev_hpos = 0; int selective_rlen = (selective && dp && VECTORP (DISP_INVIS_VECTOR (dp)) ? XVECTOR (DISP_INVIS_VECTOR (dp))->size : 0); *************** *** 1224,1231 **** int wide_column_end_hpos = 0; int prev_pos; /* Previous buffer position. */ int prev_pos_byte; /* Previous buffer position. */ - int prev_hpos = 0; - int prev_vpos = 0; int contin_hpos; /* HPOS of last column of continued line. */ int prev_tab_offset; /* Previous tab offset. */ --- 1225,1230 ---- *************** *** 1274,1280 **** pos = prev_pos; pos_byte = prev_pos_byte; hpos = prev_hpos; - vpos = prev_vpos; tab_offset = prev_tab_offset; } break; --- 1273,1278 ---- *************** *** 1384,1390 **** if (pos >= next_boundary) next_boundary = pos + 1; prev_hpos = width; - prev_vpos = vpos; prev_tab_offset = tab_offset; } } --- 1382,1387 ---- *************** *** 1417,1423 **** pos = prev_pos; pos_byte = prev_pos_byte; hpos = prev_hpos; - vpos = prev_vpos; tab_offset = prev_tab_offset; /* NOTE on contin_hpos, hpos, and prev_hpos. --- 1414,1419 ---- *************** *** 1438,1443 **** --- 1434,1443 ---- hpos = contin_hpos; vpos = vpos - 1; } + else if (c == '\n') + /* If previous character is NEWLINE, + set VPOS back to previous line */ + vpos = vpos - 1; break; } *************** *** 1455,1461 **** pos = prev_pos; pos_byte = prev_pos_byte; hpos = prev_hpos; - vpos = prev_vpos; tab_offset = prev_tab_offset; } break; --- 1455,1460 ---- *************** *** 1464,1470 **** break; prev_hpos = hpos; - prev_vpos = vpos; prev_pos = pos; prev_pos_byte = pos_byte; wide_column_end_hpos = 0; --- 1463,1468 ---- --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://mail.gnu.org/mailman/listinfo/emacs-devel --=-=-=--