From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#56682: Fix the long lines font locking related slowdowns Date: Tue, 02 Aug 2022 17:18:16 -0400 Message-ID: References: <05388e8d8812bfa3695d@heytings.org> <83v8rf5894.fsf@gnu.org> <65cb7c73fd4a999cca00@heytings.org> <8c7321f2f3400a5db9be@heytings.org> <8c7321f2f388e5343475@heytings.org> <6ea376f6-d503-06d8-6d83-50c52b695394@yandex.ru> <8c7321f2f3ac52bfee4b@heytings.org> <8c7321f2f3ec1ef81af9@heytings.org> <02e83b0e-1b5c-fe75-6e59-1f8ddff82d37@yandex.ru> <96f28fd8-6744-1925-0631-0095099362dd@yandex.ru> Reply-To: Stefan Monnier Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29061"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: 56682@debbugs.gnu.org, Eli Zaretskii , Dmitry Gutov To: Gregory Heytings Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Aug 02 23:19:13 2022 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 1oIzIF-0007Oj-Qo for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 02 Aug 2022 23:19:12 +0200 Original-Received: from localhost ([::1]:46310 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oIzID-0000iR-8U for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 02 Aug 2022 17:19:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40050) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oIzI6-0000iG-GQ for bug-gnu-emacs@gnu.org; Tue, 02 Aug 2022 17:19:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55457) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oIzI6-00066m-6H for bug-gnu-emacs@gnu.org; Tue, 02 Aug 2022 17:19:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oIzI5-0002P2-Sw for bug-gnu-emacs@gnu.org; Tue, 02 Aug 2022 17:19:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 02 Aug 2022 21:19:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56682 X-GNU-PR-Package: emacs Original-Received: via spool by 56682-submit@debbugs.gnu.org id=B56682.16594751179203 (code B ref 56682); Tue, 02 Aug 2022 21:19:01 +0000 Original-Received: (at 56682) by debbugs.gnu.org; 2 Aug 2022 21:18:37 +0000 Original-Received: from localhost ([127.0.0.1]:45206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oIzHh-0002ON-6E for submit@debbugs.gnu.org; Tue, 02 Aug 2022 17:18:37 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:29609) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oIzHf-0002O8-06 for 56682@debbugs.gnu.org; Tue, 02 Aug 2022 17:18:35 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 2E77E4421D5; Tue, 2 Aug 2022 17:18:29 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B5E7C4421F5; Tue, 2 Aug 2022 17:18:23 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1659475103; bh=28oKeUoVUIeNKeQugJf+2+cZJxFbmseJv8N105ZyLEM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=JRZ5WavaA4H1M6dhoMBVm2/A8chEbCHlsOZcUNMZM7hElwTlaRg2mfMYyczIjNz4l k/AbJ/W+8o/Napc+GqHogNYbNss5evYIntsXPH7F9puRavkF2BFhvb1KSTJM0TWjcg kyff7/Zbds4miDw1I6BhRhtyK6/3nHqxxOPPhvKE09pO7ORIHANAz9+23jTD66G/s3 lqHE9/0lyjS1a9ZfQkZ2hmvNRdlfqI4Q2vlYJ+q1U3CuaE81Wn1xgCn/z97Nut488k ShZLmLKoE942JC9TVAwP3wz3eTnffJTAEMGv03TaMErymqA4D5oNBOBx7Mnr/saI2L /im/Bo+nDLcUA== Original-Received: from milanesa (unknown [46.44.221.102]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 854F11201B8; Tue, 2 Aug 2022 17:18:22 -0400 (EDT) In-Reply-To: (Gregory Heytings's message of "Mon, 01 Aug 2022 11:01:23 +0000") 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" Xref: news.gmane.io gmane.emacs.bugs:238584 Archived-At: > It is necessary to add a locked narrowing around > fontification-functions and pre/post-command-hook to ensure that Emacs > remains responsive. It's neither necessary (it's perfectly possible to do something quickly that just needs to look at the first few lines of the buffer to decide in which way to parse the nearby surrounding bytes, for example) nor sufficient (it's easy to spend minutes wasting time running in circles because of a bug, e.g. a bug triggered by the fact that the "unusual" nature of the visible part of the buffer after an arbitrary narrowing). It's very useful to get closer to this goal like your code does, but let's keep things in perspective. Stefan