From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: cc-mode fontification feels random Date: Mon, 14 Jun 2021 10:39:49 -0400 Message-ID: References: <86a85d26-75c0-e4a3-e8d3-244c5346dd3a@dancol.org> <83r1hehnz9.fsf@gnu.org> <83lf7mhl3n.fsf@gnu.org> <73ff18bf-66dc-7d7a-a0db-8edc2cdceba8@gmx.at> <4140fcf4-3119-3f3f-4ac4-24d497774754@gmx.at> <874ke2ulhc.fsf@gmail.com> <706b6214-5a85-3b47-3851-bb7742a066af@gmx.at> <87r1h5u6qp.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40155"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= , Richard Stallman , emacs-devel , Alan Mackenzie , Eli Zaretskii , Daniel Colascione To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jun 14 16:41:17 2021 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 1lsnm7-000AES-O1 for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Jun 2021 16:41:15 +0200 Original-Received: from localhost ([::1]:46808 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lsnm6-0008UR-MZ for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Jun 2021 10:41:14 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39884) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lsnks-0007Iz-9U for emacs-devel@gnu.org; Mon, 14 Jun 2021 10:39:58 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:56136) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lsnkp-00029y-ER; Mon, 14 Jun 2021 10:39:57 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B50F1100234; Mon, 14 Jun 2021 10:39:51 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 6BC5C1000C4; Mon, 14 Jun 2021 10:39:50 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1623681590; bh=OGNKx3VomDTckvdc951E6eklBjreBEqrAPiRSePGcKA=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=j8WeVrT0CXvsbYvGt7tPP/AYKMia4wOrnKzvn7ceVRSyfSaLQVB0EJoodt69MM9J5 YG+MdB5hz4I60+/4iSieApYvhHr0b8tTxBFdf6eynz/h6ywQYjA75pQyybyhuDcigV JKsO8NQo9trLCa1ziASr5QgIcDax4a/ri183kAbiowZpa7aXSKWvIgoYeA9JhYRv1e Ae2iT4z8rMCspwO1bdaicCqTvLYEmYsZjnJ7HtIwF7TyjAF0VwsrizPHw4Fhb2T2Cu 2zWzSZlCEL3pktgPR2m5tzoFmvHdnJZeqiNfPSRpq8FSyy+4kRK9ACwkcsGvIpU068 S+58aih0Cxw7A== Original-Received: from alfajor (69-196-163-239.dsl.teksavvy.com [69.196.163.239]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 216AA120470; Mon, 14 Jun 2021 10:39:50 -0400 (EDT) In-Reply-To: (martin rudalics's message of "Mon, 14 Jun 2021 10:29:27 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:270813 Archived-At: > It is undocumented practice to steadily undermine the role of > `open-paren-in-column-0-is-defun-start' in all modes with > `beginning-of-defun' the only place left where it currently has any > impact. You seem to attribute malice to the perpetrators (e.g. yours truly ;-). Here's my reasoning: `open-paren-in-column-0-is-defun-start` was used at a few different places which feel into two categories: 1- `beginning-of-defun`, where the effect is clear, deterministic, and reliable. 2- The rest (mostly `back_comment` in src/syntax.c, but also in some parts of font-lock which used `beginning-of-defun`) where the effect was not clear and reliable, it was a form of optimization which took effect in some cases but not all. Part (2) has disappeared now, replaced by the `syntax-ppss` cache which gives more reliable optimization (both in the sense that it speeds things up more reliably and that it gives a more reliable behavior). You liked some of the side-effects of (2), apparently. I can agree with that, but the old code did not really provide the feature you describe (e.g. an unclosed comment/string in one defun would not magically stop from "bleeding" into the next defun, although in some cases it indeed did stop bleeding at some buffer position which depended on how the chunks of text happened to be rehighlighted). So, I suggest you implement the behavior you describe (you might be able to do that fairly easily by taking some of the code used for multi-major-mode support (since those also need to confine syntax-propertization and font-locking in separate blocks)). Stefan