From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: cc-mode fontification feels random Date: Tue, 08 Jun 2021 18:46:40 +0300 Message-ID: <83pmwwe4v3.fsf@gnu.org> References: <86a85d26-75c0-e4a3-e8d3-244c5346dd3a@dancol.org> <83r1hehnz9.fsf@gnu.org> <83lf7mhl3n.fsf@gnu.org> <83h7i9ho6j.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19515"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, dancol@dancol.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jun 08 17:54:31 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 1lqe3j-0004tP-H9 for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Jun 2021 17:54:31 +0200 Original-Received: from localhost ([::1]:43200 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqe3i-0001bD-Hb for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Jun 2021 11:54:30 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53756) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqdwR-0001qg-Dg for emacs-devel@gnu.org; Tue, 08 Jun 2021 11:47:00 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:37382) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqdwP-0004MF-9Z; Tue, 08 Jun 2021 11:46:58 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3375 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqdwO-0003KH-Tb; Tue, 08 Jun 2021 11:46:57 -0400 In-Reply-To: (message from Stefan Monnier on Tue, 08 Jun 2021 11:22:21 -0400) 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:270573 Archived-At: > From: Stefan Monnier > Cc: acm@muc.de, dancol@dancol.org, emacs-devel@gnu.org > Date: Tue, 08 Jun 2021 11:22:21 -0400 > > >> E.g. in ELisp, what looks like a defun might actually be in the middle > >> of a string and there's no reliable way to know if something's in > >> a string other than to parse from BOB. > >> In C the situation is somewhat similar but for comments. > > > > So you are saying we need that just to know where the current defun > > begins? > > Not really: the dependency goes the other way around. > > The real question is "given a POS determine whether it is inside > a string or a comment or neither", which we need in all kinds of > circumstances (sometimes we need a bit more info than that, of course, > but this one is the killer). > > Approaches like `open-paren-in-column-0-is-defun-start` try to answer > this question without parsing from BOB by making an assumption that if > something looks like a defun, then it is neither inside a string nor > a comment. Then I guess you are not describing what CC Mode does, do you. Which is the subject of this discussion, AFAIU. Doesn't CC Mode go to BOB _a_lot_, and not just to determine whether we are inside a string or a comment?