From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vincenzo Pupillo Newsgroups: gmane.emacs.devel Subject: Re: treesit-range-settings with ':local' : I missed something or it's a bug? Date: Mon, 29 Jan 2024 15:04:25 +0100 Message-ID: <3273091.aeNJFYEL58@fedora> References: <6107698.MhkbZ0Pkbq@3-191.divsi.unimi.it> <10408919.nUPlyArG6x@fedora> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart8328434.T7Z3S40VBb"; micalg="pgp-sha256"; protocol="application/pgp-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18162"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Yuan Fu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jan 29 15:55:15 2024 Return-path: Envelope-to: ged-emacs-devel@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 1rUT2Y-0004Tv-US for ged-emacs-devel@m.gmane-mx.org; Mon, 29 Jan 2024 15:55:15 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rUT22-0005On-4Y; Mon, 29 Jan 2024 09:54:42 -0500 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 1rUSFg-0000xp-IK for emacs-devel@gnu.org; Mon, 29 Jan 2024 09:04:44 -0500 Original-Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rUSFd-0007ds-Di for emacs-devel@gnu.org; Mon, 29 Jan 2024 09:04:44 -0500 Original-Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-40ef6bbb61fso8489455e9.1 for ; Mon, 29 Jan 2024 06:04:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706537078; x=1707141878; darn=gnu.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=KUlVF3tRvXQjr2ZGFD+grCq4PXzJ6gXR/Jz+AwYg8NU=; b=TtgXhm9Rgu0GKNZa54rOviDtKaHuIE3yvD/xSayejwPf4UMw1QTq4LAUxafhcQjOpR Gkq5FqFK6Qn9ld5iLYpaJZbJQVs0K7xJ3xnNOfb2jpGbM1lfKc7gyTExNXWI/QMM9jE1 x6N7LPdAVIbt1qKm05d8IQ38S60UarqCGk9vD8MOaqNU9qOhaljp1cepo0sjX+fGrvxL z0vnu3VjPBf6Pz457QoDBz/7gAhXGpqwqABgCcfTNlYOqsteYznB4Naq8l3BAYvyewSz VWGSn8d+Q3x5F6cOLdqijQwcTelSzXcNZsKjeDE3qJt7KAjQojO5f8O2SLbBDaFAsT3A a2wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706537078; x=1707141878; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KUlVF3tRvXQjr2ZGFD+grCq4PXzJ6gXR/Jz+AwYg8NU=; b=JS7XW/Mb86N5pH10wWsV5BmzxNwyaLS5EVoHEpHvxyXqoa5bCBs8sPEsywS3yvvsZU U71buxSl6U76mACt4llyQ8hY9ySVymKsokPECga+U79Kpm1zvXkunYToR6q8Fxl1zKcg tnfiCWUwUm4IWxa2jBVPR9zshXlwn2sQ7Jpxn+rjd+erfNPfDtGkZ08dnQtev4NqBbOb V1eGZhn7e3ppk8sEBEZK1TyiR/IDo+X0C+M+8HmTVexnpzyWSn/i93o7G7zxNz7zpy+e peJlkJQaFmRoA4h44FhFQmOWUVroI4EvUzjfD8CK/ouzIqR983DtPjvGD9v+fMmyvZUP 1dzA== X-Gm-Message-State: AOJu0Yxktnl4FRH/uZXP/IyQi6QLVGcl+cqDoCo5qcpuV9+VK5Sinn73 gop1+WYiRNmiwxgCADV8E1baq/rLxupzkpFlfv6ZxmCRWt5Q+JEp X-Google-Smtp-Source: AGHT+IG9D/he58ssS6kh7pDwqheIFgZRXpR9bUB6Uii4UIAMuMeX5E92biOJjqxKUO6HvR+9T0tfkw== X-Received: by 2002:a5d:5f48:0:b0:33a:eb59:accb with SMTP id cm8-20020a5d5f48000000b0033aeb59accbmr3859970wrb.8.1706537077615; Mon, 29 Jan 2024 06:04:37 -0800 (PST) Original-Received: from fedora.localnet (2-230-139-124.ip202.fastwebnet.it. [2.230.139.124]) by smtp.gmail.com with ESMTPSA id bx27-20020a5d5b1b000000b00337d56264d4sm8281280wrb.8.2024.01.29.06.04.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jan 2024 06:04:37 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=v.pupillo@gmail.com; helo=mail-wm1-x336.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 29 Jan 2024 09:54:41 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:315589 Archived-At: --nextPart8328434.T7Z3S40VBb Content-Type: multipart/mixed; boundary="nextPart3279366.44csPzL39Z"; protected-headers="v1" Content-Transfer-Encoding: 7Bit From: Vincenzo Pupillo To: Yuan Fu Cc: emacs-devel@gnu.org Date: Mon, 29 Jan 2024 15:04:25 +0100 Message-ID: <3273091.aeNJFYEL58@fedora> In-Reply-To: MIME-Version: 1.0 This is a multi-part message in MIME format. --nextPart3279366.44csPzL39Z Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" Hi Yuan, In data domenica 28 gennaio 2024 08:09:02 CET, Yuan Fu ha scritto: >=20 > Actually, local parsers are not included in the return value of > (treesit-parser-list). By default, treesit-parser-list returns all the > parsers whose tag is nil, but all the local parsers carry a tag of > =E2=80=98embedded. To actually return all the parsers in the buffer you n= eed to use > (treesit-parser-list nil nil t), ie, pass t to the TAG parameter. >=20 > I pulled your php-ts-mode_phpdoc.el and played around with it. I found the > root cause to be the call to >=20 > (treesit-parser-create =E2=80=98phpdoc) >=20 > In the major mode body. This creates a global phpdoc parser that fontifies > everything in doc face. >=20 > Removing that, plus the fix for #1 that I just pushed to master, should f= ix > the font-lock problem you are observing. It seems to work, but just try to indent the entire buffer, and the problem= =20 reappears. Before indenting:=20 ((# ((1 . 271))) (# ((161 = =2E=20 223))) (# ((73 . 138))) (# nil) (# ((517 . 621))) (# ((672 . 810))) (# ((939 . 1032)))=20 (# ((1157 . 1223)))) after indenting the whole buffer: ((# ((1 . 271))) (# ((161 = =2E=20 223))) (# ((73 . 138))) (# nil) (# ((517 . 621))) (# ((672 . 810))) (# ((939 . 1032)))=20 (# ((1157 . 1223))) (#=20 nil)) =20 As you can see the list of parsers has changed, and the latest one is: (# nil) . To reproduce the problem: 1. open a php file (for e.g. the php file attached) 2. Indent the entire buffer 3. add a comment line inside a document block The attached screenshot shows the result. >=20 > I couldn=E2=80=99t fine the patch you mentioned in the thread so I don=E2= =80=99t know if > this is what your patch does. The modification I attached (that's the one I was talking about that I forg= ot=20 to attach) solves the problem, but downstream, not upstream (I am not famil= iar=20 with how treesit.el works).=20 >=20 > Yuan Thanks=20 V. --nextPart3279366.44csPzL39Z Content-Disposition: attachment; filename="tressit_indent_font-lock_issue.png" Content-Transfer-Encoding: base64 Content-Type: image/png; name="tressit_indent_font-lock_issue.png" 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 /9yHj4G1Hg8Acx3y3dr9E3CcQV2j//OMpUAEgFqHmznHmVHcvsYwlAU0AJc63MwZrl0tiR9bAlja 4WbOS+qXskuGs+dcXZxdT40319LjzdV/HnnJr9z89Z+//vCZ50vGjS9nlN4QVvomr/gmrNq6Xl9b eqf13PGA/fEnI2/A69Dt8iYwoEWWtQGgMcKZQzNrBloknG/AkjYAcwhnAGiMcAaAxgjnGa79fCwA 1BDOANCYw4VznP3G7RKfhwXgVg4XzsNvhxK4ALTocOGc0t8BXRvMc2oB4FqH+m7tuIQ93Ba+ALTi UOE8DODa2XBtHQAs5ZDL2n3gxpk0ALTgcOE8nAlPBbRZMwD3cLhwjmEbtwHg3g4XzrXMmgG4F+EM AI0RzgVmzQDci3AGgMYIZwBojHAGgMYIZwBojHAGqNR1XewiuV/WIJxz5j7Quq7+OrV1a+iP857H UFJ7TLV13MS///t/Y1dT5hyfgNmWr5/ep6+f3sfu1d3qcSKcl3A6xZ72dN334+wb8KrrunQa+X/R dd3rk/Lw8tHd83756effYtdNnE6nm5yncL61kScAKrj/uLE+uPvw7i/f4gm6Ze6Xde3jT0aWHgzx ibyfPUa5/tyYsWaufsyxcZa+3eF4pdvPnX+uP3dsKZWvG03VlY6vN7U/pbrbzdWkdF53R7nl2P96 /s/YVVWXq0npvC6lfO1UXX851v37v//3tS+OO6wd1g3l+uM4KZ3fbkp1x9ebmjWXxOuUllhzM7xc bazL1aR0XpdSvjZXdwvxfkmp/vhq62rVjPf10/vXvlgfa3v9LyG5c13M49Nz9/DwUGwppfbb91/V zlvsj9ul/rg91T+1r7autK/UP6eNjVHaF/vjdqk/bk/1T+2rrSvti/1xe6r/xu3f//2/Z325/rhd 6o/bpf64PdVfu2+sZmx/7I/bU/1T+/rWTfzch/vHar9+en/WN9YfW6wbbpcu57an+pdqS98vcXuq /9J9sb/fjv1Tbeycl2iWtbdgzd/Obmkv53EnpZnf2q653X9nZr9LW3t81lGald7D18HsuRX7WNYG mrSH4Iyvo/aXr1nS/JpZbt2aNe6Xe2ktmFMSzsD/+6/n/6x+Tfdo+sDpur9fZxxenqM0S7smsK+5 7jVy98Wl9ws/Es7Aq1wQ32Jpmuvkwp5t85ozcGhxefYIjna+S7vF6oBw3oK9/Efay3ncSW7JeUlr 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 Y4Qzs8Q32sXtrYjHHbcB7kk4A0BjhPMGbW2W13+0bWvHDXAvu/woFe3oPr710TaAmcycmSUGbdze injccRvgnsycbyS3pJsLhHvVLW14u/3l3O3WHl9N3XCWHutj7VxWAICbenx67h4eHootpaRd2bqP b8/6cv1xu9Qft0v9cXuqf402dlulfbE/bpf6++3Yv0RbY0xN07RSs6y9AWZs9bqVZrhrjAlQIpzZ FSEK7IHXnG+ky7xmCgA5wvlGzOgAqGVZGypY+QBuSTjfUe0Tfm0dAPtgWfsGTm/+yAZsXOqurau1 9HhLqz2+2jqAvTg9Pj133758jv2vXl5eYhccylofzwIosawNEwQzcGvCGQAaI5wBoDHCGQAaI5wB oDG7Cefu49vsx20AYGt2E86nN38UPw8LAFuym3AGgL0QzgDQGOEMAI3ZXTj3rzt77RmArdrdH77w PcgAbN3uZs4AsHXCGQAaI5wBoDHCGQAas5s3hPXvzvZmMAC2bjfhLJQB2AvL2gDQGOEMAI0RzgDQ GOEMAI0RzgDQmOpw9sckAOA2qsP59OaP17/4BACspzqcAYDbEM4A0BjhDACNmR3O/evOXnsGgHXM /m7t7uNb32MNACuaPXMGANYlnAGgMcIZABojnAGgMdVvCOvfne3NYACwrupwFsoAcBuWtQGgMcIZ ABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABoj nAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGg McIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABojnAGgMcIZABrzf8p7e3TS xsXQAAAAAElFTkSuQmCC --nextPart3279366.44csPzL39Z Content-Disposition: attachment; filename="0001-Remove-local-parser-from-global-parser-list-when-fon.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="x-UTF_8J"; name="0001-Remove-local-parser-from-global-parser-list-when-fon.patch" >From c84464e0a8e3d5086af8bf2ff8f510a503f13374 Mon Sep 17 00:00:00 2001 From: Vincenzo Pupillo Date: Sun, 28 Jan 2024 21:17:51 +0100 Subject: [PATCH] Remove local-parser from global-parser list when fontify region The list of global parsers used by treesit-font-lock-fontify-region also contains local parsers (parsers embedded with the :local attribute). As a result, the font-lock range of local parsers overlaps with others. * lisp/treesit.el (treesit-font-lock-fontify-region): Drop local parsers from the global-parsers list. --- lisp/treesit.el | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lisp/treesit.el b/lisp/treesit.el index 96222ed81cb..47f06c37793 100644 --- a/lisp/treesit.el +++ b/lisp/treesit.el @@ -1233,7 +1233,20 @@ treesit-font-lock-fontify-region (treesit-update-ranges start end) (font-lock-unfontify-region start end) (let* ((local-parsers (treesit-local-parsers-on start end)) - (global-parsers (treesit-parser-list)) + (global-parsers (cl-remove-if + (lambda (parser) + (let ((range-settings treesit-range-settings) + (finded nil)) + (while (and range-settings (not finded)) + (let* ((range-setting (pop range-settings)) + (language (nth 1 range-setting)) + (local (nth 2 range-setting))) + (setq finded + (and + local + (eq (treesit-parser-language parser) language))))) + finded)) + (treesit-parser-list))) (root-nodes (mapcar #'treesit-parser-root-node (append local-parsers global-parsers)))) -- 2.43.0 --nextPart3279366.44csPzL39Z Content-Disposition: attachment; filename="index4.php" Content-Transfer-Encoding: base64 Content-Type: application/x-php; name="index4.php" IyEvYmluL2VudiBwaHAKIyB0ZXN0Cgo8aHRtbD4KICA8aGVhZD4KICAgIDx0aXRsZT48L3RpdGxl PgogICAgPHNjcmlwdD4KICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKICAgICAgICAgIGNvbnNvbGUu bG9nKCJ0ZXN0IikKICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICA8c3R5bGU+CiAgICAgIGgxIHsK CSAgY29sb3I6IHdoaXRlOwoJICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KICAgIDwvc3R5 bGU+CiAgPC9oZWFkPgogIDxib2R5PgogIDwvYm9keT4KPC9odG1sPgoKPD9waHAKY29uc3QgQ09O U1RBTlQgPSAnSGVsbG8gV29ybGQnOwpjb25zdCBBTk9USEVSX0NPTlNUID0gQ09OU1RBTlQuJzsg R29vZGJ5ZSBXb3JsZCc7CmNvbnN0IEFOSU1BTFMgPSBhcnJheSgnZG9nJywgJ2NhdCcsICdiaXJk Jyk7CgovLyBUaGlzIGNsYXNzIEZvbyBibGFoIGJsYWggYmxhaApjbGFzcyBGb28KewogICAgIyBi bGFoIGJsYWgKICAgIHByaXZhdGUgaW50fGZsb2F0ICRhOwogICAgcHJpdmF0ZSAkYjsKICAgIAog ICAgLyoqCiAgICAgKiBmb28gbWV0aG9kCiAgICAgKiBAcGFyYW0gc3RyaW5nICRjIGEgc2ltcGxl IHN0cmluZwogICAgICogQHNlZSBodHRwOi8vd3d3LmV4YW1wbGUuY29tCiAgICAgKi8KICAgIGZ1 bmN0aW9uIGZvbygkYykgewoJZWNobyAkYyAuICJiYXIiOwogICAgfQp9CgovKioKICogQHByb3Bl cnR5ICAgICAgIHN0cmluZyAkbXlQcm9wZXJ0eQogKiBAcHJvcGVydHktcmVhZCAgc3RyaW5nICRt eVJlYWRPbmx5UHJvcGVydHkKICogQHByb3BlcnR5LXdyaXRlIHN0cmluZyAkbXlXcml0ZU9ubHlQ cm9wZXJ0eQogKi8KY2xhc3MgQmFyIGV4dGVuZHMgRm9vCnsKICAgICMgYmxhaCBibGFoCiAgICBw dWJsaWMgJG5hbWU7CiAgICAKICAgICNbT3B0aW9ucyhbImxhYmVsIiA9PiAiVXNlcm5hbWU6Il0p XQogICAgcHVibGljICRjb2xvcjsKCiAgICAvKioKICAgICAqIHRoaXMgaXMgdGhlIGNvc3RydWN0 b3IKICAgICAqIEBwYXJhbSBzdHJpbmcgJG5hbWUKICAgICAqIEBwYXJhbSBpbnQgJGNvbG9yCiAg ICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZSwgJGNvbG9yKQogICAg ewogICAgICAgICR0aGlzLT5uYW1lID0gJG5hbWU7CiAgICAgICAgJHRoaXMtPmNvbG9yID0gJGNv bG9yOwogICAgfQoKICAgIC8qKgogICAgICogYmFyIGJhcgogICAqCiAgICAgKiBAc2VlIGh0dHA6 Ly93d3cuZXhhbXBsZS5jb20KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGJhcigpCiAgICB7 CiAgICAgICAgZWNobyAiZm9vciI7CiAgICB9Cn0KCg== --nextPart3279366.44csPzL39Z-- --nextPart8328434.T7Z3S40VBb Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEfcBYMYUgfgreALXi6SZwW3t9jOoFAmW3sGkACgkQ6SZwW3t9 jOqufg//RXR0lMO5l4wtMLAeUJ2n4azGCrz2yc+vPXFdmGFfsnNoa3retKBncC+N 3omP2ggsUOddQ4RUlv0zJZFxpCRHQ3i/gM4EWcOSNgsDZ5o4uFqpkA6H/fG4Kwie LAKMmV6YApRUQJXVztqQE7wlkFj3gIVO7MIaIxQDGHj9Yaw6+3zlRBdREZqWGV37 EOJCcCwBXRjGFSw732xcEuCELALq2oAb2BV9in13PH+5nnGi8gXOEcE0GfSFLu0x fN4k2RY7L+eLFloDImOl3vjSrUSSwq0ZY9KL6m3Nk7+pjK/eb8l1vfMCgHahZVAL gbxdg33ApfhRiapUMCW30koSShiG9f/y1Xk0kW9w6ZNOxQGcdzRjgSfLm8YUgaGP HENrddHKQgXPUfkEXf8D1IwcTj2PbvdyhwHMPG/fb4qNjV/WeQQfCcbhA0ZJB+Et J1dTwHp+lllvRx0MIH3q2frzKdNjq3X6qf8Pn/0R08G0kO3OSlpGMvyg+Ck1UYot k7mSnrCiGpXpG2UiG0PFo7FDp1AKx9Tarj2AFxofiSLBiEBP4IQfXeyw4fQA0CE+ RMMDlxEehzojQbPTvJxRV/l2uIrNjz42zYQyFWmA6vMo/lx2tbHunu37zSfSXYz0 Dw0sVK5pc/APhDEaj0wNpaZZa/3I5EHp5yuXZtiwE9zsU5RpKz8= =Bxxm -----END PGP SIGNATURE----- --nextPart8328434.T7Z3S40VBb--