unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: wkirschbaum@gmail.com, casouri@gmail.com, 62333@debbugs.gnu.org
Subject: bug#62333: 30.0.50; Issue with tree-sitter syntax tree during certain changes
Date: Fri, 31 Mar 2023 04:17:19 +0300	[thread overview]
Message-ID: <7228ade1-7686-a94a-0744-d77b7f09eb55@yandex.ru> (raw)
In-Reply-To: <83jzyz7qmy.fsf@gnu.org>

On 29/03/2023 14:17, Eli Zaretskii wrote:
>> Date: Wed, 29 Mar 2023 00:19:41 +0300
>> Cc: wkirschbaum@gmail.com, casouri@gmail.com, 62333@debbugs.gnu.org
>> From: Dmitry Gutov <dgutov@yandex.ru>
>>
>>>> Like narrowing, but just for parsers? But parsers obey narrowing
>>>> already. Sounds a bit like conceptual duplication. How does this solve
>>>> blink-matching-paren issue anyway?
>>>
>>> We could widen without fearing that a parser will "invade" regions of
>>> buffer text that we don't want it to wander into.
>>
>> So any code that wants to restrict a "parser" based buffer, would need
>> to use a different primitive to narrow?
> 
> No, the idea is to create the parser with these restrictions to begin
> with.
> 
>> And vice versa, any code that uses a parser, will need to (widen)
>> first, to ensure that the parser is not affected by any restriction
>> set up by any code previously?
> 
> No, if the parser is restricted, there should be no need to "widen"
> it, at least not in most cases I could think about where a parser
> should be restricted to a part of the buffer.
> 
>> Anyway, I don't see why we should institute a special category for these
>> buffers.
> 
> Because IMO it's cleaner and simpler than using narrowing, and doesn't
> suffer from the problems we see in narrowing.

You are not describing anything that one couldn't do with a major mode 
before tree-sitter parsers (choose a region, apply font-lock keywords, 
etc), so that should give you an idea that the suggestion is probably 
not novel. And doesn't solve the existing problems in new ways.

Why would we apply that approach to "proper" parsers only?

>>>>>> The "grand unified theory of mixed major modes" has been attempted a few
>>>>>> times in the past, and never reached anything practical.
>>>>>
>>>>> But here we have a unique opportunity to maybe find a solution, at
>>>>> least for stuff based on tree-sitter and similar libraries.  That
>>>>> maybe not "grand", but certainly "respectable".
>>>>
>>>> tree-sitter has its own support for mixed languages.
>>>
>>> So your argument about mmm framework was a red herring, cause that
>>> problem doesn't exist wrt tree-sitter parsers?
>>
>> Nope, see the first paragraph of my previous reply (the "no relevance" one).
> 
> Which first paragraph is that?  In what "previous reply" should I look
> and where?  (And why couldn't you simply copy that here, to make
> following the discussion easier?)

The reply you answered with "I don't see the relevance". There is really 
no good way to continue the explanation after that. Copying it into 
multiple successive emails doesn't sound logical either.

>>>>>> My stance here is we shouldn't break it before we create a new one.
>>>>>
>>>>> No one broke anything.  We are just discussing ideas.  Please don't
>>>>> exaggerate.
>>>>
>>>> I never said anybody has broken anything already.
>>>
>>> You did say that my ideas break something, see above.  Ideas cannot
>>> break any code, so this argument shouldn't be brought up if you want a
>>> calm and rational discussion.
>>
>> Ideas cannot, but implementing them can. "This or that change will break
>> an existing convention" is a rational argument.
>>
>> Shall we stop quibbling over words?
> 
> I'm "quibbling" over words because your particular selection of words
> makes serious discussion nigh impossible.  Not the first time, either.
> As soon as there's some disagreement, sooner or later those words
> (like "quibbling") come out.  Whether it's because of some attitude or
> not, I don't know, but you may wish to reflect on that and perhaps try
> to express your disagreements using different words.

