From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Newsgroups: gmane.emacs.devel Subject: Re: [SPAM UNSURE] Re: How to add pseudo vector types Date: Wed, 21 Jul 2021 13:12:16 -0400 Message-ID: References: <83h7gw6pyj.fsf@gnu.org> <45EBF16A-C953-42C7-97D1-3A2BFEF7DD01@gmail.com> <83y2a764oy.fsf@gnu.org> <83v95b60fn.fsf@gnu.org> <00DD5BFE-D14E-449A-9319-E7B725DEBFB3@gmail.com> <83r1fz5xr9.fsf@gnu.org> <1AAB1BCC-362B-4249-B785-4E0530E15C60@gmail.com> <83czri67h0.fsf@gnu.org> <46BBFF88-76C3-4818-8805-5437409BEA93@gmail.com> <83wnpq46uk.fsf@gnu.org> <533BD53B-4E85-4E9E-B46A-346A5BBAD0F5@gmail.com> <258CB68D-1CC1-42C8-BDCD-2A8A8099B783@gmail.com> <1a776770-50b7-93cd-6591-c9a5b3a56eb8@gmail.com> <86a6mh54ko.fsf@stephe-leake.org> <680f895c-a787-0a05-d29e-f90525cbc376@gmail.com> <86k0lj4nfu.fsf@stephe-leake.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30682"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jul 21 19:13:25 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 1m6Fmf-0007qk-CI for ged-emacs-devel@m.gmane-mx.org; Wed, 21 Jul 2021 19:13:25 +0200 Original-Received: from localhost ([::1]:42498 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m6Fme-0004g4-D4 for ged-emacs-devel@m.gmane-mx.org; Wed, 21 Jul 2021 13:13:24 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59846) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m6Fld-0003Ot-Mb for emacs-devel@gnu.org; Wed, 21 Jul 2021 13:12:21 -0400 Original-Received: from mail-qt1-x82b.google.com ([2607:f8b0:4864:20::82b]:43574) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m6Flb-0001G1-8G for emacs-devel@gnu.org; Wed, 21 Jul 2021 13:12:21 -0400 Original-Received: by mail-qt1-x82b.google.com with SMTP id c13so2351250qtc.10 for ; Wed, 21 Jul 2021 10:12:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=+B263N+poZKc9N3jklYAuO76YRU+L2Hd6Mza++B0Vp0=; b=dBz5wRZfRKGuspP5l6733TbjLJYThwOlKdPI3G0TAb24ATJPIbpABnMQ7aitcb3QdL pwqWcjj/LlcJdci5NRJEsr89NNEYbxJ66twP1XJb3f/UCR7fZELuClkf0PAY5j27h72g u5WqdjLjn2f4CydmgsAWPOmJy6A7sfI2Xwhp5YN4WF4CtkwOq+7KG4RtLGuRWwpW3VzT i5Y8OnMX2PnVZHWJpxTVoEwF8XhVSv+m8jvPmjfcqF2hKH7XSccWDuQJ8kBng+xSpg1H Elj7xSff+VL6QDFXbfLq8y0oE1j+AoxTNvQx1+roY5pAU433GjHuqVW2j3ccZMt/4eFB G/VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=+B263N+poZKc9N3jklYAuO76YRU+L2Hd6Mza++B0Vp0=; b=Mlhcs3zItu6zBn9Zzu0UEYsLe/tYh6rlJa2edNV8Yml0nmECD4elyS6O6Q3cUXWJql bex/Fi/ZgFhm5EqqqXWOpHcHu6sJ/0V9jfy2V9g08w9Ke13EKVZLLH7TJDR+Fazl1mTV YzLzbENUNvikaW+t1AYRL0C/qZD3Bp9P5Yci9ZTMHTgq2qsTjXY7/myG2cIzGXi8gvCz x57XvWfOLvy72Tsydmq16QVRpM+PMEYq0AWV/RY0c2sFieC0f8GEqfKgogYWIFXtZtEl XV65vlkDRGQy8JHUrh/jvNOwyY6UtPLQNPU8l1suFGcf91UHUlowmEMkJGXewcJ1aFmT P/+w== X-Gm-Message-State: AOAM532Y3Sp8s9kJHdbU3PNbBmsmfzGMOPMaG0hyoCw0xQeZX/pKTZmc 9j3ZBjclWEzy/MmUuiX66elxh2Pzl6I= X-Google-Smtp-Source: ABdhPJzykE93TYrsP6GAreEdL2JN2scu5KZCS6OzROn7EGuaN4B421nSxctER7RyzhrJ+DV5DDoBWg== X-Received: by 2002:ac8:5dc7:: with SMTP id e7mr3456717qtx.94.1626887537941; Wed, 21 Jul 2021 10:12:17 -0700 (PDT) Original-Received: from [192.168.1.11] (c-24-61-240-80.hsd1.ma.comcast.net. [24.61.240.80]) by smtp.googlemail.com with ESMTPSA id g76sm11435906qke.127.2021.07.21.10.12.17 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 21 Jul 2021 10:12:17 -0700 (PDT) In-Reply-To: <86k0lj4nfu.fsf@stephe-leake.org> Content-Language: en-GB Received-SPF: pass client-ip=2607:f8b0:4864:20::82b; envelope-from=cpitclaudel@gmail.com; helo=mail-qt1-x82b.google.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.117, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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:271422 Archived-At: On 7/21/21 12:54 PM, Stephen Leake wrote: > Hmm. Perhaps you are not talking about interrupting the parse; you are > assuming that the parse for each change completes before the next change > arrives. Neither of these. I'm assuming that you open a file, launch a parse, batch up changes until that first parse completes, then launch a second parse, during which additional changes are batched up, then launch a third parse, etc. Any time you actually need the info (for navigating, or for fontification, or…) then you either use the last parse if it was recent enough, or (more likely) you block until you can complete a synchronous parse. This helps if you run a slow, blocking operation that edits the buffer. Not so much otherwise, indeed. > It still means fontification has to wait for the parse to complete > on all of the changes; it's synchronous in the sense that no user > actions on the buffer are allowed between the time fontification is > requested and the time text properties are applied. Sure, sure; but hopefully that time is shorter than if the parser hadn't received a headstart. Also, note that my original suggestion was mostly about the initial parse: > I have no idea if it makes sense, but: does the initial parse need to be synchronous, or could you instead run the parsing in one thread, and the rest of Emacs in another? If the initial parse takes a while, you would have no fontification at all for the first seconds, if that's what it takes to parse your buffer (font-lock wouldn't block, it'd return immediately). Then, after that initial parse, you would switch to a blocking mode every time you need info. That should be fast if the buffer hasn't changed too much. If it has changed a lot, then you could revert to a non-blocking parse, while abandoning fontification for a little while.