all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Alan Mackenzie <acm@muc.de>
Cc: "Simen Heggestøyl" <simenheg@runbox.com>, 41897@debbugs.gnu.org
Subject: bug#41897: 28.0.50; JavaScript comment filling with mhtml-mode
Date: Wed, 24 Jun 2020 02:11:31 +0300	[thread overview]
Message-ID: <4c6a9c40-a72c-1413-4e08-c7097f8bc407@yandex.ru> (raw)
In-Reply-To: <20200623191713.GC6957@ACM>

On 23.06.2020 22:17, Alan Mackenzie wrote:

>> But isn't CC Mode confused by chunks of text with a totally different
>> syntax?
> 
> It might well be, probably is.  But this isn't CC Mode we're talking
> about - just a tiny part of its low level functionality, namely the bit
> dealing with literals and filling them.

So this cache is really serving the filling functionality only in this case.

>>>> 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.

> 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.

One fewer before-change-functions element is also nothing to sneeze at.

>> js-mode can be one of its submodes. c-mode as well, but none of CC Mode
>> family of major modes ever worked okay with it, I think.
> 
> Having several major modes in a single buffer has always been problematic
> in Emacs.  Personally, I think there needs to be amendments in the
> low-level C code to support it properly, but I'm not able to do this work
> on my own, and there doesn't seem to be enough enthusiasm on other
> people's part to help out.

We've learned to deal with most other major modes and features in mmm 
context.

>> 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.

>>>> 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.

But that's an mmm-mode feature anyway.





  reply	other threads:[~2020-06-23 23:11 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 [this message]
2020-06-24 17:43                       ` Alan Mackenzie
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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4c6a9c40-a72c-1413-4e08-c7097f8bc407@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=41897@debbugs.gnu.org \
    --cc=acm@muc.de \
    --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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.