"Breaking a convention" is an industry term.





      parent reply	other threads:[~2023-03-31  1:17 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-21 14:00 bug#62333: 30.0.50; Issue with tree-sitter syntax tree during certain changes Wilhelm Kirschbaum
2023-03-23  1:03 ` Dmitry Gutov
2023-03-23  3:03   ` Yuan Fu
2023-03-23  4:20     ` Dmitry Gutov
2023-03-23  7:13       ` Eli Zaretskii
2023-03-23 21:18         ` Yuan Fu
2023-03-23 21:30           ` Dmitry Gutov
2023-03-23 22:06           ` Dmitry Gutov
2023-03-23 23:59             ` Yuan Fu
2023-03-24  6:05               ` Eli Zaretskii
2023-03-24  7:34                 ` Yuan Fu
2023-03-25  1:51                   ` Dmitry Gutov
2023-03-25 12:34                     ` Eli Zaretskii
2023-03-25 13:00                       ` Dmitry Gutov
2023-03-25 13:14                         ` Eli Zaretskii
2023-03-25 13:44                           ` Dmitry Gutov
2023-03-25 14:09                             ` Eli Zaretskii
2023-03-25 14:18                               ` Dmitry Gutov
2023-03-25 14:41                                 ` Eli Zaretskii
2023-03-25 15:25                                   ` Dmitry Gutov
2023-03-25 15:57                                     ` Eli Zaretskii
2023-03-25 16:03                                       ` Dmitry Gutov
2023-03-25 16:24                                         ` Eli Zaretskii
2023-03-25 17:05                                           ` Dmitry Gutov
2023-03-25 17:40                                             ` Eli Zaretskii
2023-03-25 19:31                                               ` Yuan Fu
2023-03-25 23:29                                                 ` Dmitry Gutov
2023-03-26 22:52                                                   ` Yuan Fu
2023-03-27  1:29                                                     ` Dmitry Gutov
2023-03-26  4:28                                                 ` Eli Zaretskii
2023-03-26 22:57                                                   ` Yuan Fu
2023-03-27 13:32                                                     ` Eli Zaretskii
2023-03-27 18:43                                                       ` Yuan Fu
2023-03-25 22:57                                               ` Dmitry Gutov
2023-03-26  5:04                                                 ` Eli Zaretskii
2023-03-26  9:25                                                   ` Dmitry Gutov
2023-03-26 10:01                                                     ` Eli Zaretskii
2023-03-26 22:00                                                       ` Dmitry Gutov
2023-03-27  8:24                                                         ` Gregory Heytings
2023-03-27 13:39                                                           ` Eli Zaretskii
2023-03-27 20:05                                                             ` Gregory Heytings
2023-03-28 11:30                                                               ` Eli Zaretskii
2023-03-28 11:39                                                                 ` Gregory Heytings
2023-03-28 12:11                                                                   ` Eli Zaretskii
2023-03-28 12:25                                                                     ` Gregory Heytings
2023-03-28 12:36                                                                       ` Eli Zaretskii
2023-03-27 23:06                                                             ` Dmitry Gutov
2023-03-28 11:32                                                               ` Eli Zaretskii
2023-03-28 21:08                                                                 ` Dmitry Gutov
2023-03-29 11:08                                                                   ` Eli Zaretskii
2023-03-31  1:10                                                                     ` Dmitry Gutov
2023-03-31  1:27                                                                       ` Dmitry Gutov
2023-03-31  6:19                                                                       ` Eli Zaretskii
2023-03-31  7:46                                                                         ` Eli Zaretskii
2023-03-31 12:38                                                                           ` Dmitry Gutov
2023-03-31 13:03                                                                             ` Eli Zaretskii
2023-03-31 13:26                                                                               ` Dmitry Gutov
2023-03-31 12:46                                                                         ` Dmitry Gutov
2023-03-31 13:06                                                                           ` Eli Zaretskii
2023-03-31 18:43                                                                           ` Yuan Fu
2023-04-01  1:53                                                                             ` Dmitry Gutov
2023-04-01  5:47                                                                             ` Eli Zaretskii
2023-04-01 16:12                                                                               ` Dmitry Gutov
2023-04-02 22:08                                                                               ` Yuan Fu
2023-04-03 12:31                                                                                 ` Eli Zaretskii
2023-03-27 23:20                                                           ` Dmitry Gutov
2023-03-27 13:29                                                         ` Eli Zaretskii
2023-03-27 23:33                                                           ` Dmitry Gutov
2023-03-28 11:38                                                             ` Eli Zaretskii
2023-03-28 21:19                                                               ` Dmitry Gutov
2023-03-29 11:17                                                                 ` Eli Zaretskii
2023-03-30 15:50                                                                   ` Gregory Heytings
2023-03-30 16:04                                                                     ` Eli Zaretskii
2023-03-30 16:28                                                                       ` Gregory Heytings
2023-03-30 16:40                                                                         ` Eli Zaretskii
2023-03-30 17:27                                                                           ` Gregory Heytings
2023-03-30 17:47                                                                             ` Eli Zaretskii
2023-03-30 20:14                                                                               ` Gregory Heytings
2023-03-30 22:08                                                                                 ` Gregory Heytings
2023-03-31  6:15                                                                                   ` Eli Zaretskii
2023-03-31  1:25                                                                       ` Dmitry Gutov
2023-03-31  6:22                                                                         ` Eli Zaretskii
2023-03-31  1:17                                                                   ` Dmitry Gutov [this message]

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=7228ade1-7686-a94a-0744-d77b7f09eb55@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=62333@debbugs.gnu.org \
    --cc=casouri@gmail.com \
    --cc=eliz@gnu.org \
    --cc=wkirschbaum@gmail.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).