Subject: Re: bug#68246: 30.0.50; Add non-TS mode as extra parent of TS modes

From: João Távora <[email-masked]>
Date: Mon, 8 Jan 2024 11:11:31 +0000

On Mon, Jan 8, 2024 at 4:11 AM Stefan Monnier <[email-masked]> wrote:
>
> >    (set-language-for-mode 'foo-ts-mode 'foo)
>
> Maybe we want to introduce this concept, indeed.
>
> maybe we want to that notion of "language" from elsewhere, such as
> the one used in LSP?
> Or maybe we want to take it from MIME types?
> I'm sure there are other options out there.

I've seen the LSP list gain traction lately, granted in the M$ orbit.
I don't think MIME would be a bad choice either, we should
definitely use that if we s/language/file-type.

> Problem is: they come with their own complexities and corner cases.
> After all, this is inevitable when you create a taxonomy.

Yes, sure.  But they have they have the fundamental property of
simpler graphs (trivial in the case the LSP list).  No "extra parents"
there :-)  IOW they solve the fundamental conflation problem.

> IOW, while we *may* want to add support for an explicit notion of "file
> type", it's a whole problem in itself and it will not solve all
> our problems either.

I think it would solve the ones I found.   Say if set/get-mode-file-type is
added, it may just return a string designating a MIME type.  We don't
necessarily have to give it special interpretation anywhere but where
we feel it's useful.

> In the mean time, I think `derived-mode-add-parents` is worth a try.
> As mentioned in some message up-thread, I'm not 100% confident that it
> won't introduce serious breakage.  But I think we do need more
> experience and installing my patch is a good way to do that.

I presume you've understood my misgivings, so go ahead.
I'll leave it up to you guys to decide if docstring changes
are needed in e-s-p or *Help* as someone suggested.

João