From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.bugs Subject: bug#41897: 28.0.50; JavaScript comment filling with mhtml-mode Date: Tue, 23 Jun 2020 08:36:13 +0000 Message-ID: <20200623083613.GA6957@ACM> References: <20200620171827.7855.qmail@mail.muc.de> <87d05ta8z9.fsf@simenheg@gmail.com> <20200622191750.GA11506@ACM> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="78980"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Simen =?UTF-8?Q?Heggest=C3=B8yl?= , acm@muc.de, 41897@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 23 10:37:13 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jneQY-000KNh-CA for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 23 Jun 2020 10:37:10 +0200 Original-Received: from localhost ([::1]:42730 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jneQX-0008Dm-EM for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 23 Jun 2020 04:37:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59254) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jneQQ-0008DP-6S for bug-gnu-emacs@gnu.org; Tue, 23 Jun 2020 04:37:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:52092) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jneQP-0008Nt-TM for bug-gnu-emacs@gnu.org; Tue, 23 Jun 2020 04:37:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jneQP-0002R7-Qp for bug-gnu-emacs@gnu.org; Tue, 23 Jun 2020 04:37:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 23 Jun 2020 08:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41897 X-GNU-PR-Package: emacs Original-Received: via spool by 41897-submit@debbugs.gnu.org id=B41897.15929013849319 (code B ref 41897); Tue, 23 Jun 2020 08:37:01 +0000 Original-Received: (at 41897) by debbugs.gnu.org; 23 Jun 2020 08:36:24 +0000 Original-Received: from localhost ([127.0.0.1]:35405 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jnePo-0002QF-As for submit@debbugs.gnu.org; Tue, 23 Jun 2020 04:36:24 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:64928 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1jnePk-0002Pz-RL for 41897@debbugs.gnu.org; Tue, 23 Jun 2020 04:36:22 -0400 Original-Received: (qmail 7062 invoked by uid 3782); 23 Jun 2020 08:36:13 -0000 Original-Received: from acm.muc.de (p4fe157be.dip0.t-ipconnect.de [79.225.87.190]) by localhost.muc.de (tmda-ofmipd) with ESMTP; Tue, 23 Jun 2020 10:36:13 +0200 Original-Received: (qmail 6983 invoked by uid 1000); 23 Jun 2020 08:36:13 -0000 Content-Disposition: inline In-Reply-To: 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.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:182309 Archived-At: Hello, Dmitry. On Tue, Jun 23, 2020 at 03:02:48 +0300, Dmitry Gutov wrote: > Hi Alan, > On 22.06.2020 22:17, Alan Mackenzie wrote: > > +(defun c-foreign-truncate-lit-pos-cache (beg _end) > > + "Truncate CC Mode's literal cache. > > + > > +This function should be added to the `before-change-functions' > > +hook by major modes that use CC Mode's filling functionality > > +without initializing CC Mode. Currently (2020-06) these are > > +js-mode and mhtml-mode." > > + (c-truncate-lit-pos-cache beg)) > Could you explain this part? > Is that literal cache looked up once during filling, or is it used > multiple times during the execution of c-fill-paragraph? It's used several times during each filling operation. This cache persists between commands, too. > If the latter (and it does serve as a cache this way), perhaps it > could be cleared once, at the beginning of c-fill-paragraph, instead > of adding a runtime cost to every edit? The cost is tiny. c-truncate-lit-pos-cache is a defsubst which does nothing but three copies of (setq cache-limit (min beg cache-limit)) . All the intricacies of manipulating the cache take place whilst it is being used. > Or if that's undesirable, js-fill-paragraph could do that. No, it really has to be in a before-change-functions function, to keep track of the bound of the valid cache. > This way, I think it would automatically make it compatible with > mmm-mode. Or at least more compatible. Maybe putting the two c-foreign-* functions into mmm-mode would work. -- Alan Mackenzie (Nuremberg, Germany).