From: Alan Mackenzie <acm@muc.de>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: "Simen Heggestøyl" <simenheg@runbox.com>,
acm@muc.de, 41897@debbugs.gnu.org
Subject: bug#41897: 28.0.50; JavaScript comment filling with mhtml-mode
Date: Wed, 24 Jun 2020 17:43:33 +0000 [thread overview]
Message-ID: <20200624174333.GA8870@ACM> (raw)
In-Reply-To: <4c6a9c40-a72c-1413-4e08-c7097f8bc407@yandex.ru>
Hello, Dmitry.
On Wed, Jun 24, 2020 at 02:11:31 +0300, Dmitry Gutov wrote:
> On 23.06.2020 22:17, Alan Mackenzie wrote:
[ .... ]
> >>>> And there's no way to just "reset" it to an appropriate value?
> >>> No. Not without killing its utility as a cache.
> >> What do you mean? Even if the cache is reset at the beginning of a
> >> function, if the function refers to it multiple times, the first time
> >> should refill the cache, and the rest of the calls will be able to make
> >> use of it properly.
> > That's what I mean. The cache persists over commands, reducing the
> > amount of recalculation needed, particularly for fast typing. Refilling
> > it from scratch on every keypress would likely make it sluggish.
> Not on every keypress. Only when js-fill-paragraph is called. One-time
> delay only when required.
But a substantial delay, involving (I think) analysing the code from BOB
each time. The current working setup has a negligible delay at each
buffer change (and, of course, recalculation of cache entries only when
required).
> > Anyhow, it works fine at the moment, so why change it?
> The above scheme would require fewer references to CC Mode functions
> from outside. js-mode support would automatically transfer to mhtml-mode
> and mmm-mode with associated changes in them necessary.
It sounds like you want to use a facility without initialising it. This
feels a bit unreasonable.
> One fewer before-change-functions element is also nothing to sneeze at.
There's nothing wrong with having functions in
before/after-change-functions. It's a standard Emacs programming
technique.
[ .... ]
> >> js-mode mostly works, aside from features like this one.
> > With the current patch, comment filling should work fine in js-mode.
> Above, I meant that js-mode mostly works fine with mmm-mode. And my
> suggestion might make comment filling work there, too. Automatically.
It works automatically at the moment (with the current patch applied). I
think you're saying again you don't want to be troubled by initialising
it.
> >>>> Have you considered adding variables that hold the cache to
> >>>> mhtml--crucial-variable-prefix as well? Would that make it work?
> >>> Not without the before-change function, no. I'm trying to see what the
> >>> point of putting these variables into mhtml's crucial variables would be.
> >> Hopefully, it would make the submode regions inside independent
> >> "islands", so to speak. Each of them having its own cache structure
> >> (used or not).
> > Ah, OK. So, buffer positions would be offsets from the island start, or
> > something like that.
> Not necessarily, but possibly. The key aspect is that the cache inside a
> particular submode is not affected by user actions outside of its
> bounds. Not directly, at least.
Well, when a cached holds buffer positions, something has to give -
either markers need to be used, or an offset from a variable position, or
something.
> But that's an mmm-mode feature anyway.
OK.
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2020-06-24 17:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <874krbaqg3.fsf@simenheg@gmail.com>
[not found] ` <mailman.1991.1592327403.2541.bug-gnu-emacs@gnu.org>
2020-06-20 17:18 ` bug#41897: 28.0.50; JavaScript comment filling with mhtml-mode Alan Mackenzie
2020-06-20 18:27 ` Simen Heggestøyl
[not found] ` <87d05ta8z9.fsf@simenheg@gmail.com>
2020-06-21 16:55 ` Alan Mackenzie
2020-06-22 19:17 ` Alan Mackenzie
2020-06-23 0:02 ` Dmitry Gutov
2020-06-23 8:36 ` Alan Mackenzie
2020-06-23 14:23 ` Dmitry Gutov
2020-06-23 16:28 ` Alan Mackenzie
2020-06-23 17:59 ` Dmitry Gutov
2020-06-23 19:17 ` Alan Mackenzie
2020-06-23 23:11 ` Dmitry Gutov
2020-06-24 17:43 ` Alan Mackenzie [this message]
2020-06-24 18:28 ` Dmitry Gutov
2020-06-25 16:33 ` Alan Mackenzie
2020-06-25 16:48 ` Dmitry Gutov
2020-06-25 18:07 ` Alan Mackenzie
2020-06-25 18:19 ` Dmitry Gutov
2020-06-25 19:13 ` Alan Mackenzie
2020-06-25 19:28 ` Dmitry Gutov
2020-06-25 20:11 ` Alan Mackenzie
2020-06-25 21:20 ` Dmitry Gutov
2020-06-27 11:06 ` Alan Mackenzie
2020-06-28 0:18 ` Dmitry Gutov
2020-06-25 20:53 ` Tom Tromey
2020-06-25 21:14 ` Dmitry Gutov
2020-06-26 16:31 ` Alan Mackenzie
2020-06-25 20:49 ` Tom Tromey
2020-06-26 16:46 ` Alan Mackenzie
2020-07-04 13:13 ` Alan Mackenzie
2020-06-16 17:08 Simen Heggestøyl
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200624174333.GA8870@ACM \
--to=acm@muc.de \
--cc=41897@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
--cc=simenheg@runbox.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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).