From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.bugs Subject: bug#16526: 24.3.50; scroll-conservatively & c-mode regression Date: Sat, 28 Jun 2014 17:33:34 +0000 Message-ID: <20140628173334.GB2632__19582.5548180894$1403977181$gmane$org@acm.acm> References: <20140205230001.GB3381@acm.acm> <8338jw230j.fsf@gnu.org> <83wqc8sxd2.fsf@gnu.org> <20140625213206.GA3604@acm.acm> <20140627203416.GA4395@acm.acm> <20140628130059.GA4144@acm.acm> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1403977181 16971 80.91.229.3 (28 Jun 2014 17:39:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 28 Jun 2014 17:39:41 +0000 (UTC) Cc: 16526-done@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jun 28 19:39:32 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1X0wb3-0001Gv-MW for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Jun 2014 19:39:29 +0200 Original-Received: from localhost ([::1]:55448 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X0wb3-0005wW-B9 for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Jun 2014 13:39:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57491) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X0wat-0005vQ-0O for bug-gnu-emacs@gnu.org; Sat, 28 Jun 2014 13:39:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X0wal-00075r-64 for bug-gnu-emacs@gnu.org; Sat, 28 Jun 2014 13:39:18 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:45151) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X0wac-00073p-M8; Sat, 28 Jun 2014 13:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1X0wac-0000S6-0w; Sat, 28 Jun 2014 13:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org Resent-Date: Sat, 28 Jun 2014 17:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16526 X-GNU-PR-Package: emacs,cc-mode X-GNU-PR-Keywords: Original-Received: via spool by 16526-done@debbugs.gnu.org id=D16526.14039770941665 (code D ref 16526); Sat, 28 Jun 2014 17:39:01 +0000 Original-Received: (at 16526-done) by debbugs.gnu.org; 28 Jun 2014 17:38:14 +0000 Original-Received: from localhost ([127.0.0.1]:36301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X0wZp-0000Qm-0h for submit@debbugs.gnu.org; Sat, 28 Jun 2014 13:38:13 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:60879 helo=mail.muc.de) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1X0wZj-0000Qa-3q for 16526-done@debbugs.gnu.org; Sat, 28 Jun 2014 13:38:12 -0400 Original-Received: (qmail 18283 invoked by uid 3782); 28 Jun 2014 17:38:05 -0000 Original-Received: from acm.muc.de (pD9519F94.dip0.t-ipconnect.de [217.81.159.148]) by colin.muc.de (tmda-ofmipd) with ESMTP; Sat, 28 Jun 2014 19:38:04 +0200 Original-Received: (qmail 2932 invoked by uid 1000); 28 Jun 2014 17:33:34 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:90945 Archived-At: Hi, Stefan. On Sat, Jun 28, 2014 at 10:34:58AM -0400, Stefan Monnier wrote: > > Where do we go from here? > Not sure. Would `syntax-ppss' return correct values from the code in > question? If yes, then changing back_comment to call back to Elisp and > use syntax-ppss in the lossage case should eliminate this > algorithmic problem. No, syntax-ppss wouldn't do here without considerable modification. scan-lists must be utterly robust. syntax-ppss can get confused if the user changes the syntax-table, or adds systax-table text properties, or binds before-change-functions to nil and makes a change. How about simply (tm) find-defun-start actually determining a defun start (when open-paren-..-defun is nil) the first time it is called for an invocation of scan-lists, then remembering this position for subsequent use? This would work well for the particular scan-lists invocation we've been talking about. As an enhancement, which would work well for scan-lists at top level with a large negative COUNT, we could keep a list of top level positions during the initial scan, say every ~5k characters. (Or even store the actual parse states every 5k characters exactly.) Or something like that. > Stefan -- Alan Mackenzie (Nuremberg, Germany).