From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.bugs Subject: bug#56682: Fix the long lines font locking related slowdowns Date: Wed, 03 Aug 2022 21:37:39 +0000 Message-ID: <5f6988c781a5686a88d1@heytings.org> References: <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> <74ddc877f1e81f399eea@heytings.org> <74ddc877f14320d7852f@heytings.org> <5f6988c781f1253541e3@heytings.org> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17441"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 56682@debbugs.gnu.org, Eli Zaretskii , Dmitry Gutov To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 03 23:38:19 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 1oJM4I-0004Oc-Fu for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 03 Aug 2022 23:38:18 +0200 Original-Received: from localhost ([::1]:43460 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oJM4H-0004b7-F7 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 03 Aug 2022 17:38:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57970) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJM42-0004ar-U8 for bug-gnu-emacs@gnu.org; Wed, 03 Aug 2022 17:38:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60493) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oJM42-000186-Lb for bug-gnu-emacs@gnu.org; Wed, 03 Aug 2022 17:38:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oJM42-0006gx-HT for bug-gnu-emacs@gnu.org; Wed, 03 Aug 2022 17:38:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 03 Aug 2022 21:38:02 +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.165956266325697 (code B ref 56682); Wed, 03 Aug 2022 21:38:02 +0000 Original-Received: (at 56682) by debbugs.gnu.org; 3 Aug 2022 21:37:43 +0000 Original-Received: from localhost ([127.0.0.1]:50242 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oJM3i-0006gP-Vk for submit@debbugs.gnu.org; Wed, 03 Aug 2022 17:37:43 -0400 Original-Received: from heytings.org ([95.142.160.155]:37518) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oJM3g-0006gG-Or for 56682@debbugs.gnu.org; Wed, 03 Aug 2022 17:37:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20220101; t=1659562659; bh=1kqaUTN7TJQL6zyOWg3/an6gurvia3WDEs2fzdVwnfM=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=7HPivLOsCWGGv5/5PlxU6fHha0Ofj6QQhrogE1BcPfSzsEsqG1BFiG70s1gwPVPIM +R4C/qYB8ExTeie2b9o0zZ8T9jyOhrwFpKJsXuDXBIE9ZUW8fDBUiAsGJcvAVbtukK FIsEfJ5qpD2oMPiGWS0WXtiPnr2S0hpFdyxGI94n3Kjz5T55jCnNl0P55P5TfJYtWf iZNqtbnU+ZxBlYISyJmpgLc9uJTvF2tzoaTZ5iEQxt93cKN8CBdpSmGFyrdJXlTIXU gWBTzKCRvFwLNGPSUlv3qqI+2qevprlGX2sPwZuf/u87zN85k+LB1NQXfbh85Kt0Zn lYpwT2Pj57JZQ== In-Reply-To: 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:238653 Archived-At: > > Also, I'm trying to imagine scenario that leads to such an abuse: > > - under normal circumstances, there are no long lines, so they'll never > hit a "locked" narrowing and it will thus never occur to them to use a > `widen-unlock`. > > - when they get a bug report with a locked narrowing because of long > lines, using `widen-unlock` naively is likely to lead to an immediate > performance problem, so it's unlikely they'll use it. > When I read this, I thought you had a point, but there's a fallacy in your reasoning: using widen-unlock is in fact not likely to lead to an immediate performance problem. The long-line-threshold limit is sufficiently high to never be reached in "normal" files, but nothing would happen if you cross that limit by a small amount, and nothing would even happen at twice or even thrice that limit. If a mode author gets a bug report that is caused by locked narrowing, there is something wrong in the way the mode fontifies the buffer. There is no reason to require access the whole buffer to fontify a small chunk of that buffer. IOW, using widen-unlock there is nearly always wrong (I add "nearly" to leave open the possibility that there might be an exception). This is becoming so litigious (you're now telling me that you're offended) that I start to believe that the right thing might in fact be to completely disable font locking in such buffers. Would "no highlighting" be better than "occasional mis-highlighting" from your point of view?