From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#56682: feature/improved-locked-narrowing 9dee6df39c: Reworked locked narrowing. Date: Tue, 31 Jan 2023 18:25:09 +0200 Message-ID: <4cfe1fd7-4f54-0aff-7f41-f76a94c331e1@yandex.ru> References: <166939872890.18950.12581667269687468681@vcs2.savannah.gnu.org> <20221125175209.51166C004B6@vcs2.savannah.gnu.org> <6c9d91cffc1bfd801530@heytings.org> <6c9d91cffc394613f58a@heytings.org> <83eds0ksev.fsf@gnu.org> <8aadf0ddd54c85c8144a@heytings.org> <831qnhg3d9.fsf@gnu.org> <9757fbea37611e9c44b9@heytings.org> <83cz6yacxt.fsf@gnu.org> <6943e04e30e5a02a52e6@heytings.org> <838rhk5fy1.fsf@gnu.org> <6943e04e30a40824e107@heytings.org> <83k0143q37.fsf@gnu.org> <94821a0ef100102ac9e0@heytings.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6979"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: 56682@debbugs.gnu.org, monnier@iro.umontreal.ca To: Gregory Heytings , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jan 31 17:26:27 2023 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 1pMtSl-0001Zt-Cq for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 31 Jan 2023 17:26:27 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pMtST-0000RC-6T; Tue, 31 Jan 2023 11:26:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pMtSN-0000QV-Ah for bug-gnu-emacs@gnu.org; Tue, 31 Jan 2023 11:26:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pMtSN-0005vC-2W for bug-gnu-emacs@gnu.org; Tue, 31 Jan 2023 11:26:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pMtSM-0004MT-CV for bug-gnu-emacs@gnu.org; Tue, 31 Jan 2023 11:26:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 31 Jan 2023 16:26: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.167518232116706 (code B ref 56682); Tue, 31 Jan 2023 16:26:02 +0000 Original-Received: (at 56682) by debbugs.gnu.org; 31 Jan 2023 16:25:21 +0000 Original-Received: from localhost ([127.0.0.1]:54812 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMtRh-0004LO-3S for submit@debbugs.gnu.org; Tue, 31 Jan 2023 11:25:21 -0500 Original-Received: from mail-ed1-f45.google.com ([209.85.208.45]:36625) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pMtRd-0004Ku-KA for 56682@debbugs.gnu.org; Tue, 31 Jan 2023 11:25:19 -0500 Original-Received: by mail-ed1-f45.google.com with SMTP id u21so14926059edv.3 for <56682@debbugs.gnu.org>; Tue, 31 Jan 2023 08:25:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=++wZ8EQvfMB79pEY3sTwHDbCQUuI3Yny5EWbFoyPSVQ=; b=mh/5WGrG7MxRRFvTuMt6khOygfV6+MXgzw8sdt7U6oID8Vgo6JSrTxoLkko7aVla+K pbpOhEMUlOY9FgOQ8r7MgIDTUA4y7dYJCclhmCKtXrDViqJ076EWBxqMqR1K+1dvqF/Q VFOwu/tNFMvL+uKV0xrMO0OYrM2F1o/By+cJDgFt8uvfEYM0c01IXfpS7UIGY8TelD9g RKEo7Wq5n+WIfuLTb/J9H6fkZvQueG1QpWXHrMDAdFfJVjcDIMN+FehPTWu3QiZwS7G1 94pVizktDl7SGyRysl8zJDoJBmgoPsu0so0jzRzYGFMJ3tuWSYElJeyRR1Fq7Ye4GLZf rRvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=++wZ8EQvfMB79pEY3sTwHDbCQUuI3Yny5EWbFoyPSVQ=; b=3JbAIgIo7Zp92Qp8fMGkUKL1po15a1m5ptt9lW6cnBdN5RZIeuZif0k9HotjqUVV2n Ynb7sDPKj8bBSGnU14gLhb7C4va2yMgWytoyNPIRkFQzd180nZVUFAGwJPXhk3Hjvigx vmbmJeRlPKnS4zEWM/em4f2CtEjtcPCJnaMxm6y8FAHTsHknRzb5KRXjqCYSjqIBdjfq LNDkLMKYq4irsqLkiBc1iaW/nH45ttPGk/kP2+HgYZX3uaV2aeOY9Qe/VkMCukVUwSbX ICdKjBDaGYLboKgCrfDmYDfODN5g8Kb3TA2iB5vuymj+3kb2AuH3TY2f6GdhPIYG19g3 ueHg== X-Gm-Message-State: AO0yUKWV+SVBQW0tngAPQisnmPAUeEV5XnJZ5bRoEfooio9mq7a2uJJa 4QgelCv/cyvRbUthA7WZ9XQ= X-Google-Smtp-Source: AK7set/MeIAHdoz0HDcVAbtcZQ07b5P92z35UdSJVxB+2oQcMObTLBYk9LDfxsqvSnXgeYuZnRddSg== X-Received: by 2002:a05:6402:540a:b0:4a2:20ba:71e5 with SMTP id ev10-20020a056402540a00b004a220ba71e5mr15773436edb.26.1675182311519; Tue, 31 Jan 2023 08:25:11 -0800 (PST) Original-Received: from [192.168.0.2] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id b18-20020a0564021f1200b004a27046b7a7sm772722edb.73.2023.01.31.08.25.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 31 Jan 2023 08:25:10 -0800 (PST) Content-Language: en-US In-Reply-To: <94821a0ef100102ac9e0@heytings.org> 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:254535 Archived-At: On 31/01/2023 17:14, Gregory Heytings wrote: > >> >> So we are removing all the stuff that prevented font-lock from slowing >> down redisplay when long lines are in the buffer?  IOW, something >> which we have for several months, and which so far brought up only one >> complaint?  Frankly, this makes no sense to me, unless we delay the >> pretest for another half year or so.  It's too late for such changes. >> >> Or am I missing something? >> > > I looked with a critical eye at the code I wrote, and concluded that the > cure is worse than the disease. > > It's true that some slowdowns caused by font-locking are prevented by > locked narrowing, but: > > 1. The slowdowns caused by font-locking were not the major cause of > slowdowns in buffers with long lines.  They were the "last step" to make > editing operations in such buffers as fast as possible, and my opinion > now is that that last step was a step too far.  Efficiency issues in > font locking routines are the responsibility of mode authors. > Efficiency issues in the redisplay routines are the responsibility of > Emacs, and have been dealt with. FWIW, I happy you reached that POV. > 2. Locked narrowing does not prevent all slowdowns caused by font-locking. > > 3. Locked narrowing can create slowdowns (e.g. infinite loops) that do > not exist when it is not present. This could be a pretty good argument. When testing in larger files, I did notice some performance kinks I could not easily explain, nor stably reproduce. Speaking of additional slowdowns, though, at least in theory -- both syntax-ppss and tree-sitter drop their current parse result when point-min changes. So it an already fully parsed buffer (which applies more often to tree-sitter, though), scrolling through the buffer and fontifying should cause caches to drop to be recomputed again when the narrowing changes. Though that particular effect might not be too noticeable, since those features are rather fast in a 50000 region.