From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: font-lock-syntactic-keywords obsolet? Date: Tue, 21 Jun 2016 02:30:44 +0300 Message-ID: <6e028101-2f0f-28c8-2762-14fa91087fcc@yandex.ru> References: <20160619145934.GC5875@acm.fritz.box> <6bc7b3bc-ddb7-c041-9f68-f8b5faeca63b@yandex.ru> <20160619151836.GE5875@acm.fritz.box> <1d4c62e6-905b-4a51-28b8-e68169fb3269@yandex.ru> <20160619153455.GG5875@acm.fritz.box> <11c988f0-94c0-40dd-b9cd-5a5e27028b63@yandex.ru> <20160619171531.GH5875@acm.fritz.box> <751427e7-f305-7790-99f5-dea230d8e6c4@yandex.ru> <20160620105850.GB3166@acm.fritz.box> <23d7473e-50da-b6dc-17a7-1fec4aad6bfa@yandex.ru> <20160620152535.GB2192@acm.fritz.box> <076b7311-ad16-4913-b0ec-fc73ea4550a1@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1466465469 28055 80.91.229.3 (20 Jun 2016 23:31:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 20 Jun 2016 23:31:09 +0000 (UTC) To: Alan Mackenzie , Noam Postavsky , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 21 01:31:03 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bF8ek-0002tv-Mt for ged-emacs-devel@m.gmane.org; Tue, 21 Jun 2016 01:31:02 +0200 Original-Received: from localhost ([::1]:47064 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bF8ej-0002o4-Tj for ged-emacs-devel@m.gmane.org; Mon, 20 Jun 2016 19:31:01 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36367) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bF8eb-0002m8-UM for emacs-devel@gnu.org; Mon, 20 Jun 2016 19:30:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bF8eV-0000xE-V3 for emacs-devel@gnu.org; Mon, 20 Jun 2016 19:30:52 -0400 Original-Received: from mail-lf0-x231.google.com ([2a00:1450:4010:c07::231]:34837) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bF8eV-0000x0-NW for emacs-devel@gnu.org; Mon, 20 Jun 2016 19:30:47 -0400 Original-Received: by mail-lf0-x231.google.com with SMTP id l188so50524004lfe.2 for ; Mon, 20 Jun 2016 16:30:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=rwZrqZqLY1H6mpSrxM75ubfWFjjb6TkaD5tBzY3t2P0=; b=JRcMpBKHemdNfIANd4sPclc2cEXBTo+mzKdLPY8T5AAMYeh+W3CteO6NTUjlX4H2GZ gIETTq50AUhb5LSXxQV8j6u180bhtchSu3sM2DjXQVQO+DGJw/nkoNZ6QjCSxzlgk+dF wzvPX4aN01ueKcZHZBD8jlirbcDc1oaw538j7hkpvwio9CVAr98eCL8QIADo7fGjSZKW wqGSZLAC42VOKqplmPs5T1/AH3ARABS10nfH8j6NIHeplEMJpoSCLSdclFWsSKLXMLZz xLGo3JbVEdNfPDoOJmox7AXMy1Hy8SqEoze/WHp4UrbPtY6IOwEajAZ5hvY1mbgYHogY JUyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=rwZrqZqLY1H6mpSrxM75ubfWFjjb6TkaD5tBzY3t2P0=; b=f+J6J9Iq3/zptyXxAenG0XpmftTBF6aJgDpLh8MBZ7K6HK3rcaDYPZVI3iUCcBObTp L2f23WWLPLtivZU3sI+wJraENB8F03zPF9HkWbVfnbX3LMpeaX9Q6ux7CvGmKDztQT1M eo2KmBhg1M2noA1rCfP+bLdNILyWY5ZgxQC/WrJTnucBnzUmG+RF1+ErYHxe1xGodgTG /EAcDGQNRvAbS/DBFQ24R6+aq0qp5k4rhOoNBW83fSRBd+EOlT8HYu8JirP32E3CDAFj emVexehy3waOpNhx5itWaJHYtsVqmPkjHCBvJZk7zKmblODm1PFwPeS/YuMTU2R9lJE0 vzKA== X-Gm-Message-State: ALyK8tKic8GyTEBgIH1BadP0GuPDprLYc6WAS5rUdRfvi5ELdi7Sz9dBxAFE0T1vLYyI3A== X-Received: by 10.28.125.71 with SMTP id y68mr325468wmc.103.1466465446739; Mon, 20 Jun 2016 16:30:46 -0700 (PDT) Original-Received: from [192.168.1.2] ([185.105.173.135]) by smtp.googlemail.com with ESMTPSA id c74sm30508wme.1.2016.06.20.16.30.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Jun 2016 16:30:45 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:4010:c07::231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:204619 Archived-At: On 06/21/2016 01:45 AM, John Wiegley wrote: > There is really no need for this kind of tone. Alan is striving to solve a > problem; No, he's not. He doesn't have a specific problem he's trying to solve, just a lot of opinions and one flimsy, tangentially related, bug report. What he's doing, third time around now (?), is making misleading comments in public, then arguing a lot, and never budging in his stance one iota. If you think my comments are not helpful, I can shut up, of course. And save a lot of time doing that. > let's help him find the best solution, rather than criticizing his > efforts. If before/after-change-functions is not a general solution as-is, all > we need are some examples to demonstrate this. I gave several explanations and examples. There is no way I can continue doing that if the explanations are waved off with opinionated "bad design" comments, and examples with "I've never had that kind of problem". Here's an example in Ruby: a = `def b = :` If you add ` at the end of the first line, the code will have one meaning (with the last ` character having syntax-table property "symbol"). Without it, another meaning, and no syntax-table property on the last character. Now mentally insert 300000 lines of code between these lines, none of them containing the character `. And imagine yourself adding and removing the ` character at the end of the first line. If Emacs is supposed to keep the syntax-table value on the last character up to date using after-change-functions, it will have to scan the whole 300000 line buffer after every keypress. Addendum: With clever enough caching (to be implemented by someone highly motivated), I suppose it's possible to avoid having this problem on *every* keypress. But having to do that even on some of them is bad enough.