From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#62333: 30.0.50; Issue with tree-sitter syntax tree during certain changes Date: Sun, 26 Mar 2023 00:57:22 +0200 Message-ID: <3d64520c-54da-a04a-ed0d-a66b4e753f8a@yandex.ru> References: <87fs9yur7r.fsf@gmail.com> <2fd8f2b8-d9c4-c825-a789-f2d42324859f@yandex.ru> <09539C5E-23DA-4B00-A3F6-873A41D6A2CE@gmail.com> <83h6uc549z.fsf@gnu.org> <665745A2-FDC8-45DE-BFF5-2F688FC85431@gmail.com> <491b788f-c3c3-4877-daa0-f515be9f3a17@yandex.ru> <83sfduelab.fsf@gnu.org> <8FC25A01-6934-43BB-899C-CA5926BEA3CF@gmail.com> <83jzz5c8ml.fsf@gnu.org> <83edpdc6sn.fsf@gnu.org> <1ca302bf-99dc-7f9e-8544-063064a1cb21@yandex.ru> <831qlcdisi.fsf@gnu.org> <398721ad-79b0-3f6d-97b3-4902d9bfbe39@yandex.ru> <83wn34c2qa.fsf@gnu.org> <3b3d82d1-f0f6-a768-a5db-8dc9386a5a34@yandex.ru> <83r0tcbz8g.fsf@gnu.org> <1967361679760225@umbzx4hqxrw5qxo7.sas.yp-c.yandex.net> <83mt40bxzd.fsf@gnu.org> <83jzz4bugh.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24784"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Cc: wkirschbaum@gmail.com, casouri@gmail.com, 62333@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Mar 25 23:58:35 2023 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 1pgCqI-0006Aq-Po for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 25 Mar 2023 23:58:34 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pgCqA-0006Zy-Dq; Sat, 25 Mar 2023 18:58:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgCq7-0006ZU-2I for bug-gnu-emacs@gnu.org; Sat, 25 Mar 2023 18:58:23 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pgCpm-00005O-SF for bug-gnu-emacs@gnu.org; Sat, 25 Mar 2023 18:58:22 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pgCpm-0007zA-F0 for bug-gnu-emacs@gnu.org; Sat, 25 Mar 2023 18:58:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Mar 2023 22:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62333 X-GNU-PR-Package: emacs Original-Received: via spool by 62333-submit@debbugs.gnu.org id=B62333.167978505430662 (code B ref 62333); Sat, 25 Mar 2023 22:58:02 +0000 Original-Received: (at 62333) by debbugs.gnu.org; 25 Mar 2023 22:57:34 +0000 Original-Received: from localhost ([127.0.0.1]:43638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgCpK-0007yU-AI for submit@debbugs.gnu.org; Sat, 25 Mar 2023 18:57:34 -0400 Original-Received: from mail-wm1-f47.google.com ([209.85.128.47]:37640) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pgCpH-0007yD-Oi for 62333@debbugs.gnu.org; Sat, 25 Mar 2023 18:57:32 -0400 Original-Received: by mail-wm1-f47.google.com with SMTP id n10-20020a05600c4f8a00b003ee93d2c914so4818354wmq.2 for <62333@debbugs.gnu.org>; Sat, 25 Mar 2023 15:57:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679785046; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=Qcu+9+ucx4Pu+/fOPRGT/vbK7Ctk8wgg4ksWYs0Cxms=; b=FSttaytTGXf/ZalgZw9W3rFGzS3MVZCYHFBlXAo742kLAQVfRnbYXtCoeC3FEMYEwx rFDFrJIKbO0X0wHm6tNniKioN6MyQhCRYY7fCdBk+LIfIBa3pErA89FLI6im8cipFIdp Kww02UN+ymKpAoEVqAEpYsCioLhzC/LQxCaGweS9tRCewzZmm0MipBU4Sn15CrCjLRk1 +Hw2JC2AatFj7ZmTLIsMPIu1i1uqwKExYjpzvBFiG3o9qdzJORdeQYNlf/rN+Nuc10ZS L40LNCJiHIAPhQid0KdbQIoU9+61kdIi4HUFT0lsYKUDVctBo6gMVDpJad/Am7LbR0aa KAow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679785046; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Qcu+9+ucx4Pu+/fOPRGT/vbK7Ctk8wgg4ksWYs0Cxms=; b=36+r+NT66AV1cAaJNf8LuIsyUU3yj6eq9EEWCl7evsfTnxkq2JT78C5xUZnhHwjEOF ZtytEWMT/HKq0FDfs9XziM3osQu04YG7PEyuq5XMhH1yVghLrbMy5IDMGDuegV2INNf0 NqRCMkvE2Np1ou+f1xCSSMt4LqgHyO8ZwYflJN0XS+SfLOvou0S/IPFinqDHZRJIeVKZ +cuAhuuU41U5YJ6PRhoiArjYFB4k+I419oXIFskAL7VXOk7DN0UZwAoPKsZHSoVzkfCS 5Qfy5P3N9BDe6Wcl3cl4bdDFy72NXt20fIZviNKhmebdRRtfppNPb4RpfycWrAEHkfCI lfxA== X-Gm-Message-State: AO0yUKWGsLWdWh5Zj4XBX4o7PnfGYSwmc4zlwNH0Cb4k9UIvy5JAj+17 FB8PrhxtA3/ZhbcR996xlmTmsiWS7D1ZLg== X-Google-Smtp-Source: AK7set/ssuZ8NqM/o1bA1PV7BdIWhvY4BWJ+Ny+rIV1udIcNbYSbpbGSvhGF2ip+dpY3YlFUDQm+5A== X-Received: by 2002:a7b:c409:0:b0:3ee:19b4:a2e6 with SMTP id k9-20020a7bc409000000b003ee19b4a2e6mr5660394wmi.19.1679785045809; Sat, 25 Mar 2023 15:57:25 -0700 (PDT) Original-Received: from [192.168.0.2] ([85.132.229.92]) by smtp.googlemail.com with ESMTPSA id p20-20020a7bcc94000000b003edd1c44b57sm8974070wma.27.2023.03.25.15.57.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 25 Mar 2023 15:57:25 -0700 (PDT) Content-Language: en-US In-Reply-To: <83jzz4bugh.fsf@gnu.org> 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:258635 Archived-At: On 25/03/2023 19:40, Eli Zaretskii wrote: >> Date: Sat, 25 Mar 2023 19:05:13 +0200 >> Cc: wkirschbaum@gmail.com, casouri@gmail.com, 62333@debbugs.gnu.org >> From: Dmitry Gutov >> >> On 25/03/2023 18:24, Eli Zaretskii wrote: >>>> From: Dmitry Gutov >>>> Cc: "wkirschbaum@gmail.com" , >>>> "casouri@gmail.com" , >>>> "62333@debbugs.gnu.org" <62333@debbugs.gnu.org> >>>> Date: Sat, 25 Mar 2023 19:03:45 +0300 >>>> >>>> But if the mmm framework narrowed the region to the current mode's >>>> block, widening will force tree-sitter to parse the whole buffer. >>>> >>>> No, because such a mode mode should already make sure this doesn't >>>> happen. >>>> >>>> How? >>> >>> The same way it makes sure a given parser is used only on the portion >>> of the buffer where the corresponding language is used. >> >> It uses narrowing. > > How does that work with features such as font-lock, which do widen? Using font-lock-dont-widen. We've had this discussion several times over by now. Should it be documented somewhere? > Anyway, isn't this discussion a bit premature, as no TS mode has been > used with the mmm framework yet? There is no reason to assume that: the combinations of modes are just a matter of user configuration. And so far it should be working okay. > Because when they do, I imagine they > will need to invent some mechanism that is more reliable than > narrowing. "They" is me. I'd rather the general mechanism keeps working, or we come up with another general mechanism that is a better substitute, before breaking this one. And anyway, I like I mentioned, this will break this common pattern as well: (save-restriction (narrow-to-region ... some-limit-position) (forward-sexp)) I've used it in ruby-syntax-propertize-percent-literal, for example. Except with 'forward-list' rather than 'forward-sexp', but others can use the latter.