From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuan Fu Newsgroups: gmane.emacs.bugs Subject: bug#66732: tree-sitter fontification doesn't update multi-line syntax reliably Date: Tue, 12 Dec 2023 23:12:31 -0800 Message-ID: References: <878r7s5cdf.fsf@honnef.co> <83fs1tbou1.fsf@gnu.org> <835y1zo3rw.fsf@gnu.org> <2ce274aa-6d01-4d0a-b10c-07f821343fed@gmail.com> <50920549-006c-0153-2471-02e41a3dada7@gutov.dev> <8c7cd429-bdc3-4fac-ad1c-fbad793bf1a0@gmail.com> <231ebcd1-ec30-0432-82e7-d63e11cd65f7@gutov.dev> Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_E7F5FFEF-F6D3-4E67-BB8E-DE58A9EF584A" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25318"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Dmitry Gutov , Eli Zaretskii , 66732@debbugs.gnu.org, dominik@honnef.co To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Dec 13 08:14:07 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 1rDJRV-0006Ja-QP for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 13 Dec 2023 08:14:06 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rDJRG-00027d-5L; Wed, 13 Dec 2023 02:13:50 -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 1rDJRE-00025J-0Q for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2023 02:13:48 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rDJRC-0005el-Vr for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2023 02:13:47 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rDJRS-0001ch-Fd for bug-gnu-emacs@gnu.org; Wed, 13 Dec 2023 02:14:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Yuan Fu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 Dec 2023 07:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66732 X-GNU-PR-Package: emacs Original-Received: via spool by 66732-submit@debbugs.gnu.org id=B66732.17024515886159 (code B ref 66732); Wed, 13 Dec 2023 07:14:02 +0000 Original-Received: (at 66732) by debbugs.gnu.org; 13 Dec 2023 07:13:08 +0000 Original-Received: from localhost ([127.0.0.1]:58078 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDJQa-0001bH-3Q for submit@debbugs.gnu.org; Wed, 13 Dec 2023 02:13:08 -0500 Original-Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]:49297) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rDJQX-0001ad-12 for 66732@debbugs.gnu.org; Wed, 13 Dec 2023 02:13:06 -0500 Original-Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-6ce939ecfc2so5991529b3a.2 for <66732@debbugs.gnu.org>; Tue, 12 Dec 2023 23:12:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702451563; x=1703056363; darn=debbugs.gnu.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=whFi6ZFLJWI16moTJy1vJbh2/SbbezZjOComRjyEBeo=; b=VrTt0GhQap78pOTtpMpE1oGJCrc9QriqNVyGGLf8UD7uoYMWbRCObj3NVPvjPhY8MX 8UJblVebdfdRYKUY3dwXpTswSnpG8S41Zk3GbJ+BZEPBVbotkWKS0HjzRV/0eLC1j6mF 8smneV6FRrgooyPysns7O8TwDrsz3zoHUWPfpEFx5Dj7r3cdnDw+vIGSWhwud2G5JGMB IgGiW/bZnMa5D0ydPxW5gvTGaAAQqvCJhcgGvco0O4R9UefqUTuhZqsZX3F5iIxZv54r w5/jWPwEe7XKCxSfia23s5genUOqmnZKNs+y4fO3i92D20Y13Q+UoWJVeEXaMjtiR8tr jQuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702451563; x=1703056363; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=whFi6ZFLJWI16moTJy1vJbh2/SbbezZjOComRjyEBeo=; b=A/zCl8LtqL9d+VSppJ7I74VNGGBrdACS6YcxzC3r0pWiBCqaiZKpSohRsqHO7C7VLH PmkHCe/1hg2EPtGw43HK2vI1LFk92GMHkixOsccGrHE062pOFddO3pr3a5/jMZD3mkgs XG4oykvQLMVHEhT+kD1eo6I6TTWjh0XLwwSkggL14ndj4wZndA0lSjNawpDKwUzDZPJU fyt2jzZDB4u9ldrGLpkpNsIoXnJ/2ivNJk45H6iPVCCDRcDzI3QT6yBo00ZHtaFyQF06 35Bbe2fItp3TDdcIAvucJsLniCfkUvx2Uti7UXnnGPutvgxweZYUgRYziNLBxKgBDrE+ fPjQ== X-Gm-Message-State: AOJu0YxXDxkiYC6o3zwZcySe1ItEbuQxep/TajndKEuDMf/nGyPwVPwP JbZXtFtcrYZx8e5D3jA7mX4= X-Google-Smtp-Source: AGHT+IH8XLQC0a30aTYpY4f94GBrw2BPWhQvFQXikjOrmDyaFgV9p+v4e7xiRjqIo8YvBsA+0sIVTg== X-Received: by 2002:a05:6a20:e11b:b0:190:3fd8:45ac with SMTP id kr27-20020a056a20e11b00b001903fd845acmr9392462pzb.82.1702451563033; Tue, 12 Dec 2023 23:12:43 -0800 (PST) Original-Received: from smtpclient.apple (172-117-161-177.res.spectrum.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id j10-20020a056a00130a00b006d0bff5d84esm1118598pfu.137.2023.12.12.23.12.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Dec 2023 23:12:42 -0800 (PST) In-Reply-To: X-Mailer: Apple Mail (2.3731.700.6) 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:276112 Archived-At: --Apple-Mail=_E7F5FFEF-F6D3-4E67-BB8E-DE58A9EF584A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Dec 12, 2023, at 7:45 PM, Stefan Monnier = wrote: >=20 >>> Anyway, could you try my patch? Like I said, I'm not sure if the >>> insufficient fontification I'm observing in c-ts-mode is due to the >>> problem with the solution, or due to the other redisplay-related = problems >>> on my system. >>=20 >> Yeah, it doesn't solve the problem in c-ts-mode regarding block = comments. >=20 > I must admit I don't understand what the problem may be here. The problem is, when you type /* RET foo RET */ the block comment is not = fontified in comment face --Apple-Mail=_E7F5FFEF-F6D3-4E67-BB8E-DE58A9EF584A Content-Disposition: inline; filename="Screenshot 2023-12-12 at 10.57.22 PM.png" Content-Type: image/png; x-mac-hide-extension=yes; x-unix-mode=0644; name="Screenshot 2023-12-12 at 10.57.22 PM.png" Content-Transfer-Encoding: base64 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 6ZOGRb5YDrpOUrcqLxv8w6Z7+O/q/ucIJlVtwT/HfwFBAgaqZ7wL+gAAAIplWElmTU0AKgAAAAgA BAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQ AAAAAQAAAJAAAAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAAANagAwAEAAAAAQAAAKgAAAAAQVND SUkAAABTY3JlZW5zaG90oVKkogAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAdZpVFh0WE1MOmNvbS5h ZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9 IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9y Zy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6 YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlm LzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTY4PC9leGlmOlBpeGVsWURp bWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjIxNDwvZXhpZjpQaXhlbFhE aW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNl ckNvbW1lbnQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBt ZXRhPgqVYBMUAAAAHGlET1QAAAACAAAAAAAAAFQAAAAoAAAAVAAAAFQAAA26fiUx/QAADYZJREFU eAHsnXdoFc8TwOcSS8SC/iHYUbB3VMSCIFgRsWEvoIhibIh8U37GxJ7EKJbEQowaG0bNV7ErdlRE wYJYEUWxpagxlm96cr+Zeb4zL76YOy93z7w3C8l7d7e7t/tJht2dnZ1RDm6PUlUVIC8vH96lfoDQ 5bFgJL1//56zN2jQwEgxySsEvJqAciAhUlUUBbJzciEFBSt4WSz4+fnp7rQIlm5UktGHCLBgUX9z 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 Dx/E5TYo6EHjAAAAAElFTkSuQmCC --Apple-Mail=_E7F5FFEF-F6D3-4E67-BB8E-DE58A9EF584A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 That=E2=80=99s because before the user types the final =E2=80=9C/=E2=80=9C= , there isn=E2=80=99t a complete comment node in the parse tree. When = the user types the =E2=80=9C/=E2=80=9C, we need to mark the whole block = comment for refontification. We actually have that, when the parser reparses, it=E2=80=99ll also = compute the affected region, the region that changed during the last = reparse, and it=E2=80=99ll call the =E2=80=9Cnotifiers=E2=80=9D with = that region. We install a font-lock-notifier, which simply sets = fontified text property to nil in that region, so redisplay would call = jit-lock to fontify that region. In our example, the region would be the block comment. >> We might need to run (progn (force-parse) (update-ranges) = (force-parse)) >> before jit-lock-fontify-now and sytax-ppss. >=20 > Why would we need that? The first force-parse is just to make the parser reparse the latest = buffer content, then we need to update ranges of any embedded code, then = we would want to make the parser for the embedded language to reparse, = if their range has changed. After this process, all the parsers has the = up-to-date parse tree, and more importantly have called their notifiers, = those notifiers should apply fontified text prop, and apply any syntax = text prop. Yuan= --Apple-Mail=_E7F5FFEF-F6D3-4E67-BB8E-DE58A9EF584A--