Received: (at 81317) by debbugs.gnu.org; 3 Jul 2026 15:10:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jul 03 11:10:01 2026 Received: from localhost ([127.0.0.1]:52311 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wffWf-0000oS-2y for submit <at> debbugs.gnu.org; Fri, 03 Jul 2026 11:10:00 -0400 Received: from mout-p-101.mailbox.org ([80.241.56.151]:46652) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1wffWZ-0000nV-Uh for 81317 <at> debbugs.gnu.org; Fri, 03 Jul 2026 11:09:54 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA512) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4gsHGt0HlTz8v1b; Fri, 03 Jul 2026 17:09:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1783091382; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=LLFMih5yh227ynT3MFOb2v2sbzp4PfVt6GY/cwZ2xvY=; b=Ji1L77vuwvqc7y/ghZoJkd8a5T412Gf0OV7ns0ZwpqINIkNsnPfLA1dn8PF9FipSGuqGGs whn4+HD5kVo/m7rSZyKPakb/y4P0W/1Pvyd936YQ+zIA/i4prk/W9Ho+sWXB0ROIVapZLr zSyqGvredzvLlmiNIxD0OtqQA04lFHGC+sbrol4wvmsrCP8svJPHcDCeU6uNwdRuYRcNvo dO1Dja/B00TlUnHxCC9rk4CPPdPzI1XR9lPpp5XihfKJ4U0i1NNnx6sOn+IUTS12pTVLyd nbXgHZeAqRB/01Dja/SsnvdOJOeLeg6tuSCve5RX95gFuKwnQzgRzk4L+ZjmAQ== Authentication-Results: outgoing_mbo_mout; dkim=none; spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates 2001:67c:2050:b231:465::1 as permitted sender) smtp.mailfrom=juri@HIDDEN From: Juri Linkov <juri@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> Subject: Re: bug#81317: project-vc-cache might be too optimistic In-Reply-To: <53b6f103-0fd2-4d32-a7b4-7e7165adae93@HIDDEN> Organization: LINKOV.NET References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> <87bjct765v.fsf@HIDDEN> <3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN> <875x302iwz.fsf@HIDDEN> <d3a97d4c-0c2c-47c9-bce1-6cacc6d6f7b1@HIDDEN> <877bnesrpo.fsf@HIDDEN> <68799693-061e-49b2-9116-d347b7d9a21c@HIDDEN> <87y0fte6v1.fsf@HIDDEN> <53b6f103-0fd2-4d32-a7b4-7e7165adae93@HIDDEN> Date: Fri, 03 Jul 2026 18:01:36 +0300 Message-ID: <87a4s8jguf.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 4gsHGt0HlTz8v1b X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > project-mode-line-format - certainly (I've removed the non-essential > binding because the value is not used, unless we need it for non-prompting > Tramp). > > project-uniquify-dirname-transform seems more dubious because after > a project is renamed, or tagged with a root marker, the existing buffers > won't be updated. If you think it's okay to leave this manual work to the > user on those relatively rare occasions, I'll concede. IME on sluggish remote connections project-uniquify-dirname-transform was too slow without non-essential caching timeout. Whereas renamings were very rare.
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 2 Jul 2026 16:32:52 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 02 12:32:52 2026 Received: from localhost ([127.0.0.1]:43489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wfKLJ-00089u-JE for submit <at> debbugs.gnu.org; Thu, 02 Jul 2026 12:32:51 -0400 Received: from fhigh-b1-smtp.messagingengine.com ([202.12.124.152]:55661) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1wfKLE-00088R-L6 for 81317 <at> debbugs.gnu.org; Thu, 02 Jul 2026 12:32:46 -0400 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfhigh.stl.internal (Postfix) with ESMTP id 7FB8D7A0088; Thu, 2 Jul 2026 12:32:38 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-06.internal (MEProxy); Thu, 02 Jul 2026 12:32:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1783009958; x=1783096358; bh=3R7OK3mN8UTriHVOZGj9iJcaxoY2afeq/jhWTFJbNjk=; b= GVSipnaZSkebrGOxB04QdzPc9fiLDKYIzgtJyhEOZ4DyItFRP1H0b782PA5tGVnE q+jJ6dJwjxzA5t1VaxR2qyl2gKRWA/V9BFJkgrjeH/9q4cIBICm036DpF8smU2Mo hTW9xBsNCpiTgFdLQKUYjqIqRHT6gVTjR/7TuYhcpOVPeutVlmzQ5iBqQSZQcxOJ tQ0UOP2xIb4PACCpiKYLubbG89TJ/tuypFHQguMNg4eAeprkTQ5tjHBymN9j6Y+v gHN07jnE3hzbtUdxl7vHo0+7Yls24NRMV1mKt/DM01FQ+2jC7oHXEXDdimuO+MnV Qanojd9DNpANU/tnMweL0Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1783009958; x= 1783096358; bh=3R7OK3mN8UTriHVOZGj9iJcaxoY2afeq/jhWTFJbNjk=; b=Y qJA9AHUA4yJ/bIV/S9Ive4sIQdSjDnMg6m4zdYIF7ihnSs46E1ypPAaWAlDiPKEW OS7WqKopY18wNiu5ewdPIxhY/A1uD2dQQ2RXq2J47a0JNR9qoY0FLbSNTT1Gt5/J wamOHi5/s/94GX1SoIK5Jiz+x4L9Ss5BUJVRPWD5xW6SItzigOz2WmimWLnNyci8 AL9nGeprZY828zSXF95LqXkqA+HjIfs07j+n6LWgvDUPIhYbgIVWF5JW4zDMZ/wk L1f/wHIRpUaWKcwrJsAUzt774jR8WNcmR5XBRpb3eqXkH3cQvEyZqE/GJVzUnH3I AIPFkZzZ38ZvSCRx83TkQ== X-ME-Sender: <xms:pZJGaj_oAN01f_Imh_CpL4fWAPP4xHnnmNWK-ifIGIECMLv_T7axjA> <xme:pZJGams9Tgmg7Aegs-m2f_fdK4Bd8t5hV4z0RX0wP-pnQJNrr-nSQ4wDQLZypiHUG 5bSIDZLaGS8usKFboFuZWoPIGt-OZCnHFItemKKLrtXuwDMM6ZOv2Y> X-ME-Received: <xmr:pZJGamBWDBg-Wx_IfUJrXxCEY35PsoAhcEeLVbsCtK_hgBg0g4HBH7zIxgsnlSazoh38FQ> X-ME-Proxy-Cause: dmFkZTEh5xJhBgyiDezfnIFlkVIy1tscsMa2V2Orp/F6Opy8WA1MnYy/qlksAe4fwzuMfv ulz1kRud2R3dGDK112u8Bca4lV4YcLrD4vVGfh16iSEkVoixNug5W9zfdiTr/2MIuFa2kE CTCB2lD+2U/0Np714jTkR8x44Barl1KQgZ1ft9oPZ9HL2Fj6gbTUmwpgw45ktuSXNVoELy sjHWmEf4+Lmi30KkObb7+7V9DYiJVIg+VHLucnCv6lrivi9FWlHM2ckJnAk7GpVtaVyc8R kluGId9JitDFsQ1xdriH6oIg4msHHmF2BMv6C+MZFeEFgWUwDClfhyNGHOZORwHJl+kpIM J0CUSBKoy6OFxYqvHY2kDnVtD9ZWjALUY9D/Lfn6MUhmv+STOndhKM/1jxClbnunENIXrW xAPA9A2mJI2iDuDFI8A7TGQeT4qa0p5Ely3Ct554dL4nG+oEF0vsyKhFObsRVGIDrYVuPg R+1HMjcmvZX/Bu+mRpOiZNSub3yz6Ywc4ItD37x7qkAY63JVwDA2xdTc+Hoc4bdkesevNV mmWDZlhpKob3ewtIZogFTWNlz43KpdcK/rWgrJFx602g/SA9iDBw6r2AtIFqxnpUkR200W rRgidytiu/ia7BobB9w2RbdiQdFcBFBWGM9I1aP6jIKXadD7XvCD/JPSIyjw X-ME-Proxy: <xmx:pZJGauUUewwiOJjP9aDOsYjtIp7Jjla3nmxzIliWpfezsZH8_1mFpQ> <xmx:pZJGakDZimvZWPLc__Auo2si4Y0XmzmZzXIo2he5CahM-8t8oKbuaw> <xmx:pZJGah9O5J6F7ieS-rLFrfj1iN43NIi5MxsRZ2UCGxnX_7OjSvGjiw> <xmx:pZJGarEw5DNPyVDmvKaqlaDp6TLSaZll4Of5PCza1ZwbvAU-nYjuNQ> <xmx:ppJGapg0t0pbXevxa_7j6jNhZ5rtoeb3ijhH9meox5JjK07ejLg85rpl> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 2 Jul 2026 12:32:36 -0400 (EDT) Message-ID: <53b6f103-0fd2-4d32-a7b4-7e7165adae93@HIDDEN> Date: Thu, 2 Jul 2026 19:32:33 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#81317: project-vc-cache might be too optimistic To: Juri Linkov <juri@HIDDEN> References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> <87bjct765v.fsf@HIDDEN> <3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN> <875x302iwz.fsf@HIDDEN> <d3a97d4c-0c2c-47c9-bce1-6cacc6d6f7b1@HIDDEN> <877bnesrpo.fsf@HIDDEN> <68799693-061e-49b2-9116-d347b7d9a21c@HIDDEN> <87y0fte6v1.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <87y0fte6v1.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) On 02/07/2026 18:41, Juri Linkov wrote: >> Juri, what do you think will be the most interested callers? >> What do you think about project-uniquify-dirname-transform - should it >> actually use the "essential" cache timeouts for accuracy. > > I think that project-uniquify-dirname-transform > and project-mode-line-format that use project-name > should still use non-essential cache, because project > renamings are rare. project-mode-line-format - certainly (I've removed the non-essential binding because the value is not used, unless we need it for non-prompting Tramp). project-uniquify-dirname-transform seems more dubious because after a project is renamed, or tagged with a root marker, the existing buffers won't be updated. If you think it's okay to leave this manual work to the user on those relatively rare occasions, I'll concede. And it would be evidence that the current state is fine for the release. > BTW, double docstrings in tests detected: > > (ert-deftest project-try-vc-invalidates-cache () > "Check that it invalidates the cached value that's too old." > "Check that one can add wildcard entries." > (skip-unless (eq (vc-responsible-backend default-directory) 'Git)) Thank you, fixed.
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.
Received: (at 81317) by debbugs.gnu.org; 2 Jul 2026 16:09:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 02 12:09:31 2026
Received: from localhost ([127.0.0.1]:43426 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1wfJyk-00056K-IC
for submit <at> debbugs.gnu.org; Thu, 02 Jul 2026 12:09:31 -0400
Received: from mout-p-103.mailbox.org ([2001:67c:2050:0:465::103]:60916)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1wfJyi-00055I-23
for 81317 <at> debbugs.gnu.org; Thu, 02 Jul 2026 12:09:29 -0400
Received: from smtp2.mailbox.org (smtp2.mailbox.org
[IPv6:2001:67c:2050:b231:465::2])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4grhf46pyBz9v4f;
Thu, 2 Jul 2026 18:09:16 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001;
t=1783008557;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=LDso9u0Jf5vX2Dm12DxJbfnrVamVM37CKzPQFpeDC4U=;
b=u/lHN1iFdWPdZ0KznzWojBkqbmFwINIKUADxp4m+WXuj6zxyN3EnS2CH/kXNadZ23ppyMc
GMLjX09h2yszRKcITeLBJfQhfvxjOC0dGK5s8mAOnBwLkWFM8Svv67xpBGXu4l1Ty8VemQ
kNYe68m+D+gyFgvQK3PRyn47poTPk4F/qsO/0CmCLp0hnKmkyh+CTPDlmH/41V83N/QVQy
TFMbjBxfwM0B6Pn+oza4YAkzqmF9vUgoDwtN1p68X3Nhh7C2XsLIjn3yoD/A5Qafp7v3Zs
dkr0gex7+2DU+xZSlqbZcLJHj4bjT3/TMQ6e1bPtyKsKdLMrbdGTfJ2JepsoBw==
Authentication-Results: outgoing_mbo_mout; dkim=none;
spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates
2001:67c:2050:b231:465::2 as permitted sender) smtp.mailfrom=juri@HIDDEN
From: Juri Linkov <juri@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#81317: project-vc-cache might be too optimistic
In-Reply-To: <68799693-061e-49b2-9116-d347b7d9a21c@HIDDEN>
Organization: LINKOV.NET
References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN>
<a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN>
<714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN>
<87v7b2srg9.fsf@HIDDEN>
<e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN>
<87bjct765v.fsf@HIDDEN>
<3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN>
<875x302iwz.fsf@HIDDEN>
<d3a97d4c-0c2c-47c9-bce1-6cacc6d6f7b1@HIDDEN>
<877bnesrpo.fsf@HIDDEN>
<68799693-061e-49b2-9116-d347b7d9a21c@HIDDEN>
Date: Thu, 02 Jul 2026 18:41:54 +0300
Message-ID: <87y0fte6v1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Rspamd-Queue-Id: 4grhf46pyBz9v4f
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 81317
Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org,
Sean Whitton <spwhitton@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)
> Juri, what do you think will be the most interested callers?
> What do you think about project-uniquify-dirname-transform - should it
> actually use the "essential" cache timeouts for accuracy.
I think that project-uniquify-dirname-transform
and project-mode-line-format that use project-name
should still use non-essential cache, because project
renamings are rare.
BTW, double docstrings in tests detected:
(ert-deftest project-try-vc-invalidates-cache ()
"Check that it invalidates the cached value that's too old."
"Check that one can add wildcard entries."
(skip-unless (eq (vc-responsible-backend default-directory) 'Git))
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 2 Jul 2026 06:01:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 02 02:01:16 2026 Received: from localhost ([127.0.0.1]:38215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wfAU8-0000nr-BE for submit <at> debbugs.gnu.org; Thu, 02 Jul 2026 02:01:16 -0400 Received: from fout-b8-smtp.messagingengine.com ([202.12.124.151]:56197) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1wfAU6-0000nH-3L for 81317 <at> debbugs.gnu.org; Thu, 02 Jul 2026 02:01:14 -0400 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.stl.internal (Postfix) with ESMTP id 2A89E1D000D2; Thu, 2 Jul 2026 02:01:08 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Thu, 02 Jul 2026 02:01:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1782972068; x=1783058468; bh=UAGKFi3d6OCBHZnn81t+pvYVLvluU+LEdGsS9PiYSYI=; b= TgrwGrKi5vtJ922kqzEKZnPD7aPJ05WMRfC8tN4hlvn0wQ7d7MyByrOFpIDNM2Iy caNROpdYTc9nbnEVoEP33RUvE/7PxQjZVaTNGCG8Ux908ZzcHvGerebgQ/IpXBSo RKr0ALpCX0PeKa0SYGmYQahQcJsmkg8an81GGLL4aJHhWAR2y8Ki7ylFvy7TbJ97 O3MHVaX5rG9KF5pik6mlfKTF+ZAkHMMLW7Y8uPbc8TI/rw1+cDZtY4WCMth7dGu1 Fs5S0MZmzfN0Y/yeLzIbkJ8119FgKGthSwyCZJQq+x0AEjeD7P1aBifJ5e2g3iRo Xo5sBF5UPsG2KLIhR6XMXA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1782972068; x= 1783058468; bh=UAGKFi3d6OCBHZnn81t+pvYVLvluU+LEdGsS9PiYSYI=; b=h TKsULRj4sV5WMh5m/C9ZJ/xREDWXeEP5g6SWH19AEl+wmnD3ZZ08LVbVY3bNkAp7 J/32PW2lWDL3nCj03N2Rtewbhbq9qDCiOjjKT8eqS+4lsiNFyYCbpJYXjBqE58mA MHYVZNk2At8KzuioIHR6KdeLwDtfnLBgYeFORQfocSeWubDpPkpMZKeyy19GrotE MD+Ym3n6xTjCIRa2v51MGJ34YFUGxRdcngoj7oiaQIcWgLqq9r+BuIe1JaUbXHUw 9G3dumcvbOC0wovwz9MgR1vvpdeUp1VWvHQDwP7jTctbV/dx6pXqps9Rgv1ssKeE 7M53rhMTZEY10e30Q1zcA== X-ME-Sender: <xms:o_5Faq8aInRO9VB7hbL01K5DFUV_HFC6EaZENhvcHSau1d__4logHA> <xme:o_5FahtXAdUxr7TYko_D8Faw37knZ9X-a-GUBsrEflo3RXkD2pGtOhoLrX-NGGIJS z1n5_wXi_MCaY7X3W-_OEk1fb5FBBEEOtfPyvWEWgPGzw0Fdra6x4jG> X-ME-Received: <xmr:o_5FalBmogprgdPiyfxIxV34MKIb-EMlNaud8X6UuW6MzI0o_KC-OccnsVe0QLjor3ThqQ> X-ME-Proxy-Cause: dmFkZTEg1zjz00FQd2yP0G8MdeVUUpoWGLT6a9vX8ti5zdYngCOVwsw+p/qlQ42OnDM5in +bzZmrJm+M7vVy3sVuUBPdcMpuNrIX3+EJYZi4UccOQ8+4buzso2Un95906kGbj9p25/z9 x5TqOtVc5Z1VdLNuMcOPRw06zOLLoaLEmtgjh1O7WV30+BrsN4mtd8dVus9VllFPa8DD1g sAzqUQ/PNieKQbRCpW3GiRBU65R3/gdAzMZQyNOVd8PC9rM+nOlKixCQGpWlXgcq2ir//4 norV5c3DTB3LMj122oinA4KB4fVn9BLXfG/2RGm1lziK7jqj5E68wIT7kvQVEY/UuDqrCz GJBaMnCRk6kfbgOuzixoordOHvpo55Vb6AUNqGk5DftWvP9c18lKYQYVrELDnHmJBESDay Jicbekn0biwoCHWRiW93f58GDOdOQli9PggcDA2089z/rK+/btylD5tjazTXEJ35EqRMiZ HdZPm5S8KojG0I072Q/h1l+pT14ZcS+g/T2dSLlceHy2N4aGlPzt/ikrTfeCHtR7en+HSj S8Nm32G6FMyDyRYUqk79gDSpsERL+WSZgAMUHPgBm0EDBV8ACrO4N7F6ZOXvTRvSp1/q3Y HqOul+0o9VOjBQfFues1Ktm27dexYJR65Iz9KlOljH9hhByOX+gC+2U+csZg X-ME-Proxy: <xmx:o_5FahV-8fkwuMU0YnY_a8_Znq3bvEZSXdwfowCEQVGEnNdTX56-Ag> <xmx:o_5FarDCtoFS1S7byoxxmZzERFS9SoNGtOFrei4ZzkF883BmRfzAgg> <xmx:o_5Fas9SkdZVX-tKTLaos8b_jGQXdjCjF_9hUUit51aVyPbj__r0HA> <xmx:o_5FaqFPBU3wlFbg5IZ4Y2LuuYIl_6ZtAJvR19Fau8SxTt4SMnU_og> <xmx:pP5FaoiQlil2DLwWDsZcGBkIFWH_Qj6007ovu8uHUbexraJqh0QEm6qz> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 2 Jul 2026 02:01:05 -0400 (EDT) Message-ID: <68799693-061e-49b2-9116-d347b7d9a21c@HIDDEN> Date: Thu, 2 Jul 2026 09:01:01 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#81317: project-vc-cache might be too optimistic To: Juri Linkov <juri@HIDDEN> References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> <87bjct765v.fsf@HIDDEN> <3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN> <875x302iwz.fsf@HIDDEN> <d3a97d4c-0c2c-47c9-bce1-6cacc6d6f7b1@HIDDEN> <877bnesrpo.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <877bnesrpo.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) On 01/07/2026 18:10, Juri Linkov wrote: >> Or 'auto' maybe? >> >> Or your suggestion above sounds like the variable should be called >> project-vc-cache-essential, with possible values t, nil, and maybe 'auto' >> as well. > Agreed. > >> Or we just delay any renamings, to minimize breaking changes before the >> upcoming release. > This would be better. > >>>> + (let* ((timeout >>>> (cond >>>> - ((numberp project-vc-cache-timeout) >>>> - project-vc-cache-timeout) >>>> - ((null project-vc-cache-timeout) >>>> - nil) >>>> - ((listp project-vc-cache-timeout) >>>> + ((numberp timeout) >>>> + timeout) >>>> + ((listp timeout) >>> Did you remove '((null project-vc-cache-timeout) nil)' >>> intentionally? Because then the cond-branch with >>> (listp nil) will be matched. >> I think the effect is the same? >> >> (cdr (seq-find ... nil)) will evaluate to nil. > Yes, I already noticed that the return value is the same, > it only affects code readability. > >>> What semantics the nil argument 'timeout' should have now? >> It's supposed to just be a simplification. I can undo that part if you >> prefer. > Simplification should be fine. Thanks, I've pushed a few commits that a * Fix the functioning of the current cache and cleanup function. * The change upon discussion that centralizes the cache invalidation responsibility to only project-try-vc (called by project-current). The project-vc-cache variable is not in, because I'll like to see how urgent is its addition, and to be on the same page regarding the usages. Juri, what do you think will be the most interested callers? What do you think about project-uniquify-dirname-transform - should it actually use the "essential" cache timeouts for accuracy. It and Eglot and lsp-mode might be the frontrunners of this trial. Especially if someone can indeed say that one of them has a problem they've had to solve in an annoying way. Not just a theoretical mismatch we've analyzed out of code.
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 1 Jul 2026 15:33:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 01 11:33:15 2026 Received: from localhost ([127.0.0.1]:34124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1weww2-0005lP-Ns for submit <at> debbugs.gnu.org; Wed, 01 Jul 2026 11:33:15 -0400 Received: from mout-p-101.mailbox.org ([80.241.56.151]:51976) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1wewvv-0005k1-TK for 81317 <at> debbugs.gnu.org; Wed, 01 Jul 2026 11:33:07 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA512) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4gr3tZ4LKGz8v1C; Wed, 01 Jul 2026 17:32:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1782919974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=+T4X8u8ZLoGdm0KMbDx0LeWrtRAK1usNm2lKO0hNids=; b=mCjtDzYnkZh+BuEq2zU3m4n3TPN3ZAtoBOW1r8QJL8p1q/s1acdD401hXATayRFzgajKlB xT982+zskDDPOI5mNMZ0xNhRScqasxAFK/EVYyawAdrTurvWhzwIVTOeaULGLvG9Y+7msF Qa1pEiTAtk5gRsluGJdleAfL7oCd/wz+V9/+p8qD37lirf5jUh7DcbGrKtuXmxgliTevD4 L7c5gb+h248ekgKdmZNIWMeK84c6UDkq+NOiDHbpp6JuWLZN2m5fESYUPtjFDOvwquIbeS z3q/wBKFH5+zw7GvIgQsM70PloV4QjLRqZ9ue02xRAeWoxoO9aMgac3nqwXmRA== From: Juri Linkov <juri@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> Subject: Re: bug#81317: project-vc-cache might be too optimistic In-Reply-To: <d3a97d4c-0c2c-47c9-bce1-6cacc6d6f7b1@HIDDEN> Organization: LINKOV.NET References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> <87bjct765v.fsf@HIDDEN> <3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN> <875x302iwz.fsf@HIDDEN> <d3a97d4c-0c2c-47c9-bce1-6cacc6d6f7b1@HIDDEN> Date: Wed, 01 Jul 2026 18:10:31 +0300 Message-ID: <877bnesrpo.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >>> So it would have two possible values? nil and 'essential? >> Maybe more explicit 'essential' and 'non-essential' >> since nil is too ambiguous (it can mean no changes). > > Or 'auto' maybe? > > Or your suggestion above sounds like the variable should be called > project-vc-cache-essential, with possible values t, nil, and maybe 'auto' > as well. Agreed. > Or we just delay any renamings, to minimize breaking changes before the > upcoming release. This would be better. >>> + (let* ((timeout >>> (cond >>> - ((numberp project-vc-cache-timeout) >>> - project-vc-cache-timeout) >>> - ((null project-vc-cache-timeout) >>> - nil) >>> - ((listp project-vc-cache-timeout) >>> + ((numberp timeout) >>> + timeout) >>> + ((listp timeout) >> Did you remove '((null project-vc-cache-timeout) nil)' >> intentionally? Because then the cond-branch with >> (listp nil) will be matched. > > I think the effect is the same? > > (cdr (seq-find ... nil)) will evaluate to nil. Yes, I already noticed that the return value is the same, it only affects code readability. >> What semantics the nil argument 'timeout' should have now? > > It's supposed to just be a simplification. I can undo that part if you > prefer. Simplification should be fine.
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.
Received: (at 81317) by debbugs.gnu.org; 30 Jun 2026 16:59:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 30 12:58:59 2026
Received: from localhost ([127.0.0.1]:53067 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1webnX-0007dU-HT
for submit <at> debbugs.gnu.org; Tue, 30 Jun 2026 12:58:59 -0400
Received: from fout-a8-smtp.messagingengine.com ([103.168.172.151]:39089)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1webnU-0007d9-Ek
for 81317 <at> debbugs.gnu.org; Tue, 30 Jun 2026 12:58:57 -0400
Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51])
by mailfout.phl.internal (Postfix) with ESMTP id 233B0EC000B;
Tue, 30 Jun 2026 12:58:51 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
by phl-compute-11.internal (MEProxy); Tue, 30 Jun 2026 12:58:51 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1782838731;
x=1782925131; bh=LFoRFetA7a0ySdpQlOXju50WUOLsJ/OQXvMq3WkoXKs=; b=
m+ETrLWtnEOL4IH80CnWu4tmz86U/2dpVYrnf4St1FdiXyqOIVc/2mQO1kec1b/c
7yimbFY2+BEgoPmLBIrjbZFJ45Qk9Sfy9MA+cyKRDQDQrPQ2q/yaIX0HuhXWIvyA
4s0N0I3wV2pmr1b4Punq7sWSKUOhKdGq2AxQYk85Jt9wHQv5ygGroRKIsAv57wQF
CE8kQr/U9CnAfptkkdUvjp0QVzlSt9NMjFxHikHaWxnBkw/VPw+XxMXJtrgy8PlY
8YHRZQZAGclsT0M5LNhkDJs44JRkYyK+/NGAlYdAgD3QH9iRSMywhsTSyJmWL+0J
4DqZUE43ouk06A8lM60SOw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1782838731; x=
1782925131; bh=LFoRFetA7a0ySdpQlOXju50WUOLsJ/OQXvMq3WkoXKs=; b=h
ZPk19K+WnNEcnJ/sZ+NawPWOEndiiKg+e82xSX3keH59UzaHZi7OyC+LlohWBxD+
yC+z3YTfpNB820XR6zyDvczIapfRZAcTYd7u/MVfsdeQ32Pq+XfyBpr/e/QfKpV+
S6n64BIqhgClyXqLHS3EJy5M4wCkuZ99F6fh8eqY+nUxQcW8bxaHJxbfIsTzKEIa
1d20OLEjQkD8s/aQ+KI9GykRJ1mPvntlmHr6kvh3O6lZI1Pxopu6uhoq6GHbdXzI
O7++v9IooiCcsqUFhYSGUVE52By7uNEodjq0BF9Cbrzz5sZn9qkzykZtQzXLtKuo
lgnX6OBsSpfI0ZICPnwZw==
X-ME-Sender: <xms:yvVDapmbQ6j_xWkJSNbfCDU5X23h33d6HsZM9_yDfCHNa5RxfBzf2Q>
<xme:yvVDar12z-RUneuP9mWsWPlXJLysjZImLzzH6MHhjqGtJzbJixzpBauZXznp2rtxF
O8XSqJi4wavFcGbWIOHqhCk1Vzzkv-i3hgaw75dalIQQyTA8qvjo3dL>
X-ME-Received: <xmr:yvVDakpqKZtGhoFVZiEFZd79U8tf5YJnSGJ35m39QP6AhDT02NOWyDnOaPBPE7cwGVJv>
X-ME-Proxy-Cause: dmFkZTGdGGu/fB2DwmyCBzR1d5slXofQcgRi7Zyw+S+RV2AHM6ET5BDSFynpkmOSO8JEsp
r2CzDeejGEZXfm7OZuOsmdw4IOB41026vI0+Wx4+3t20+76ELZMzO25pXYecqV2tmu0JCS
I1zDCgiWcuLGwAa67t2R2b3IkNgA9dO201KeHjRUMYRgcSLksM3ehBw61uI7vojBmyqA2n
5aAyEjOz0QqomPnq9M/d8QDHUZSfSFhpMatR4Pbunvp2ZaQycioQ/ybBx7SPRVqjA1LwOi
gboTBbK1sNkCYpWKkqtbvLbbX7YZaqK+0HHFX/xt6nDj/xZVpemxZfWf2O28lvBxRabhIG
fJZkjRMiU6JEYnunrhpEM/b41lSBXq9SFLQ7+jCeM460RQbXzUuus1o0BuxFZVW72JKDGb
aN1hEuSLL8xokhPDUU9wc/E4qpGVQqRP2YoB89VwBPUCMFACEwJahxD0IlgMHGTcLg8nIn
+SzY8qrlP/5LLCpEMk86ZQea3empwq2Kz75bZgIDgNvOlDS+Z7QVR8xx9O6G8trNh3VQ8a
NTLnFRupBmb4obEZNHeTnvZpoAHmviVM4IhvnbVmijRwg3BlWBV6O3AdTRpHAfQ5hQeYyT
koZpUUUoXjhSu/+6SBoxba3EspGCxFYFv5L0P8zb77x0iGij6Moaw/kTchZw
X-ME-Proxy: <xmx:yvVDaofLeEcMx7LjU-04jzI06apK5xuRwG-ujECaoBWjCmrpODR8Hw>
<xmx:yvVDajoo_1RzTJjaBw7xvz6y-ZVVKbsApJ-JyoazMbuCPmWA-7xbMQ>
<xmx:yvVDapGK1h4PVjFB785ChDFLkAk0bXbpPMsw3hqzvuSh7sQaV-huBQ>
<xmx:yvVDajtZbuV-sjenKtb5Hvhua6eeLBpkV98D20Flqfi1Q85qjJGS3Q>
<xmx:y_VDahEIgM7ZLHdxmU9bxIdrWwUxSyz8-2i31YUQKydMz5w12fhteT_->
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
30 Jun 2026 12:58:49 -0400 (EDT)
Message-ID: <d3a97d4c-0c2c-47c9-bce1-6cacc6d6f7b1@HIDDEN>
Date: Tue, 30 Jun 2026 19:58:47 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#81317: project-vc-cache might be too optimistic
To: Juri Linkov <juri@HIDDEN>
References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN>
<a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN>
<714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN>
<87v7b2srg9.fsf@HIDDEN>
<e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN>
<87bjct765v.fsf@HIDDEN>
<3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN>
<875x302iwz.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <875x302iwz.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 81317
Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org,
Sean Whitton <spwhitton@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)
On 30/06/2026 18:37, Juri Linkov wrote:
>>>>> 4. Use a dynamically bound variable to specify
>>>>> the preference like
>>>>> (let ((project-vc-cache 'essential))
>>>>> (project-current))
>>>>
>>>> How do you see it combined with the existing conditions? As 'and' or 'or'
>>>> or replacing them?
>>> Probably it should override other conditions for simplicity.
>>
>> Simplicity at the call site, perhaps.
>>
>> So it would have two possible values? nil and 'essential?
>
> Maybe more explicit 'essential' and 'non-essential'
> since nil is too ambiguous (it can mean no changes).
Or 'auto' maybe?
Or your suggestion above sounds like the variable should be called
project-vc-cache-essential, with possible values t, nil, and maybe
'auto' as well.
>> New problem regarding naming though: if the non-essental binding becomes
>> just an implementation detail, the name of
>> project-vc-non-essential-cache-timeout could use a change. Maybe we'd just
>> use the word "longer".
>
> Probably keeping the old name would be fine
> since this name still makes sense.
The caller's value of 'non-essential' won't affect anything, though
(only MAYBE-PROMPT will have an effect, until we add another method like
the variable mentioned above). But maybe it makes sense in spirit.
Or we just delay any renamings, to minimize breaking changes before the
upcoming release.
>> + (let* ((timeout
>> (cond
>> - ((numberp project-vc-cache-timeout)
>> - project-vc-cache-timeout)
>> - ((null project-vc-cache-timeout)
>> - nil)
>> - ((listp project-vc-cache-timeout)
>> + ((numberp timeout)
>> + timeout)
>> + ((listp timeout)
>
> Did you remove '((null project-vc-cache-timeout) nil)'
> intentionally? Because then the cond-branch with
> (listp nil) will be matched.
I think the effect is the same?
(cdr (seq-find ... nil)) will evaluate to nil.
> What semantics the nil argument 'timeout' should have now?
It's supposed to just be a simplification. I can undo that part if you
prefer.
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 30 Jun 2026 15:45:35 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 30 11:45:35 2026 Received: from localhost ([127.0.0.1]:52603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1weaeU-0000nQ-O6 for submit <at> debbugs.gnu.org; Tue, 30 Jun 2026 11:45:35 -0400 Received: from mout-p-101.mailbox.org ([80.241.56.151]:48112) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1weaeP-0000gs-DA for 81317 <at> debbugs.gnu.org; Tue, 30 Jun 2026 11:45:29 -0400 Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA512) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4gqSCN4kpWz8tyv; Tue, 30 Jun 2026 17:45:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1782834320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5wuN6mJgCUAbPw6hq683fUcqKTpDuhyE6Wds7qsoRac=; b=Z+j+oMmszBLPKbSAbc6WS8wyFdOoXL4xcH0J8UAFsE9cKcAI9VyZYXo594Xzx0Itvx3muW D7o5Y9XQmdzn4LtH6itqV7v2jpfnzd2zxjpIEDRv6nIrVD+HqMwDBym8/OS9agE0eE1eRT Atjq70FwgXD75LIyUJdlmorKOsic0Bj7CoVimU8+48PvLtFai5TJ+YqAO+pcwurB/rlW1E 9f+Yf1u3tZSLq72FtqLmrRJdZ0KDBZ9LFtBnU+mOeLOFhk0o4JZH37uREVES352uplg7ge we1D4WAKPJb6bzXVZ5AxgBw03PObHnNExPNqp/EaxPei4o/2gCertJZF4yezaA== From: Juri Linkov <juri@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> Subject: Re: bug#81317: project-vc-cache might be too optimistic In-Reply-To: <3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN> Organization: LINKOV.NET References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> <87bjct765v.fsf@HIDDEN> <3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN> Date: Tue, 30 Jun 2026 18:37:40 +0300 Message-ID: <875x302iwz.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >>>> 4. Use a dynamically bound variable to specify >>>> the preference like >>>> (let ((project-vc-cache 'essential)) >>>> (project-current)) >>> >>> How do you see it combined with the existing conditions? As 'and' or 'or' >>> or replacing them? >> Probably it should override other conditions for simplicity. > > Simplicity at the call site, perhaps. > > So it would have two possible values? nil and 'essential? Maybe more explicit 'essential' and 'non-essential' since nil is too ambiguous (it can mean no changes). > New problem regarding naming though: if the non-essental binding becomes > just an implementation detail, the name of > project-vc-non-essential-cache-timeout could use a change. Maybe we'd just > use the word "longer". Probably keeping the old name would be fine since this name still makes sense. > + (let* ((timeout > (cond > - ((numberp project-vc-cache-timeout) > - project-vc-cache-timeout) > - ((null project-vc-cache-timeout) > - nil) > - ((listp project-vc-cache-timeout) > + ((numberp timeout) > + timeout) > + ((listp timeout) Did you remove '((null project-vc-cache-timeout) nil)' intentionally? Because then the cond-branch with (listp nil) will be matched. What semantics the nil argument 'timeout' should have now?
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 30 Jun 2026 06:17:43 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jun 30 02:17:43 2026 Received: from localhost ([127.0.0.1]:46821 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1weRmw-0001KK-LM for submit <at> debbugs.gnu.org; Tue, 30 Jun 2026 02:17:43 -0400 Received: from fhigh-b6-smtp.messagingengine.com ([202.12.124.157]:44779) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1weRmu-0001K3-6n for 81317 <at> debbugs.gnu.org; Tue, 30 Jun 2026 02:17:41 -0400 Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41]) by mailfhigh.stl.internal (Postfix) with ESMTP id 21C657A001E; Tue, 30 Jun 2026 02:17:34 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-01.internal (MEProxy); Tue, 30 Jun 2026 02:17:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1782800253; x=1782886653; bh=CtbaK2oxWB kySiPf1NGwdaG5g0RhSyQDlv2oDWKL4Jg=; b=SVPC3oFyizeWsVxM8Fk7K4Ghbq aO/518sIxbI4RHpzQ5R/CcEN+Okt/zahYAquJyUkLUzAH6KkjOTHIvnO23EUeNlD SmgCUP4abfnxx4EInUjLhJQvGnTGZ9wYmgP0qfgindr2J4i2QYjhf+4N2v5n3h1a 01VfCH27NiGiJGosgtoh7oBF7wnkYJO5YwwlII/9NbSQarIJ5JPag/0TuUPyvSYa sp7GBVZPC2CPx5hsNaTo/xEfh8hS+oqST+wbu5ezxX19Ajo1ue29jOLeGIA1ZjtK 4x6+VBnGC9wb7FD8PAvbZC1RU/2uym/4BhKto5Ub2Fpik3sFz3b1F1D6obwA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1782800253; x=1782886653; bh=CtbaK2oxWBkySiPf1NGwdaG5g0RhSyQDlv2 oDWKL4Jg=; b=kJosGtqoM8VmH3+TWK/Ag0TueFye4FUDVLro+mpsZvjXXfYN/GD Qjc2N7s3oj/MnSzp/umV1SmEWHTXWwF4h3GZq+GsY5sQT0bp5t1bn4xvNBBIHJsZ zfLgNT9jChJUBJ6bQl4ArtXvLWp8i0UUj27z5wKZOe8hrVbYzx4IEZmXJngvnChU 0vnh4vAKD53MghUJdXzSwYjaiSausxd6PZgJ9eBV1tzWiT/hZ+g4MIyCbNRDWKd4 gvi1iGZWpPwbzM6gzOFm989cOYSejftpQF+0SHPuA3tapvEKBsw33vwMKNwROVMg L3MSpdAkMMF13dIqbhN7L04HFrs8SMQhDfQ== X-ME-Sender: <xms:fV9Dap-IP3_b68nvmmMHNmXiY74PBWlrjdWvfczM27Jv4gkWeDCFGA> <xme:fV9DakvGjnrQCMR9r9KP-WeH4VB8IuqzaSgQW1NxNWTzoJ_Iu3SSPx7TRCXsm3QXe vQpcAPTWZvW_GkAp_knB4Es6qZQ1ln17crnjaVlEYAkxqpnY4Ie> X-ME-Received: <xmr:fV9DasDd_7mefC3ZD2-jQ_HfecVEfz7NGcU3baW44xIbaIVFezbqVUalwvYIFoCX0bjX> X-ME-Proxy-Cause: dmFkZTEJwqzht+cecxflRbLx2SOLC4uzfU67RNmNuLkdcJBNMC6wjiYNLChB9ZwIwBjHVZ cvKy0SGVxaHeSfzZpLou+VsMBGr41y1fLt7q0LyDMqbxAPqGhvxP/PpQeErb+GJw+RRXRt 8KCDn6WeONcKfwgq1T5k2+wvleN5p6pytzpvUZY/YLy0AA2dzca7X7m/9biP16dSP3YBqP RYjnS6cv/DJ1ZJV4u7+jyePT3GYegGu6yr0T+dvg+N8+yQZ/G4QvtaEy8yhbIToB6/ERbq vwdmWFdMmBAthDl99xcjqvB8z9AcAeU5f/0RDl40/mYlHP6XMDjuxy1/Nn5/Ie+qynDrUF jK3YkbNUXdlW5xMtrA+eQmHJEEh70os7NIuGnJtwAT/WzA/8jKH8a8bnKk5epCnorTgbHH l6R8X9aEfiJRL+8m30N8DXBZ0BpoRwMtQFlyVUE0ZPaR6MT9intYGZk89jipj71HSNx2qU MUJj6cmZt+bE2RyvYeQXPN9mm+7K+502xb7oKebR+1h7QVl6sYzNpDnaPAszFYptTXKc1B /fp1q9e2il5LqqtKZnpEqxjHQDgupeiwJ7c1IGPOCEApJz2GFKeEYKq5MwqBzosWLExF5M TRCNxjn1Rhz8ZakVSCQ9Sd2id2OSfS4CC++sQ+cBI27FgBx2J9NFxWtsmN4Q X-ME-Proxy: <xmx:fV9DasX4S9kn_Mp9XVJd_-gCQke6ZnpXOKSCM1fixZ4GkV6cB1I0Ew> <xmx:fV9DaqAft5_JR1dKBHaU8xACQEFxQCGFSfl3Q8lEXA7PUfPX709mow> <xmx:fV9Dav-EeL2LnfbglbJPlQlaVLYRJ9ORB-6nTU1w_Bn0TQgRhWIdIw> <xmx:fV9DahHOzDhTjGOlFNdWygUAS4iZs-XeAhBQ4dLVRgfd4puNmQZ9zQ> <xmx:fV9DavizOapqOmpXXjDku0U7IVAYZwhS0kuC3OrhoSwgDjQUt-ENbZAP> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 30 Jun 2026 02:17:32 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------hdBtLWeu60EhSTywxRIKILCJ" Message-ID: <3567ebb7-5265-4246-80c6-fb7b61f5a0ab@HIDDEN> Date: Tue, 30 Jun 2026 09:17:29 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Dmitry Gutov <dmitry@HIDDEN> Subject: Re: bug#81317: project-vc-cache might be too optimistic To: Juri Linkov <juri@HIDDEN> References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> <87bjct765v.fsf@HIDDEN> Content-Language: en-US In-Reply-To: <87bjct765v.fsf@HIDDEN> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) This is a multi-part message in MIME format. --------------hdBtLWeu60EhSTywxRIKILCJ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 29/06/2026 18:09, Juri Linkov wrote: >>> 4. Use a dynamically bound variable to specify >>> the preference like >>> (let ((project-vc-cache 'essential)) >>> (project-current)) >> >> How do you see it combined with the existing conditions? As 'and' or 'or' >> or replacing them? > > Probably it should override other conditions for simplicity. Simplicity at the call site, perhaps. So it would have two possible values? nil and 'essential? >> Speaking of the last part, it might be non-intuitive that caching in >> 'project-current' and 'project-name' are decided by different conditions, >> even though they usually appear in code together. Maybe we could make >> 'project-name' always use the longer cache, leaving "essential" >> invalidation up to 'project-current' when appropriate (*). That could >> simplify things. > > This means to change caching for 'project-vc-dir-locals' > in 'project--value-in-dir'? Yes, and passing it the usage context somehow. There are different ways to implement this (including adding a new dynamic var for the "actual" cache longevity), but how about the attached? Invalidation becomes more opaque, relying on two implementation details (all dir-locals is saved to one key, and project-try-vc--search looks it up unconditionally), but we can add some new tests to nail it down. Fixed a couple of latent bugs, should work better. New problem regarding naming though: if the non-essental binding becomes just an implementation detail, the name of project-vc-non-essential-cache-timeout could use a change. Maybe we'd just use the word "longer". --------------hdBtLWeu60EhSTywxRIKILCJ Content-Type: text/x-patch; charset=UTF-8; name="project-try-vc-sole-cache-invalidation.diff" Content-Disposition: attachment; filename="project-try-vc-sole-cache-invalidation.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3Byb2plY3QuZWwgYi9saXNwL3Byb2dtb2Rl cy9wcm9qZWN0LmVsCmluZGV4IGViYmFhNzYwOWVhLi5iNzI0NmU3N2MzMyAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9wcm9q ZWN0LmVsCkBAIC04NCwxMSArODQsMTEgQEAKIDs7IFRoaXMgcHJvamVjdCB0eXBlIGNhbiBh bHNvIGJlIHVzZWQgZm9yIG5vbi1WQ1MgY29udHJvbGxlZAogOzsgZGlyZWN0b3JpZXMsIHNl ZSB0aGUgdmFyaWFibGUgYHByb2plY3QtdmMtZXh0cmEtcm9vdC1tYXJrZXJzJy4KIDs7Ci07 OyBTb21lIG9mIHRoZSBtZXRob2RzIG9uIHRoaXMgYmFja2VuZCBjYWNoZSB0aGVpciBjb21w dXRhdGlvbnMgZm9yIHRpbWUKLTs7IGRldGVybWluZWQgZWl0aGVyIGJ5IHZhcmlhYmxlIGBw cm9qZWN0LXZjLWNhY2hlLXRpbWVvdXQnIG9yCis7OyBTb21lIG9mIHRoZSBtZXRob2RzIG9u IHRoaXMgYmFja2VuZCBjYWNoZSB0aGVpciBjb21wdXRhdGlvbnMuCis7OyBDYWNoZSBpbnZh bGlkYXRpb24gaXMgZG9uZSBpbnNpZGUgdGhlIGBwcm9qZWN0LWN1cnJlbnQnIGNhbGwsIHdp dGgKKzs7IGR1cmF0aW9uIGRldGVybWluZWQgZWl0aGVyIGJ5IHZhcmlhYmxlIGBwcm9qZWN0 LXZjLWNhY2hlLXRpbWVvdXQnIG9yCiA7OyBgcHJvamVjdC12Yy1ub24tZXNzZW50aWFsLWNh Y2hlLXRpbWVvdXQnLCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUKLTs7IE1BWUJFLVBST01Q VCBhcmd1bWVudCB0byBgcHJvamVjdC1jdXJyZW50JyBpcyBub24tbmlsLCBvciB0aGUgdmFs dWUKLTs7IG9mIGBub24tZXNzZW50aWFsJyB3aGVuIHByb2plY3QgbWV0aG9kcyBhcmUgY2Fs bGVkLgorOzsgYXJndW1lbnQgTUFZQkUtUFJPTVBUIGlzIG5vbi1uaWwuCiA7OwogOzsgVXRp bHM6CiA7OwpAQCAtNjEzLDI3ICs2MTMsMjEgQEAgcHJvamVjdC12Yy1ub24tZXNzZW50aWFs LWNhY2hlLXRpbWVvdXQKIGBwcm9qZWN0LW1vZGUtbGluZScgaW5kaWNhdG9ycyBhbmQgYHBy b2plY3QtdW5pcXVpZnktZGlybmFtZS10cmFuc2Zvcm0nLgogSXQgaXMgdXNlZCB3aGVuIGBu b24tZXNzZW50aWFsJyBpcyBub24tbmlsLiIpCiAKLShkZWZ1biBwcm9qZWN0LS1nZXQtY2Fj aGVkIChkaXIga2V5KQorKGRlZnVuIHByb2plY3QtLWdldC1jYWNoZWQgKGRpciBrZXkgdGlt ZW91dCkKICAgKGxldCAoKGNhY2hlZCAodmMtZmlsZS1nZXRwcm9wIGRpciBrZXkpKQogICAg ICAgICAoY3VycmVudC10aW1lIChmbG9hdC10aW1lKSkpCiAgICAgKHdoZW4gKGFuZCAobnVt YmVycCAoY2RyIGNhY2hlZCkpCiAgICAgICAgICAgICAgICA7OyBTdXBwb3J0IHBhY2thZ2Ug dXBncmFkZSBtaWQtc2Vzc2lvbi4KLSAgICAgICAgICAgICAgIChsZXQqICgocHJvamVjdC12 Yy1jYWNoZS10aW1lb3V0Ci0gICAgICAgICAgICAgICAgICAgICAgIChpZiBub24tZXNzZW50 aWFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LXZjLW5vbi1lc3NlbnRp YWwtY2FjaGUtdGltZW91dAotICAgICAgICAgICAgICAgICAgICAgICAgIHByb2plY3QtdmMt Y2FjaGUtdGltZW91dCkpCi0gICAgICAgICAgICAgICAgICAgICAgKHRpbWVvdXQKKyAgICAg ICAgICAgICAgIChsZXQqICgodGltZW91dAogICAgICAgICAgICAgICAgICAgICAgICAoY29u ZAotICAgICAgICAgICAgICAgICAgICAgICAgKChudW1iZXJwIHByb2plY3QtdmMtY2FjaGUt dGltZW91dCkKLSAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LXZjLWNhY2hlLXRp bWVvdXQpCi0gICAgICAgICAgICAgICAgICAgICAgICAoKG51bGwgcHJvamVjdC12Yy1jYWNo ZS10aW1lb3V0KQotICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkKLSAgICAgICAgICAg ICAgICAgICAgICAgICgobGlzdHAgcHJvamVjdC12Yy1jYWNoZS10aW1lb3V0KQorICAgICAg ICAgICAgICAgICAgICAgICAgKChudW1iZXJwIHRpbWVvdXQpCisgICAgICAgICAgICAgICAg ICAgICAgICAgdGltZW91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICgobGlzdHAgdGlt ZW91dCkKICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIChzZXEtZmluZCAobGFtYmRhIChwYWlyKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoYW5kIChmdW5jdGlvbnAgKGNhciBwYWlyKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCAoY2FyIHBh aXIpIGRpcikpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVj dC12Yy1jYWNoZS10aW1lb3V0KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0aW1lb3V0KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAodCBuaWwpKSkpCiAg ICAgICAgICAgICAgICAgIChvciAobnVsbCB0aW1lb3V0KQogICAgICAgICAgICAgICAgICAg ICAgKDwgKC0gY3VycmVudC10aW1lIChjZHIgY2FjaGVkKSkgdGltZW91dCkpKSkKQEAgLTY0 Nyw3ICs2NDEsOSBAQCBwcm9qZWN0LS1jbGVhci1jYWNoZQogICAob2JhcnJheS1tYXAKICAg IChsYW1iZGEgKHN5bSkKICAgICAgKGlmIChnZXQgc3ltICdwcm9qZWN0LXZjKQotICAgICAg ICAgKHB1dCBzeW0gJ3Byb2plY3QtdmMgbmlsKSkpCisgICAgICAgICAocHV0IHN5bSAncHJv amVjdC12YyBuaWwpKQorICAgICAoaWYgKGdldCBzeW0gJ3Byb2plY3QtdmMtZGlyLWxvY2Fs cykKKyAgICAgICAgIChwdXQgc3ltICdwcm9qZWN0LXZjLWRpci1sb2NhbHMgbmlsKSkpCiAg ICB2Yy1maWxlLXByb3Atb2JhcnJheSkpCiAKIChkZWZ1biBwcm9qZWN0LXRyeS12YyAoZGly KQpAQCAtNjU2LDE1ICs2NTIsMTggQEAgcHJvamVjdC10cnktdmMKIFRoZSB2YWx1ZSBpcyBj YWNoZWQsIGFuZCBkZXBlbmRpbmcgb24gd2hldGhlciBNQVlCRS1QUk9NUFQgd2FzIG5vbi1u aWwKIGluIHRoZSBgcHJvamVjdC1jdXJyZW50JyBjYWxsLCB0aGUgdGltZW91dCBpcyBkZXRl cm1pbmVkIGJ5CiBgcHJvamVjdC12Yy1jYWNoZS10aW1lb3V0JyBvciBgcHJvamVjdC12Yy1u b24tZXNzZW50aWFsLWNhY2hlLXRpbWVvdXQnLiIKLSAgKGxldCAoKGNhY2hlZCAocHJvamVj dC0tZ2V0LWNhY2hlZCBkaXIgJ3Byb2plY3QtdmMpKSkKKyAgKGxldCogKCh0aW1lb3V0IChp ZiBub24tZXNzZW50aWFsCisgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdC12Yy1ub24t ZXNzZW50aWFsLWNhY2hlLXRpbWVvdXQKKyAgICAgICAgICAgICAgICAgICAgcHJvamVjdC12 Yy1jYWNoZS10aW1lb3V0KSkKKyAgICAgICAgIChjYWNoZWQgKHByb2plY3QtLWdldC1jYWNo ZWQgZGlyICdwcm9qZWN0LXZjIHRpbWVvdXQpKSkKICAgICAoaWYgKGVxIGNhY2hlZCAnbm9u ZSkKICAgICAgICAgbmlsCiAgICAgICAob3IgY2FjaGVkCi0gICAgICAgICAgKGxldCAoKHJl cyAocHJvamVjdC10cnktdmMtLXNlYXJjaCBkaXIpKSkKKyAgICAgICAgICAobGV0ICgocmVz IChwcm9qZWN0LXRyeS12Yy0tc2VhcmNoIGRpciB0aW1lb3V0KSkpCiAgICAgICAgICAgICAo cHJvamVjdC0tc2V0LWNhY2hlZCBkaXIgJ3Byb2plY3QtdmMgKG9yIHJlcyAnbm9uZSkpCiAg ICAgICAgICAgICByZXMpKSkpKQogCi0oZGVmdW4gcHJvamVjdC10cnktdmMtLXNlYXJjaCAo ZGlyKQorKGRlZnVuIHByb2plY3QtdHJ5LXZjLS1zZWFyY2ggKGRpciB0aW1lb3V0KQogICAo bGV0KiAoKGJhY2tlbmQtbWFya2VycwogICAgICAgICAgIChkZWxldGUKICAgICAgICAgICAg bmlsCkBAIC02NzcsNyArNjc2LDcgQEAgcHJvamVjdC10cnktdmMtLXNlYXJjaAogICAgICAg ICAgICAobWFwY29uY2F0CiAgICAgICAgICAgICAobGFtYmRhIChtKSAoZm9ybWF0ICJcXCgl c1xcKSIgKHdpbGRjYXJkLXRvLXJlZ2V4cCBtKSkpCiAgICAgICAgICAgICAoYXBwZW5kIGJh Y2tlbmQtbWFya2VycwotICAgICAgICAgICAgICAgICAgICAocHJvamVjdC0tdmFsdWUtaW4t ZGlyICdwcm9qZWN0LXZjLWV4dHJhLXJvb3QtbWFya2VycyBkaXIpKQorICAgICAgICAgICAg ICAgICAgICAocHJvamVjdC0tdmFsdWUtaW4tZGlyICdwcm9qZWN0LXZjLWV4dHJhLXJvb3Qt bWFya2VycyBkaXIgdGltZW91dCkpCiAgICAgICAgICAgICAiXFx8IikKICAgICAgICAgICAg IlxcJyIpKQogICAgICAgICAgKGxvY2F0ZS1kb21pbmF0aW5nLXN0b3AtZGlyLXJlZ2V4cApA QCAtNzAyLDcgKzcwMSw3IEBAIHByb2plY3QtdHJ5LXZjLS1zZWFyY2gKICAgICAod2hpbGUg KGFuZAogICAgICAgICAgICAgcm9vdAogICAgICAgICAgICAgKGVxIGJhY2tlbmQgJ0dpdCkK LSAgICAgICAgICAgIChwcm9qZWN0LS12Yy1tZXJnZS1zdWJtb2R1bGVzLXAgcm9vdCkKKyAg ICAgICAgICAgIChwcm9qZWN0LS12Yy1tZXJnZS1zdWJtb2R1bGVzLXAgcm9vdCB0aW1lb3V0 KQogICAgICAgICAgICAgKHByb2plY3QtLXN1Ym1vZHVsZS1wIHJvb3QpKQogICAgICAgKGxl dCogKChwYXJlbnQgKGZpbGUtbmFtZS1kaXJlY3RvcnkgKGRpcmVjdG9yeS1maWxlLW5hbWUg cm9vdCkpKSkKICAgICAgICAgKHNldHEgcm9vdCAodmMtY2FsbC1iYWNrZW5kICdHaXQgJ3Jv b3QgcGFyZW50KSkpKQpAQCAtNzEzLDcgKzcxMiw3IEBAIHByb2plY3QtdHJ5LXZjLS1zZWFy Y2gKICAgICAgICAgKGxldCogKChwcm9qZWN0LXZjLWV4dHJhLXJvb3QtbWFya2VycyBuaWwp CiAgICAgICAgICAgICAgICA7OyBBdm9pZCBzdWJtb2R1bGVzIHNjYW4uCiAgICAgICAgICAg ICAgICAoZW5hYmxlLWRpci1sb2NhbC12YXJpYWJsZXMgbmlsKQotICAgICAgICAgICAgICAg KHBhcmVudCAocHJvamVjdC10cnktdmMtLXNlYXJjaCByb290KSkpCisgICAgICAgICAgICAg ICAocGFyZW50IChwcm9qZWN0LXRyeS12Yy0tc2VhcmNoIHJvb3QgdGltZW91dCkpKQogICAg ICAgICAgIChhbmQgcGFyZW50IChzZXRxIGJhY2tlbmQgKG50aCAxIHBhcmVudCkpKSkpCiAg ICAgICAoc2V0cSBwcm9qZWN0IChsaXN0ICd2YyBiYWNrZW5kIHJvb3QpKQogICAgICAgcHJv amVjdCkpKQpAQCAtNzYyLDcgKzc2MSw3IEBAIHByb2plY3QtdmMtLWJhY2tlbmQKIChjbC1k ZWZtZXRob2QgcHJvamVjdC1maWxlcyAoKHByb2plY3QgKGhlYWQgdmMpKSAmb3B0aW9uYWwg ZGlycykKICAgKG1hcGNhbgogICAgKGxhbWJkYSAoZGlyKQotICAgICAobGV0ICgoaWdub3Jl cyAocHJvamVjdC0tdmFsdWUtaW4tZGlyICdwcm9qZWN0LXZjLWlnbm9yZXMgZGlyKSkKKyAg ICAgKGxldCAoKGlnbm9yZXMgKHByb2plY3QtLXZhbHVlLWluLWRpciAncHJvamVjdC12Yy1p Z25vcmVzIGRpciBuaWwpKQogICAgICAgICAgICAoYmFja2VuZCAocHJvamVjdC12Yy0tYmFj a2VuZCBwcm9qZWN0IGRpcikpKQogICAgICAgIChpZiBiYWNrZW5kCiAgICAgICAgICAgICh2 Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAncHJvamVjdC1saXN0LWZpbGVzIGRpciBpZ25vcmVz KQpAQCAtNzkwLDcgKzc4OSw4IEBAIHZjLWdpdC1wcm9qZWN0LWxpc3QtZmlsZXMKICAgICAg ICAgICAgKHZjLWdpdC11c2UtbGl0ZXJhbC1wYXRoc3BlY3MgbmlsKQogICAgICAgICAgICAo aW5jbHVkZS11bnRyYWNrZWQgKHByb2plY3QtLXZhbHVlLWluLWRpcgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdwcm9qZWN0LXZjLWluY2x1ZGUtdW50cmFja2VkCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkaXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaWwpKQog ICAgICAgICAgICAoc3VibW9kdWxlcyAocHJvamVjdC0tZ2l0LXN1Ym1vZHVsZXMpKQogICAg ICAgICAgICAoZ2l0dmVyICh2Yy1naXQtLXByb2dyYW0tdmVyc2lvbikpCiAgICAgICAgICAg IChkZWR1cCAoYW5kICh2ZXJzaW9uPD0gIjIuMzEiIGdpdHZlcikgJygiLS1kZWR1cGxpY2F0 ZSIpKSkKQEAgLTg0Miw3ICs4NDIsNyBAQCB2Yy1naXQtcHJvamVjdC1saXN0LWZpbGVzCiAg ICAgICAgICAgICAgICAgICAgICh3aXRoLW91dHB1dC10by1zdHJpbmcKICAgICAgICAgICAg ICAgICAgICAgICAoYXBwbHkgIyd2Yy1naXQtY29tbWFuZCBzdGFuZGFyZC1vdXRwdXQgMCBu aWwgImxzLWZpbGVzIiBhcmdzKSkKICAgICAgICAgICAgICAgICAgICAgIlwwIiB0KSkpKQot ICAgICAgKHdoZW4gKHByb2plY3QtLXZjLW1lcmdlLXN1Ym1vZHVsZXMtcCBkZWZhdWx0LWRp cmVjdG9yeSkKKyAgICAgICh3aGVuIChwcm9qZWN0LS12Yy1tZXJnZS1zdWJtb2R1bGVzLXAg ZGVmYXVsdC1kaXJlY3RvcnkgbmlsKQogICAgICAgICA7OyBVbmZvcnR1bmF0ZWx5LCAnbHMt ZmlsZXMgLS1yZWN1cnNlLXN1Ym1vZHVsZXMnIGNvbmZsaWN0cyB3aXRoICctbycuCiAgICAg ICAgIChsZXQgKChzdWItZmlsZXMKICAgICAgICAgICAgICAgIChtYXBjYXIKQEAgLTg2Nyw3 ICs4NjcsOCBAQCB2Yy1oZy1wcm9qZWN0LWxpc3QtZmlsZXMKICAgKGxldCogKChkZWZhdWx0 LWRpcmVjdG9yeSAoZXhwYW5kLWZpbGUtbmFtZSAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSBk aXIpKSkKICAgICAgICAgIChpbmNsdWRlLXVudHJhY2tlZCAocHJvamVjdC0tdmFsdWUtaW4t ZGlyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9qZWN0LXZjLWluY2x1ZGUt dW50cmFja2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcikpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRpcgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBuaWwpKQogICAgICAgICAgKGFyZ3MgKGxpc3QgKGNvbmNhdCAiLW1jYXJkIiAoYW5kIGlu Y2x1ZGUtdW50cmFja2VkICJ1IikpCiAgICAgICAgICAgICAgICAgICAgICAiLS1uby1zdGF0 dXMiCiAgICAgICAgICAgICAgICAgICAgICAiLTAiKSkKQEAgLTg4NywxMCArODg4LDExIEBA IHZjLWhnLXByb2plY3QtbGlzdC1maWxlcwogICAgICAgICAgICAgICAgICAgICAgZmlsZXMp KSkKICAgICAgIGZpbGVzKSkpCiAKLShkZWZ1biBwcm9qZWN0LS12Yy1tZXJnZS1zdWJtb2R1 bGVzLXAgKGRpcikKKyhkZWZ1biBwcm9qZWN0LS12Yy1tZXJnZS1zdWJtb2R1bGVzLXAgKGRp ciB0aW1lb3V0KQogICAocHJvamVjdC0tdmFsdWUtaW4tZGlyCiAgICAncHJvamVjdC12Yy1t ZXJnZS1zdWJtb2R1bGVzCi0gICBkaXIpKQorICAgZGlyCisgICB0aW1lb3V0KSkKIAogKGRl ZnVuIHByb2plY3QtLWdpdC1zdWJtb2R1bGVzICgpCiAgIDs7ICdnaXQgc3VibW9kdWxlIGZv cmVhY2gnIGlzIG11Y2ggc2xvd2VyLgpAQCAtOTA3LDcgKzkwOSw3IEBAIHByb2plY3QtLWdp dC1zdWJtb2R1bGVzCiAoY2wtZGVmbWV0aG9kIHByb2plY3QtaWdub3JlcyAoKHByb2plY3Qg KGhlYWQgdmMpKSBkaXIpCiAgIChwcm9qZWN0LS12Yy1pZ25vcmVzIGRpcgogICAgICAgICAg ICAgICAgICAgICAgICAocHJvamVjdC12Yy0tYmFja2VuZCBwcm9qZWN0IGRpcikKLSAgICAg ICAgICAgICAgICAgICAgICAgKHByb2plY3QtLXZhbHVlLWluLWRpciAncHJvamVjdC12Yy1p Z25vcmVzIGRpcikpKQorICAgICAgICAgICAgICAgICAgICAgICAocHJvamVjdC0tdmFsdWUt aW4tZGlyICdwcm9qZWN0LXZjLWlnbm9yZXMgZGlyIG5pbCkpKQogCiAoZGVmdW4gcHJvamVj dC0tdmMtaWdub3JlcyAoZGlyIGJhY2tlbmQgZXh0cmEtaWdub3JlcykKICAgKHJlcXVpcmUg J3ZjKSAgICAgICAgICAgICA7IENhbiBiZSByZW1vdmVkIHdoZW4gd2UgcmVxdWlyZSBFbWFj cyAzMS4xLgpAQCAtOTY0LDE2ICs5NjYsMTkgQEAgcHJvamVjdC1zdWJ0cmFjdC1kaXJlY3Rv cmllcwogICA7OyBTaWRlc3RlcCB0aGUgaXNzdWUgb2YgZXhwYW5kZWQvYWJicmV2aWF0ZWQg ZmlsZSBuYW1lcyBoZXJlLgogICAoY2wtc2V0LWRpZmZlcmVuY2UgZmlsZXMgZGlycyA6dGVz dCAjJ2ZpbGUtaW4tZGlyZWN0b3J5LXApKQogCi0oZGVmdW4gcHJvamVjdC0tdmFsdWUtaW4t ZGlyICh2YXIgZGlyKQorKGRlZnVuIHByb2plY3QtLXZhbHVlLWluLWRpciAodmFyIGRpciB0 aW1lb3V0KQorICAiTG9vayB1cCB2YXJpYWJsZSBWQVIncyB2YWx1ZSBpbiBESVIsIHdpdGgg Y2FjaGUgZHVyYXRpb24gVElNRU9VVC4KK0lmIFRJTUVPVVQgaXMgbmlsLCB0aGUgY2FjaGUg aXMgbm90IGludmFsaWRhdGVkLiIKICAgKGFsaXN0LWdldAogICAgdmFyCi0gICAobGV0ICgo Y2FjaGVkIChwcm9qZWN0LS1nZXQtY2FjaGVkIGRpciAncHJvamVjdC12Yy1kaXItbG9jYWxz KSkpCi0gICAgIChpZiAoZXEgY2FjaGVkICdub25lKQotICAgICAgICAgbmlsCi0gICAgICAg KG9yIGNhY2hlZAotICAgICAgICAgICAobGV0ICgocmVzIChwcm9qZWN0LS1yZWFkLWRpci1s b2NhbHMgZGlyKSkpCi0gICAgICAgICAgICAgKHByb2plY3QtLXNldC1jYWNoZWQgZGlyICdw cm9qZWN0LXZjLWRpci1sb2NhbHMgKG9yIHJlcyAnbm9uZSkpCi0gICAgICAgICAgICAgcmVz KSkpKQorICAgKHdoZW4gZW5hYmxlLWRpci1sb2NhbC12YXJpYWJsZXMKKyAgICAgKGxldCAo KGNhY2hlZCAocHJvamVjdC0tZ2V0LWNhY2hlZCBkaXIgJ3Byb2plY3QtdmMtZGlyLWxvY2Fs cyB0aW1lb3V0KSkpCisgICAgICAgKGlmIChlcSBjYWNoZWQgJ25vbmUpCisgICAgICAgICAg IG5pbAorICAgICAgICAgKG9yIGNhY2hlZAorICAgICAgICAgICAgIChsZXQgKChyZXMgKHBy b2plY3QtLXJlYWQtZGlyLWxvY2FscyBkaXIpKSkKKyAgICAgICAgICAgICAgIChwcm9qZWN0 LS1zZXQtY2FjaGVkIGRpciAncHJvamVjdC12Yy1kaXItbG9jYWxzIChvciByZXMgJ25vbmUp KQorICAgICAgICAgICAgICAgcmVzKSkpKSkKICAgIChkZWZhdWx0LXZhbHVlIHZhcikpKQog CiAoZGVmdW4gcHJvamVjdC0tcmVhZC1kaXItbG9jYWxzIChkaXIpCkBAIC05ODYsNyArOTkx LDcgQEAgcHJvamVjdC0tcmVhZC1kaXItbG9jYWxzCiAKIChjbC1kZWZtZXRob2QgcHJvamVj dC1idWZmZXJzICgocHJvamVjdCAoaGVhZCB2YykpKQogICAobGV0KiAoKHJvb3QgKGV4cGFu ZC1maWxlLW5hbWUgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKHByb2plY3Qtcm9vdCBwcm9q ZWN0KSkpKQotICAgICAgICAgKG1vZHVsZXMgKHVubGVzcyAob3IgKHByb2plY3QtLXZjLW1l cmdlLXN1Ym1vZHVsZXMtcCByb290KQorICAgICAgICAgKG1vZHVsZXMgKHVubGVzcyAob3Ig KHByb2plY3QtLXZjLW1lcmdlLXN1Ym1vZHVsZXMtcCByb290IG5pbCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjb25kaXRpb24tY2FzZSBuaWwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAocHJvamVjdC0tc3VibW9kdWxlLXAgcm9vdCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbWlzc2luZyBuaWwpKSkKQEAgLTEw MDQsMTIgKzEwMDksOCBAQCBwcm9qZWN0LWJ1ZmZlcnMKICAgICAobnJldmVyc2UgYnVmcykp KQogCiAoY2wtZGVmbWV0aG9kIHByb2plY3QtbmFtZSAoKHByb2plY3QgKGhlYWQgdmMpKSkK LSAgIlJldHVybnMgdGhlIG5hbWUgb2YgdGhpcyBWQy1hd2FyZSB0eXBlIFBST0pFQ1QuCi0K LVRoZSB2YWx1ZSBpcyBjYWNoZWQsIGFuZCBkZXBlbmRpbmcgb24gd2hldGhlciBgbm9uLWVz c2VudGlhbCcgaXMgbmlsLAotdGhlIHRpbWVvdXQgaXMgZGV0ZXJtaW5lZCBieSBgcHJvamVj dC12Yy1jYWNoZS10aW1lb3V0JyBvcgotYHByb2plY3QtdmMtbm9uLWVzc2VudGlhbC1jYWNo ZS10aW1lb3V0Jy4iCi0gIChvciAocHJvamVjdC0tdmFsdWUtaW4tZGlyICdwcm9qZWN0LXZj LW5hbWUgKHByb2plY3Qtcm9vdCBwcm9qZWN0KSkKKyAgIlJldHVybnMgdGhlIG5hbWUgb2Yg dGhpcyBWQy1hd2FyZSB0eXBlIFBST0pFQ1QuIgorICAob3IgKHByb2plY3QtLXZhbHVlLWlu LWRpciAncHJvamVjdC12Yy1uYW1lIChwcm9qZWN0LXJvb3QgcHJvamVjdCkgbmlsKQogICAg ICAgKGNsLWNhbGwtbmV4dC1tZXRob2QpKSkKIAogDApAQCAtMjczMSw4ICsyNzMyLDcgQEAg cHJvamVjdC11bmlxdWlmeS1kaXJuYW1lLXRyYW5zZm9ybQogdGhlIGJ1ZmZlcidzIGRpcmVj dG9yeSBuYW1lIHdoZW4gYnVmZmVycyBmcm9tIHR3byBkaWZmZXJlbnQgcHJvamVjdHMKIHdv dWxkIG90aGVyd2lzZSBoYXZlIHRoZSBzYW1lIG5hbWUuIgogICAoaWYtbGV0KiAoKHByb2og KHByb2plY3QtY3VycmVudCBuaWwgZGlybmFtZSkpKQotICAgICAgKGxldCAoKHJvb3QgKHBy b2plY3Qtcm9vdCBwcm9qKSkKLSAgICAgICAgICAgIChub24tZXNzZW50aWFsIHQpKQorICAg ICAgKGxldCAoKHJvb3QgKHByb2plY3Qtcm9vdCBwcm9qKSkpCiAgICAgICAgIChleHBhbmQt ZmlsZS1uYW1lCiAgICAgICAgICAoZmlsZS1uYW1lLWNvbmNhdAogICAgICAgICAgIChmaWxl LW5hbWUtZGlyZWN0b3J5IHJvb3QpCkBAIC0yNzc4LDcgKzI3NzgsNiBAQCBwcm9qZWN0LW1v ZGUtbGluZS1mb3JtYXQKICAgICA7OyAnbGFzdC1jb2Rpbmctc3lzdGVtLXVzZWQnIHdoZW4g cmVhZGluZyB0aGUgcHJvamVjdCBuYW1lCiAgICAgOzsgZnJvbSAuZGlyLWxvY2Fscy5lbCBh bHNvIGVuYWJsZXMgZmx5c3BlbGwtbW9kZSAoYnVnIzY2ODI1KS4KICAgICAod2hlbi1sZXQq ICgobGFzdC1jb2Rpbmctc3lzdGVtLXVzZWQgbGFzdC1jb2Rpbmctc3lzdGVtLXVzZWQpCi0g ICAgICAgICAgICAgICAgKG5vbi1lc3NlbnRpYWwgdCkKICAgICAgICAgICAgICAgICAocHJv amVjdCAocHJvamVjdC1jdXJyZW50KSkKICAgICAgICAgICAgICAgICAocHJvamVjdC1uYW1l IChwcm9qZWN0LW5hbWUgcHJvamVjdCkpKQogICAgICAgKGNvbmNhdApkaWZmIC0tZ2l0IGEv dGVzdC9saXNwL3Byb2dtb2Rlcy9wcm9qZWN0LXRlc3RzLmVsIGIvdGVzdC9saXNwL3Byb2dt b2Rlcy9wcm9qZWN0LXRlc3RzLmVsCmluZGV4IDI5YWFhYTFlNTAyLi5mMTdlYTQ2YjQxMSAx MDA2NDQKLS0tIGEvdGVzdC9saXNwL3Byb2dtb2Rlcy9wcm9qZWN0LXRlc3RzLmVsCisrKyBi L3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC10ZXN0cy5lbApAQCAtMTUwLDcgKzE1MCw3 IEBAIHByb2plY3QtdmMtc3VwcG9ydHMtcHJvamVjdC1pbi1kaWZmZXJlbnQtZGlyCiAgICJD aGVjayB0aGF0IGl0IHBpY2tzIHVwIGRpci1sb2NhbHMgc2V0dGluZ3MgZnJvbSBzb21ld2hl cmUgZWxzZS4iCiAgIChza2lwLXVubGVzcyAoZXEgKHZjLXJlc3BvbnNpYmxlLWJhY2tlbmQg ZGVmYXVsdC1kaXJlY3RvcnkpICdHaXQpKQogICAobGV0KiAoKGRpciAoZXJ0LXJlc291cmNl LWRpcmVjdG9yeSkpCi0gICAgICAgICAoXyAodmMtZmlsZS1jbGVhcnByb3BzIGRpcikpCisg ICAgICAgICAoXyAocHJvamVjdC0tY2xlYXItY2FjaGUpKQogICAgICAgICAgKHByb2plY3Qt dmMtZXh0cmEtcm9vdC1tYXJrZXJzICcoIi5kaXItbG9jYWxzLmVsIikpCiAgICAgICAgICAo cHJvamVjdCAocHJvamVjdC1jdXJyZW50IG5pbCBkaXIpKSkKICAgICAoc2hvdWxkLW5vdCAo bnVsbCBwcm9qZWN0KSkKQEAgLTE4MSw3ICsxODEsNyBAQCBwcm9qZWN0LXZjLWlnbm9yZXMt aW4tZXh0ZXJuYWwtZGlyZWN0b3J5CiAgICJDaGVjayB0aGF0IGl0IGFwcGxpZXMgcHJvamVj dC12Yy1pZ25vcmVzIHdoZW4gRElSIGlzIGV4dGVybmFsIHRvIHJvb3QuIgogICAoc2tpcC11 bmxlc3MgKGVxICh2Yy1yZXNwb25zaWJsZS1iYWNrZW5kIGRlZmF1bHQtZGlyZWN0b3J5KSAn R2l0KSkKICAgKGxldCogKChkaXIgKGVydC1yZXNvdXJjZS1kaXJlY3RvcnkpKQotICAgICAg ICAgKF8gKHZjLWZpbGUtY2xlYXJwcm9wcyBkaXIpKQorICAgICAgICAgKF8gKHByb2plY3Qt LWNsZWFyLWNhY2hlKSkKICAgICAgICAgIDs7IERvIG5vdCBkZXRlY3QgVkMgYmFja2VuZC4K ICAgICAgICAgIChwcm9qZWN0LXZjLWJhY2tlbmQtbWFya2Vycy1hbGlzdCBuaWwpCiAgICAg ICAgICAocHJvamVjdC12Yy1leHRyYS1yb290LW1hcmtlcnMgJygiY29uZmlndXJlLmFjIikp CkBAIC0yNTksNCArMjU5LDgwIEBAIHByb2plY3QtZmluZC1yZWdleHAtd2l0aC1wcmVmaXgK ICAgICAgIChzaG91bGQgKGVxdWFsIChzb3J0IChtYXBjYXIgIyd4cmVmLWl0ZW0tc3VtbWFy eSBtYXRjaGVzKSAjJ3N0cmluZzwpCiAgICAgICAgICAgICAgICAgICAgICAnKCIoKG5pbCAu ICgocHJvamVjdC12Yy1pZ25vcmVzIC4gKFwiZXRjXCIpKSkpKSIgImV0YyIpKSkpKSkKIAor KGVydC1kZWZ0ZXN0IHByb2plY3QtdHJ5LXZjLXVzZXMtY2FjaGUgKCkKKyAgIkNoZWNrIHRo YXQgaXQgcmV1c2VzIHRoZSB2YWx1ZSB0aGF0J3MgYWxyZWFkeSBjYWNoZWQuIgorICAoc2tp cC11bmxlc3MgKGVxICh2Yy1yZXNwb25zaWJsZS1iYWNrZW5kIGRlZmF1bHQtZGlyZWN0b3J5 KSAnR2l0KSkKKyAgOzsgUHJlcGFyZQorICAobGV0KiAoKGRpciAoZmlsZS1uYW1lLWRpcmVj dG9yeSBwcm9qZWN0LXRlc3RzLS10aGlzLWZpbGUpKQorICAgICAgICAgKF8gKHByb2plY3Qt LWNsZWFyLWNhY2hlKSkKKyAgICAgICAgIChwcm9qZWN0LXZjLWV4dHJhLXJvb3QtbWFya2Vy cyAnKCJmaWxlcy14LXRlc3RzLioiKSkKKyAgICAgICAgIChwcm9qZWN0IChwcm9qZWN0LWN1 cnJlbnQgbmlsIGRpcikpKQorICAgIChzaG91bGQgKG50aCAxIHByb2plY3QpKQorICAgIChz aG91bGQgKHN0cmluZy1tYXRjaC1wICIvdGVzdC9saXNwL1xcJyIgKHByb2plY3Qtcm9vdCBw cm9qZWN0KSkpCisgICAgKGxldCogKChwcm9qZWN0LXZjLWV4dHJhLXJvb3QtbWFya2VycyBu aWwpCisgICAgICAgICAgIChwcm9qZWN0LXZjLW5vbi1lc3NlbnRpYWwtY2FjaGUtdGltZW91 dCAwLjEpCisgICAgICAgICAgIChwcm9qZWN0LWNhY2hlZCAocHJvamVjdC1jdXJyZW50IG5p bCBkaXIpKSkKKyAgICAgIChzaG91bGQgKGVxdWFsIHByb2plY3QgcHJvamVjdC1jYWNoZWQp KSkpKQorCisoZXJ0LWRlZnRlc3QgcHJvamVjdC10cnktdmMtaW52YWxpZGF0ZXMtY2FjaGUg KCkKKyAgIkNoZWNrIHRoYXQgaXQgaW52YWxpZGF0ZXMgdGhlIGNhY2hlZCB2YWx1ZSB0aGF0 J3MgdG9vIG9sZC4iCisgICJDaGVjayB0aGF0IG9uZSBjYW4gYWRkIHdpbGRjYXJkIGVudHJp ZXMuIgorICAoc2tpcC11bmxlc3MgKGVxICh2Yy1yZXNwb25zaWJsZS1iYWNrZW5kIGRlZmF1 bHQtZGlyZWN0b3J5KSAnR2l0KSkKKyAgOzsgUHJlcGFyZQorICAobGV0KiAoKGRpciAoZmls ZS1uYW1lLWRpcmVjdG9yeSBwcm9qZWN0LXRlc3RzLS10aGlzLWZpbGUpKQorICAgICAgICAg KF8gKHByb2plY3QtLWNsZWFyLWNhY2hlKSkKKyAgICAgICAgIChwcm9qZWN0LXZjLWV4dHJh LXJvb3QtbWFya2VycyAnKCJmaWxlcy14LXRlc3RzLioiKSkKKyAgICAgICAgIChwcm9qZWN0 IChwcm9qZWN0LWN1cnJlbnQgbmlsIGRpcikpKQorICAgIChzaG91bGQgKG50aCAxIHByb2pl Y3QpKQorICAgIChzaG91bGQgKHN0cmluZy1tYXRjaC1wICIvdGVzdC9saXNwL1xcJyIgKHBy b2plY3Qtcm9vdCBwcm9qZWN0KSkpCisgICAgKGxldCogKChwcm9qZWN0LXZjLWV4dHJhLXJv b3QtbWFya2VycyBuaWwpCisgICAgICAgICAgIChwcm9qZWN0LXZjLW5vbi1lc3NlbnRpYWwt Y2FjaGUtdGltZW91dCAwLjApCisgICAgICAgICAgIChwcm9qZWN0LWZyZXNoIChwcm9qZWN0 LWN1cnJlbnQgbmlsIGRpcikpKQorICAgICAgKHNob3VsZCAoZmlsZS1lcXVhbC1wCisgICAg ICAgICAgICAgICAocHJvamVjdC1yb290IHByb2plY3QtZnJlc2gpCisgICAgICAgICAgICAg ICAoZXhwYW5kLWZpbGUtbmFtZSAiLi4vLi4vLi4vIiBkaXIpKSkpKSkKKworKGVydC1kZWZ0 ZXN0IHByb2plY3QtbmFtZS08dmM+LXJldXNlcy1jYWNoZSAoKQorICAiQ2hlY2sgdGhhdCBp dCByZXVzZXMgdGhlIGNhY2hlZCB2YWx1ZS4iCisgIChza2lwLXVubGVzcyAoZXEgKHZjLXJl c3BvbnNpYmxlLWJhY2tlbmQgZGVmYXVsdC1kaXJlY3RvcnkpICdHaXQpKQorICAocHJvamVj dC0tY2xlYXItY2FjaGUpCisgIChlcnQtd2l0aC10ZW1wLWRpcmVjdG9yeSBkaXIKKyAgICAo d3JpdGUtcmVnaW9uICIoKG5pbCAuICgocHJvamVjdC12Yy1uYW1lIC4gXCJiYXJiYXpcIikp KSkiCisgICAgICAgICAgICAgICAgICBuaWwKKyAgICAgICAgICAgICAgICAgIChleHBhbmQt ZmlsZS1uYW1lICIuZGlyLWxvY2Fscy5lbCIgZGlyKSkKKyAgICAod3JpdGUtcmVnaW9uICIi IG5pbCAoZXhwYW5kLWZpbGUtbmFtZSAicHJvamVjdC1tYXJrZXIiIGRpcikpCisgICAgKGxl dCogKChwcm9qZWN0LXZjLWV4dHJhLXJvb3QtbWFya2VycyAnKCJwcm9qZWN0LW1hcmtlciIp KQorICAgICAgICAgICAocHJvamVjdCAocHJvamVjdC1jdXJyZW50IG5pbCBkaXIpKSkKKyAg ICAgIChzaG91bGQgKGVxdWFsIChwcm9qZWN0LW5hbWUgcHJvamVjdCkKKyAgICAgICAgICAg ICAgICAgICAgICJiYXJiYXoiKSkKKyAgICAgIChsZXQqICgocHJvamVjdC12Yy1leHRyYS1y b290LW1hcmtlcnMgbmlsKQorICAgICAgICAgICAgIChwcm9qZWN0LXZjLW5vbi1lc3NlbnRp YWwtY2FjaGUtdGltZW91dCAwKSkKKyAgICAgICAgOzsgTm8gY2hhbmdlLCBldmVuIGlmIHRo ZSBjb3JyZXNwb25kaW5nIGNhY2hlIGV4cGlyZWQuCisgICAgICAgIChzaG91bGQgKGVxdWFs IChwcm9qZWN0LW5hbWUgcHJvamVjdCkKKyAgICAgICAgICAgICAgICAgICAgICAgImJhcmJh eiIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHByb2plY3QtbmFtZS08dmM+LW9iZXlzLWNhY2hl LWludmFsaWRhdGlvbiAoKQorICAiQ2hlY2sgdGhhdCBwcm9qZWN0LW5hbWUgY2FjaGUgb2Jl eXMgaW52YWxpZGF0aW9uIGluIHByb2plY3QtdHJ5LXZjLiIKKyAgKHNraXAtdW5sZXNzIChl cSAodmMtcmVzcG9uc2libGUtYmFja2VuZCBkZWZhdWx0LWRpcmVjdG9yeSkgJ0dpdCkpCisg IChwcm9qZWN0LS1jbGVhci1jYWNoZSkKKyAgKGVydC13aXRoLXRlbXAtZGlyZWN0b3J5IGRp cgorICAgICh3cml0ZS1yZWdpb24gIigobmlsIC4gKChwcm9qZWN0LXZjLW5hbWUgLiBcImJh cmJhelwiKSkpKSIKKyAgICAgICAgICAgICAgICAgIG5pbAorICAgICAgICAgICAgICAgICAg KGV4cGFuZC1maWxlLW5hbWUgIi5kaXItbG9jYWxzLmVsIiBkaXIpKQorICAgICh3cml0ZS1y ZWdpb24gIiIgbmlsIChleHBhbmQtZmlsZS1uYW1lICJwcm9qZWN0LW1hcmtlciIgZGlyKSkK KyAgICAobGV0KiAoKHByb2plY3QtdmMtZXh0cmEtcm9vdC1tYXJrZXJzICcoInByb2plY3Qt bWFya2VyIikpCisgICAgICAgICAgIChwcm9qZWN0IChwcm9qZWN0LWN1cnJlbnQgbmlsIGRp cikpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKHByb2plY3QtbmFtZSBwcm9qZWN0KQorICAg ICAgICAgICAgICAgICAgICAgImJhcmJheiIpKQorICAgICAgKGRlbGV0ZS1maWxlIChleHBh bmQtZmlsZS1uYW1lICIuZGlyLWxvY2Fscy5lbCIgZGlyKSkKKyAgICAgIChsZXQqICgocHJv amVjdC12Yy1ub24tZXNzZW50aWFsLWNhY2hlLXRpbWVvdXQgMCkKKyAgICAgICAgICAgICAo cHJvamVjdC1mcmVzaCAocHJvamVjdC1jdXJyZW50IG5pbCBkaXIpKSkKKyAgICAgICAgOzsg U2FtZSBwcm9qZWN0IHJvb3QuCisgICAgICAgIChzaG91bGQgKGVxdWFsIHByb2plY3QgcHJv amVjdC1mcmVzaCkpCisgICAgICAgIDs7IEJ1dCB0aGUgbmFtZSBpcyByZWZyZXNoZWQuCisg ICAgICAgIChzaG91bGQgKG5vdCAoZXF1YWwgKHByb2plY3QtbmFtZSBwcm9qZWN0KSAiYmFy YmF6IikpKQorICAgICAgICAoc2hvdWxkIChlcXVhbCAocHJvamVjdC1uYW1lIHByb2plY3Qp CisgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLW5hbWUtbm9uZGlyZWN0b3J5CisgICAg ICAgICAgICAgICAgICAgICAgICAoZGlyZWN0b3J5LWZpbGUtbmFtZSBkaXIpKSkpKSkpKQor CiA7OzsgcHJvamVjdC10ZXN0cy5lbCBlbmRzIGhlcmUK --------------hdBtLWeu60EhSTywxRIKILCJ--
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 29 Jun 2026 15:32:46 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 29 11:32:46 2026 Received: from localhost ([127.0.0.1]:38731 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1weDyW-0007Uf-1y for submit <at> debbugs.gnu.org; Mon, 29 Jun 2026 11:32:45 -0400 Received: from mout-p-103.mailbox.org ([80.241.56.161]:51516) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1weDy3-0007RF-ER for 81317 <at> debbugs.gnu.org; Mon, 29 Jun 2026 11:32:20 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4gpqyb5lG7z9t4r; Mon, 29 Jun 2026 17:32:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1782747127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=cezjbhwf1ZCdrDl7+SdyBEPAxlw5UTXuith/7ztv6j0=; b=wKPmDmIM8ZLfqZxK/7lPOj76uPP3tgWhPWK1KyUTLXGxNXhIXPDOWUMtvE9epPUKdyJ67o P7QJD8MTmMLWzw3xMN8deRJJ49TULgx9CKFKqAS4epQyfXPKxnDn+ivFHtTQnclz2nmomN CpEUFln3CBo7CDJC1jPKuntTRr/9NHKgzKXjxFfukaC6W2d2epUPSQ4WGRm+2AGAz/k1LV 48jqpEs2Mi1MEOzdrxSqCFiJaW9zu/i4RBpbmI/Ar3yPSX4TbYXwSpsCoC2lwlCEvPGgwn 9Hf2Or2DN9/xTSFvOL5F3dcgir8VPRqwhDg6nY9iWHU7UUasvWfIWlSnb4sr7g== Authentication-Results: outgoing_mbo_mout; dkim=none; spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates 2001:67c:2050:b231:465::1 as permitted sender) smtp.mailfrom=juri@HIDDEN From: Juri Linkov <juri@HIDDEN> To: Dmitry Gutov <dmitry@HIDDEN> Subject: Re: bug#81317: project-vc-cache might be too optimistic In-Reply-To: <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> Organization: LINKOV.NET References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> Date: Mon, 29 Jun 2026 18:09:48 +0300 Message-ID: <87bjct765v.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 4gpqyb5lG7z9t4r X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> 4. Use a dynamically bound variable to specify >> the preference like >> (let ((project-vc-cache 'essential)) >> (project-current)) > > How do you see it combined with the existing conditions? As 'and' or 'or' > or replacing them? Probably it should override other conditions for simplicity. > Speaking of the last part, it might be non-intuitive that caching in > 'project-current' and 'project-name' are decided by different conditions, > even though they usually appear in code together. Maybe we could make > 'project-name' always use the longer cache, leaving "essential" > invalidation up to 'project-current' when appropriate (*). That could > simplify things. This means to change caching for 'project-vc-dir-locals' in 'project--value-in-dir'?
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 29 Jun 2026 01:43:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 28 21:43:11 2026 Received: from localhost ([127.0.0.1]:60961 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1we11j-0007cK-78 for submit <at> debbugs.gnu.org; Sun, 28 Jun 2026 21:43:11 -0400 Received: from fhigh-b5-smtp.messagingengine.com ([202.12.124.156]:35013) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1we11f-0007bj-2e for 81317 <at> debbugs.gnu.org; Sun, 28 Jun 2026 21:43:09 -0400 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.stl.internal (Postfix) with ESMTP id 9FA6E7A005F; Sun, 28 Jun 2026 21:43:01 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-02.internal (MEProxy); Sun, 28 Jun 2026 21:43:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1782697381; x=1782783781; bh=gbTehSH5sfjoN3yJwl1JmqFX7+iRtwQPdj9FvdX1JM4=; b= B79uo5a3CUQMEbRP7FB437hw5sQ4zMK2XhBqO6AlhMXyZ7nrdKCgtIVWvdue0Nhp XBn6+L7tKk8Ecc2LU8NESl5pCfabPcGhWNA/M/BQFekAMh8VkTwpiw9dcWN7avA3 6MadjQn6PYjGlaWjpgfsCqm3UeUjLIQodQw6VktF1mi9bl3kxknrm7AuZJVCvOs/ 8jtZx9PvI15cGznhhIAuL4fe1/MohxAW4AUVLZsZNasYSB7lwVmYIcOvaBqN44Xb R9SEsOXDgRou8OhXZfaHj9/mIEF81zkwXMy7Ly8FJH+xCTw1p9PxUPeAcu6hgEGr /fAO6RSzZTOL8OkP0fUfPQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1782697381; x= 1782783781; bh=gbTehSH5sfjoN3yJwl1JmqFX7+iRtwQPdj9FvdX1JM4=; b=g 5qLJ3tnAjk7a77qSVkcxbDsawAzjDTI0yRH9C+0mY6eIAQPDJk7T0tgoUcRdvGUF Jf7tRnLGmC/lpB/+c6VWgBxOIRl7rkHXssGBWwvMGfc4Xrh8Fnmc5j8vUQu3bajJ RC6GkOEOix+64GK69ek2kbnaY5WivrPJNqObXlwjyJmt27b0VH6nCOcQQbBKAZQe w37sH75Zg7zbiTrjvcuIXPYnI01OjzCGqvzyOv2SmTEjkORPZvEL5JsDrRPElXGP /0cwerUwPCmj4OxQ+VkhrvfrORtpLT1gpX1k1/TUY7aBcfPCyRbhFAeHXi7GyrdJ CyvHeRZzT5T7CZr7xITsg== X-ME-Sender: <xms:pc1Bag4A871k02PtODvYzxAvp49_-Yn4pc0CYtB4K-yZokMdKwfYAw> <xme:pc1Bao5amsYjZCNgtO4ESUymsJ1IEDLmlbH2hHyauKrgPbJwPQx-X2S5DCBkM_iqH E2onYdMeF5aNTaBYR1ygpwdzzXU7Lx2t8huKatjtwjqKCvAC2Hc8Sjz> X-ME-Received: <xmr:pc1Bakcw5kkzR4rMZvG-NTUDmRP0BVEdF7_Aqvx8p_TGBcQSJJR0cZ6qbg7FWlu5bIjt> X-ME-Proxy-Cause: dmFkZTFlqo/CGHd/fH4EKIyVcxcvEdi2LE8KJbScRA4Bgll01UmAwGLCddYKV6Mh7ArGhF uUrTuI9pKhH7QUURemTSLiShx7rZRdAf4SI03WdVqFwBdJlyHdOiLG62ApKlHeLpmFVwWf Feit/8pqVwlsewcxYZaJjixIxJ+NaxrCQYVwke5a8nbLm4yd6zVU2AYR4R0O/KTAwXPbgD SDUv9Uyzxg4EMgX4ia++skgBH9aeBcObtkqhhuokIao59CFryz02baO4xO8Y/k77uh1HeH 7yHzqRCESRuAx8pw4LLkgErCimRWKPQ/UCU6Gnjkf1RhJ+wZZTPZ34+ZJ01u6VdyDsw2fx H4h8agP3/HWdjQZTbqMaj6WTiC40nfQ8QMBKQ4QECqXAPp51UniFZZvqbveeygY0/KvlUH 9Vtm7FARBgYOV6XrqZLpxkwLeaovedg9rQkL8rDEpCSb3X9h1Bs/cFIusO+6ipzqGXNLs6 wIZjnuuvUjC6MU0a1AEomQcBqIZPSMk1druzrpJOUbzUIiqjo9nGFqOpGIrvoC0srSwCxO SD4ONgvkOXEiXnYrJMg9QV9m7s4yzFNBxNDk+C/vZz1JYJ2uopljkK7MWBj+zJVvqKvmvn CfvgZ5+WU+z2IiT4oGa16n1A0U7wyIQ5StZIpr0HI3oM8v9ro2rP3y19IplQ X-ME-Proxy: <xmx:pc1BakBm9jKAAii2nQp-o14VBaUBrsV2c3BBoFesxLnGIflgKWJtgg> <xmx:pc1Bav8-CIPdKL-8CLGILp0Mve8BQLOyQyffzbZATxVSyh9WkmCAkg> <xmx:pc1BanI6xrZkF1qT9mX3-zlIcTbdSgo0xQA5UXZqKPnO_KHU0sIy0g> <xmx:pc1Baghi7C8cMa4WCEEpqnbTmC3Dn8yEsH1fHDy-cPWKGQifCQ1dTw> <xmx:pc1Baj_VZiUxt-imvXjjej19W5N82AFHDApLvYzRXK82PJgohd85qFly> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 28 Jun 2026 21:42:59 -0400 (EDT) Message-ID: <e81edb33-1ad9-4a8e-8626-c99ee7fbf509@HIDDEN> Date: Mon, 29 Jun 2026 04:42:57 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#81317: project-vc-cache might be too optimistic To: Juri Linkov <juri@HIDDEN> References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> <87v7b2srg9.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <87v7b2srg9.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) On 28/06/2026 18:12, Juri Linkov wrote: > Let me add another variant: > > 4. Use a dynamically bound variable to specify > the preference like > > (let ((project-vc-cache 'essential)) > (project-current)) Thank you, indeed, instead of using an existing argument we could add a new variable. How do you see it combined with the existing conditions? As 'and' or 'or' or replacing them? The main constraint I've been considering is how to keep the existing code not regress in performance unless necessary, since the previous behavior was "cache all indefinitely". So if we "guessed" the existing usage patterns right, most of the future callers as well wouldn't have to study what affects cache longevity. But if we decide that this isn't working, moving to an opt-out hint through a dynamic variable seems fine. If combine it the conditions OT2H, the corresponding doc gets correspondingly longer (we have the effect of MAYBE-PROMPT, and the interaction with 'non-essential', and a new variable now). Speaking of the last part, it might be non-intuitive that caching in 'project-current' and 'project-name' are decided by different conditions, even though they usually appear in code together. Maybe we could make 'project-name' always use the longer cache, leaving "essential" invalidation up to 'project-current' when appropriate (*). That could simplify things. (*) The only counter-example I can think of is if some caller saves the value returned by 'project-current' to a longer-living variable and then expects 'project-name' to refresh. But that's pretty contrived.
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.
Received: (at 81317) by debbugs.gnu.org; 28 Jun 2026 15:24:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 28 11:24:31 2026
Received: from localhost ([127.0.0.1]:59390 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1wdrMy-0000GT-PC
for submit <at> debbugs.gnu.org; Sun, 28 Jun 2026 11:24:31 -0400
Received: from mout-p-201.mailbox.org ([80.241.56.171]:60484)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1wdrMu-0000FR-Al
for 81317 <at> debbugs.gnu.org; Sun, 28 Jun 2026 11:24:25 -0400
Received: from smtp202.mailbox.org (smtp202.mailbox.org
[IPv6:2001:67c:2050:b231:465::202])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(No client certificate requested)
by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4gpCqz6CCSz9th0;
Sun, 28 Jun 2026 17:24:15 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001;
t=1782660255;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
in-reply-to:in-reply-to:references:references;
bh=bHnMjK7Me1rNFMfUqfFxPU+Kr37GatmtkEvz5HH1MGA=;
b=EvT8JYEGPErMfGmppuTQeYroh5cERksh908U1hPpvYZbe+oBchMh8g7qOBEVLMsGyd9nIt
3Zl4pCD9J3GL0g6O+Q4kzKck9OL5FZff3U9v2NaraLLSVoV4kp1ee6l1XLeLBE+PghUn6F
N+mX2B5GshCnpPLjDMrkBvTpcv/855pGsMxHy7ST3aj5DElQFV0Gqr4WwGmpJwsRdxmur/
kDWJXBz6yK0ZmxwoahG879ZTibnURFRIP1145W5WwW9S28NUrU2Zu9WuHmsGPet2ghSwOM
Va5Mz4JpLjxoTnPI3KQi5ST6m7VCbiXdOW2s3vJuwazJ1ctYdeaTP4NDaqjADA==
Authentication-Results: outgoing_mbo_mout; dkim=none;
spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates
2001:67c:2050:b231:465::202 as permitted sender)
smtp.mailfrom=juri@HIDDEN
From: Juri Linkov <juri@HIDDEN>
To: Dmitry Gutov <dmitry@HIDDEN>
Subject: Re: bug#81317: project-vc-cache might be too optimistic
In-Reply-To: <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN>
Organization: LINKOV.NET
References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN>
<a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN>
<714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN>
Date: Sun, 28 Jun 2026 18:12:06 +0300
Message-ID: <87v7b2srg9.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Rspamd-Queue-Id: 4gpCqz6CCSz9th0
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 81317
Cc: Spencer Baugh <sbaugh@HIDDEN>, 81317 <at> debbugs.gnu.org,
Sean Whitton <spwhitton@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)
> Thoughts?
Thanks for the extensive analysis.
Let me add another variant:
4. Use a dynamically bound variable to specify
the preference like
(let ((project-vc-cache 'essential))
(project-current))
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at 81317) by debbugs.gnu.org; 27 Jun 2026 14:18:34 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 27 10:18:33 2026 Received: from localhost ([127.0.0.1]:52626 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wdTra-0002kz-Nm for submit <at> debbugs.gnu.org; Sat, 27 Jun 2026 10:18:33 -0400 Received: from fout-a7-smtp.messagingengine.com ([103.168.172.150]:59001) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1wdTrW-0002kH-37 for 81317 <at> debbugs.gnu.org; Sat, 27 Jun 2026 10:18:28 -0400 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.phl.internal (Postfix) with ESMTP id 631CAEC02FB; Sat, 27 Jun 2026 10:18:20 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-06.internal (MEProxy); Sat, 27 Jun 2026 10:18:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1782569900; x=1782656300; bh=7qbKzchec1tJ7gKsWu2jJM6F/oW91eMtMU96YGmcEiA=; b= VCYjpI5IdkaaB3+aXu1ZGy/rPClwzarq91PUKN+epqmvWmXSTd0YqsHwcPmaQENJ bDUL+K3OXXN8ll31sjzSy8rtLt8UpmagIJOsCcAx+E8TMxfqCcEiJOy3mkiMGjGF Ix6fqfLg/uVZCNR1yuAF6/CHvlfJriNJiCBoyznAfy/PkcD8m5WWw+cvPllNpjlC sVdG1hOdCn1gVHj3bfhhXRT0Zsh4POjMspb3txF0ngSwZAVi9kUi6KvCcsyH71Te 94TAM9GxCkzqnkR5T9PtxnaTvSXlGkZvY/vg0s0cBMQ2MDfeIlMFjO45ChTPp3dU ZF1Aik+CnAlQbBo4u7HFRg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1782569900; x= 1782656300; bh=7qbKzchec1tJ7gKsWu2jJM6F/oW91eMtMU96YGmcEiA=; b=L HsMWKS6sIPPo7BRyHoqh2QvZDLHNEYQgys0+rU2ShcmCmMq/R7aBbpHKrUH0gaAj AH0NAqfhJfKWJ5veTgk729052Ag7L3ifNFAXlkp505cLcsOBcbOhFS/zKQMVz/pX nvR9TqMrTFYyfgyMO1X3ceQwqZojZjVtDNjzHGmrBZ4a2CavTEbFf0QPQMmCmzM9 YsUXpm+BzhJuBkzKyHVCwmiOwpbpT67rYjuPxL6in28AAGxsVGN/QaRnPM9SwCvZ /bXdmUzvm06xybvIiQy02LRpn6CA0f7I4uhaT9lZrwENwrJ8asp5P423o1IEP6G5 cIN9imWHNSoAXFz1KJO6A== X-ME-Sender: <xms:q9s_ai7MCTXYZHjUMbrMR1jIBSBJHo8BaZOBnMVclH9UEqvrqa9YFA> <xme:q9s_ai4ENOS1pCzCZTd-Mhl561O0B-a70l8DkAfNANOHhs3bS7qZvSrqEH36CTLrG --t-fufTwDnzo3Hbi84Wa-TFRIiw0_V3Ml6AVPyrASRPP8hr2vm1Q> X-ME-Received: <xmr:q9s_amcpORIDHpe7irIiTavKH9m6cQ_2V4ng454T7xIQxcwzt_ddU39ndfNvlguuV3rD> X-ME-Proxy-Cause: dmFkZTF1LApVjjpuRZ9QvpBiezMo+di/Gz5LTJ+UVEcoAj2yIsS2w69av1bO60OhVAzb7q vn+bzAlb/qYSg2ydRW/TT2QnDL/QNd9HiAi0qzfJNybEiccdV2gGKsBeNlTO2FggQz93Mw ZDjEbGyTqD8WEUZiZEOs5yISIsO2ttGErSNkkgQOEBf4QphuhODWi8/qRci58273PgboT7 77a190QKMhoCTUBcNkGauhNzjH5tV6eJ4COpdL5yWwdewCkDTgi3kCKby/y3ytf6tD95n8 Mcy5dg54oRbt37Ysy2YXXrx2lvYIH3p8J7ccCSPkONWXBxfEZL4YogFv/DYp5Usn1Qc+sw EtlkEiVR0sJA8jC0Xzj46b9P8LZfPiPuHndvn2f0T0Aa3lWoAaRtQWJKCcO7jng/zzOojl IIE3fIZlukDdJtKwvg3LhDJlnVXms0405wpiydGkTVJE7tP681snkFS6Er0iusPCLuS9eK MYmRH0yWx5a4xPULlzT15jZsba5hgHZ85BsMRtoGf58bQed12kGtt5HZTJjJVBMBfPIXs1 JwV4x4nMcLlAPgcEbFKHk7NwFWEP6HM3biyDXyhVyEvzMn0M3npG9jDXohhcyE1lE0fjML 9+UJIHxzdtz3fGT9ikKH+sxaOHBz157zY+0mJ3f3Hw9YSJx8ITaEAWBNDf7Q X-ME-Proxy: <xmx:q9s_auA4nXOVD-9MplFsrHGOpW4WcHcCAkMAzlUVRFXTdqAZ9l01pw> <xmx:q9s_ah-ty9YfbIvbmQZKMXG7nxFO8g3c4t3qDUGAvnpRx5QZnDkcrg> <xmx:q9s_ahLebDv4qmIdxY5xtHh8LBYjX1WS-G2Yu033TosjSLfX2-K4vw> <xmx:q9s_aijNYfklsDscd88osvOgpg4kD0CjAhAgrGOvYdXFr5YXLQhZpQ> <xmx:rNs_al92oIgFDafGo-PXvKgySRkzzRnLF5TU3Ls_OBrs_d17xS_vnfRK> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 27 Jun 2026 10:18:18 -0400 (EDT) Message-ID: <714c8722-e623-49f3-a7f3-04d45c99b3c8@HIDDEN> Date: Sat, 27 Jun 2026 17:18:16 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#81317: project-vc-cache might be too optimistic From: Dmitry Gutov <dmitry@HIDDEN> To: 81317 <at> debbugs.gnu.org References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> Content-Language: en-US In-Reply-To: <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81317 Cc: Spencer Baugh <sbaugh@HIDDEN>, Juri Linkov <juri@HIDDEN>, Sean Whitton <spwhitton@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) On 27/06/2026 17:03, Dmitry Gutov wrote: > > (B2) Materializes stale result into longer-lived state > > project-uniquify-dirname-transform: (*) > (if-let* ((proj (project-current nil dirname))) > (let ((root (project-root proj)) > (non-essential t)) > ... > (project-name proj) > ...)) > > lsp--suggest-project-root: > (when-let* ((project (project-current))) > (project-root project)) > > lsp--try-project-root-workspaces: > (unless (-contains? (lsp-session-folders session) project-root) > (cl-pushnew project-root (lsp-session-folders session)) > (lsp--persist-session session)) > > ... If we agree that the effect on the callers from B2 is a cache that's too long/optimistic, one of the below could help. Or *insert your version*. 1. Make the DIR argument to project-current also imply "essential". Then all callers which specify the directory explicitly would usually refresh the cache (but with debouncing as it's now implemented). 2. Add a new possible value to MAYBE-PROMPT? Which would not actually prompt but would enable the shorter cache. Both 1 and 2 create an opt-out mechanism (out of the longer cache) to request the "fresh" project instance. Alternatively: 3. Delete the non-essential binding in project-current which is based on the value of MAYBE-PROMPT. This would regress the capability added in bug#69584 (could be handled another way, but -- breaking change) and require all callers to opt into the "longer" cache instead by using the explicit binding of non-essential. Thoughts? Opt-out approaches should result in more callers reusing the cache without a second thought (free performance). Opt-in puts it all in the hands of the caller, not relying on us to anticipate all usage patterns.
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.
Received: (at 81317) by debbugs.gnu.org; 27 Jun 2026 14:03:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 27 10:03:21 2026
Received: from localhost ([127.0.0.1]:52578 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1wdTcs-0001GL-Uy
for submit <at> debbugs.gnu.org; Sat, 27 Jun 2026 10:03:21 -0400
Received: from fout-a5-smtp.messagingengine.com ([103.168.172.148]:43261)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1wdTcn-0001FA-0K
for 81317 <at> debbugs.gnu.org; Sat, 27 Jun 2026 10:03:15 -0400
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
by mailfout.phl.internal (Postfix) with ESMTP id A7E54EC02B6;
Sat, 27 Jun 2026 10:03:07 -0400 (EDT)
Received: from phl-frontend-04 ([10.202.2.163])
by phl-compute-05.internal (MEProxy); Sat, 27 Jun 2026 10:03:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
:cc:content-transfer-encoding:content-type:content-type:date
:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to; s=fm3; t=1782568987;
x=1782655387; bh=OZPJFB4trmF+PfgAu07tAbDAjzSsziY7+BIbHD00SF0=; b=
FLJF5b3JhCOtKM7ZhehiTn9Wbd9ug+BeNoEjT4rPhNDxFU2CbmYyV4WZpKqMR6yM
v3LkvRPsuZ+lnCflyby3j65QJHv6UYQ0rT1qvm926LUxX3MdKAtqr/YyXmZhfAza
sbErG3a4NZddJ8qF26jB7s3QeBdJGhRu4KZ+4a+15MNOtZfx5PU64WI+BqCIricV
E1iWse2I+1yiLqWw27I5bgc0ia6Le/2raOvFB92m6HcYHqxHBfAZ/WBIs2jHcZq9
QSXXhrE9fhGHv9Z00sfi248tmL4uslvF/f1JqVxbQafSWx49VMMqei8tqGhhQfCI
fHUcQpGE6TeoExpDhdlcsQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-transfer-encoding
:content-type:content-type:date:date:feedback-id:feedback-id
:from:from:in-reply-to:in-reply-to:message-id:mime-version
:references:reply-to:subject:subject:to:to:x-me-proxy
:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1782568987; x=
1782655387; bh=OZPJFB4trmF+PfgAu07tAbDAjzSsziY7+BIbHD00SF0=; b=c
rjJu8uvnG+vQ0vMVOyiayrojtbXOXEmM3cZD/ynn3QTfsTUSeX1BiCMrxDgY0C6s
Uaz8xc4IVk2f8/c2wdur+TzZjskz1ndUjb8AKZnnNAxnExy2TzpYv6reyMOkcl74
X88SsxNagGczHY6hysevSPr6lP4iGtUx4lIwhLOAE4H1tuG15az67kqKRQv9O4ua
35Pxywx7vRFP0+8O+QGT3CPkEY7AczqpIKSmdhy1Pr9GgWRa2JAY9r2B9Anp6SqN
I+GYVw2EicYv612JrZAfhdk08/6/Gb5nQyhEs62eYq0TOoYecSwVJbnwjn7OJ7Lk
cQrXw9eqKOB1dVLlz9vcA==
X-ME-Sender: <xms:G9g_aqaySOP8kJfjZ8jO01QPI5MWqbBxDhxIM4Mx80X0mVxByb4snQ>
<xme:G9g_akb1qx6oFFvM-ESQG-iKBwBAeyVD7u9p5qos2H4Jsv45dbmCDvqgtxA_wILij
P9r9lqmFvjRFCe2jjeJ8SGyzyjuv9V5lVQKx1rWdCTH5G3ddv0jsFI>
X-ME-Received: <xmr:G9g_ap9gBsxbGo3HFpUDO4cEqmHYBW1sadHGvWNZlGwIc1ff-8tM6u9KDFXarhqzi7xW>
X-ME-Proxy-Cause: dmFkZTGxjD29nHa4h2cR+pkXcvvDxBLLJm63qCV2aQ32dkwASma75Xfz8OI5IwKhrXGdyd
+LTPQ342U/mdaXtg05iZV/OV/w/hsAlFICYT/3nTUaspgsfpb9Ax0ZaoHas5K3wyipjdqs
C7wRu/4ovCYYTzqS7DG/gLLF6KVZm1uQddo+YH/5nn2Xqj1ZmYWQ7MSy0odCoISbiCO1KP
NsywY319lwIr6cdhZme9oU6vmICVhw2JESD+bNVgOSUV4RUt+7wn4FuSaRzCc+4++Hdcf1
vwJXeGtgfR7lV9Vk7tD6+r8LZ/7ZwatOjTioB9Eb/zTb/qDbrgymr0kX7u9++8BM8Rl3iB
QuzZzX3BcTP+rvNl8IOFg0jQGuMvlOAh/JaCGx4G9LYvzynK/5uWRGb9r9LHKVcgXs45yX
MXrALZYN5+HP9qBtvtxG7fffssF74p1ZulGgTKInjxN9QX553sFNNaPl6huHAkLaJoCo55
8nv3x72UzC2j3XZk07ce1kBGKJPLqO/B8PRfIpEv4Juokgv7by1iGbVtkNAiibaQXTazts
1YB6JjjG+29B9wdAZFBdJGJeAfo3BpSL5mqkZL9L5P+rye2pNwxomM1jf2UJJmvx98FbrK
x1bfmFFSYyF81Fo7dSnMNnaU/HfwRSiEhRwbNi+2ymcflULi81YKuMPRtIXQ
X-ME-Proxy: <xmx:G9g_argLOmfYvENbxW_y4Jtg1maOCSMzxH4yRQzLB7TMwoTktX_wcA>
<xmx:G9g_aheDHyVqLRYlkp8lmvHfr6hiG85FvFwO7n76J2x55bOlgWxHZA>
<xmx:G9g_aqrI-zfFxBg4suZcJVbtQf2rQSlPcar68l8wz35kRh678zdgHA>
<xmx:G9g_auA_IP2dMDlpwTggr4HePf5YkkZKtfdS4PW8kLqgR6U0TDnsfw>
<xmx:G9g_apfjLWhD2rfg6v6tR_8vLhpk6kjpFQariM3WOtFFzT-HRhs5saMn>
Feedback-ID: i07de48aa:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
27 Jun 2026 10:03:05 -0400 (EDT)
Message-ID: <a720fc51-7af6-40bb-a9d5-a7d664ca72df@HIDDEN>
Date: Sat, 27 Jun 2026 17:03:04 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#81317: project-vc-cache might be too optimistic
From: Dmitry Gutov <dmitry@HIDDEN>
To: 81317 <at> debbugs.gnu.org
References: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN>
Content-Language: en-US
In-Reply-To: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 81317
Cc: Spencer Baugh <sbaugh@HIDDEN>, Juri Linkov <juri@HIDDEN>,
Sean Whitton <spwhitton@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)
On 27/06/2026 16:59, Dmitry Gutov wrote:
> Let's establish classification: A, B1, B2, C, *
Here are the callers from Emacs core and from the packages I have
installed, sorted into these categories.
(A) Explicit (project-current t) callers
project-find-file:
(project-current t)
project-dired:
(project-root (project-current t))
xref-find-definitions:
(project-current t)
run-python:
(let* ((project (and (eq 'project dedicated)
(project-current t)))
(default-directory (if project
(project-root project)
default-directory))
...)
magit-project-status:
(project-root (project-current t))
disproject-eshell:
(project-root (project-current t))
(B1) nil MAYBE-PROMPT, stale result recoverable by retry/restart/reopen
eglot--current-project:
(or (project-current)
`(transient . ,(expand-file-name default-directory)))
helm-grep--prepare-candidates:
(project-current)
counsel-projectile-rg:
(project-current)
disproject-default-find-line:
(if-let* ((project (project-current)))
...)
xref--find-ignores-arguments: (*)
(project-current nil dir)
vc-switch-working-tree: (*)
(funcall project-find-matching-buffer-function
(project-current nil (vc-root-dir backend))
(project-current nil directory))
(B2) Materializes stale result into longer-lived state
project-uniquify-dirname-transform: (*)
(if-let* ((proj (project-current nil dirname)))
(let ((root (project-root proj))
(non-essential t))
...
(project-name proj)
...))
lsp--suggest-project-root:
(when-let* ((project (project-current)))
(project-root project))
lsp--try-project-root-workspaces:
(unless (-contains? (lsp-session-folders session) project-root)
(cl-pushnew project-root (lsp-session-folders session))
(lsp--persist-session session))
etags-regen--maybe-generate:
(file-exists-p (etags-regen--choose-tags-file
(setq proj (project-current))))
...
(setq proj (or proj (project-current)))
...
(etags-regen--tags-generate proj)
vc-add-working-tree: (*)
(when-let* ((p (project-current)))
(project-remember-project p nil t))
(when-let* ((p (project-current nil directory)))
(project-remember-project p))
vc--prompt-other-working-tree: (*)
(cond* ((bind-and* (_ allow-current)
(p (project-current)))
(push (project-root p) trees))
...)
(dolist (tree trees)
(when-let* ((p (project-current nil tree)))
(project-remember-project p nil t)))
vc-move-working-tree: (*)
(when-let* ((p (project-current nil to)))
(project-remember-project p))
project-prefixed-buffer-name:
(if-let* ((proj (project-current nil)))
(project-name proj)
...)
(C) Repeated visual/background callers
project-mode-line-format:
(when-let* ((last-coding-system-used last-coding-system-used)
(non-essential t)
(project (project-current))
(project-name (project-name project)))
...)
tab-line-tabs-buffer-group-by-project:
(if-let* ((project (project-current)))
(project-name project)
...)
Buffer-menu-project:
(if-let* ((project (project-current)))
...)
bc--project-crumbs-1:
with project = (project-current)
(*) = explicit-directory probe, i.e. (project-current nil DIR).
bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 27 Jun 2026 13:59:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 27 09:59:57 2026 Received: from localhost ([127.0.0.1]:52560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wdTZa-0000u8-Ub for submit <at> debbugs.gnu.org; Sat, 27 Jun 2026 09:59:56 -0400 Received: from lists1p.gnu.org ([2001:470:142::17]:55410) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1wdTZV-0000tR-7I for submit <at> debbugs.gnu.org; Sat, 27 Jun 2026 09:59:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <dmitry@HIDDEN>) id 1wdTZP-0002ht-Hn for bug-gnu-emacs@HIDDEN; Sat, 27 Jun 2026 09:59:43 -0400 Received: from fhigh-a1-smtp.messagingengine.com ([103.168.172.152]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <dmitry@HIDDEN>) id 1wdTZO-0000r1-04 for bug-gnu-emacs@HIDDEN; Sat, 27 Jun 2026 09:59:43 -0400 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id 5ED241400151; Sat, 27 Jun 2026 09:59:41 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Sat, 27 Jun 2026 09:59:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :subject:subject:to:to; s=fm3; t=1782568781; x=1782655181; bh=Ly aYoV5C4VXRiq+aG/R8kT2FfUZ/67Sov8JMDnWvvx0=; b=XsjTP6KKMEYlfZZrq/ a1zzH+B6MrGLreeC+hihxjIphxrvhQbyBq6icsACtX5dyJ87t55v/+q62ejE0eRT cF6GEg+S5fhCWOVMlumCSqr6hAOu4HMW1oiTvNWddbud6BjSgC/vcoRTuIu7PjrX 5YIaCEWNtc7GwFAG01O3lmQJerkkwy1enHiSVLstByl9CDxPxwGk0KQyNuy90imW eEasfq6FYStUQuyGzlsldxVoKzdkM/vHeWGs8kItphnmj3sICF25+M4N0WPi4pMo OtQV/oHYwJ9hztajo1uwd/mwx5SRqgH55Ms9/MMmOcJgTszHH4EEievMNGlE7Kt3 1yWg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1782568781; x=1782655181; bh=LyaYoV5C4VXRiq+aG/R8kT2FfUZ/ 67Sov8JMDnWvvx0=; b=ekJQ+FhkZbRbLRb9N04SfzyQ39v+YHvM3kI508eDL6Jw 6t9KBd6nY8kKQS1c4xmcId4MM4prKN8mN7nQyYXPlWvkcCoBbNPc47TVCfbUemDt Iil369G7PcvfKAer6Ls2QJY1GAaFw0H+Ko2eW5Bg/bB6E95pEo0BJjc88mbajo6c n91zZ2RbzZOZuUTRf/UWrQPhQeF+YOJZAwKcp9Aza4yQTtim3LXJVcZTYWaNQm8D 2qCigty4aOMdL8lTxVXMyJDSqQBIIVRBrVYzJuPUKEwAf6vW0GsrV46D9Y1JtC9r rocNJeHs5uR6Xx2ItXvq+YWKzJzC/0truFIAKDGTiQ== X-ME-Sender: <xms:Tdc_aqd0clmmqJCy3FuGVDVCR9a2pwz3AFWcSscXvyA5xuRQbnqvmA> <xme:Tdc_akU2D1EmYY4ZcdmoR99YXo6ZLO1SKitvFBX9KBqrKE2O7Lv87APDim3GSciBS fOBeXdDghCKK0Xgoq8Q56BY5A37UDNO0_7hhNX-u4aKzyKCMlDJ_b6z> X-ME-Received: <xmr:Tdc_ajcjq3kE9C1rzpwLYClJj64Tvuwa3xNvI-gpv3iTV0_jhpwzVyJphhwv2TiLAbr7> X-ME-Proxy-Cause: dmFkZTEzAdgfOtG472AgWdLdAXcrJKABElwIzIozvtOvvXY0OaKNlpSiEE/3ji81QrPdIZ v3em3edxTOnOA7j3JoVZHdgncvHu+wS5vzNUArNx+Q2XHz8h0htqz0Bx6ijMfdS41yoPdS cBAE9qrZ8rXkFqN3kEf1RtzWU2GELxktwkdUzVU5gRjk+knbN8aL4HMtHf1hcj25R91P8v pgzVMKqtMjYmL2pv9Memmw1mq/CzXlNe4hF20IEqPVmDqnPN5btjRCCkWTUEYOcc/Utkgg 4rbDZjSlXjFmNAddQ3y4VkIoClcQ8VlZeEAAVMphn0tfrQNef4Bb81Ujlh20KIKXgz4RZt n0KfQIW5V23ULL2R38x+PX7VDs6HtoLMc0ozYad0vTmsnF9OmKIdWX9oHrM7c2eDbwlaGD ouVxXs6vc+VT7dXlWiqi1OiwlPXaLvci2cklshTgbenX+uONT/txZJVcI9J5h/hlkFuQtT QvAxlMi4MzDsxvUqIZBH6Mv8KQzJ+OwrwZ2tQTCCSYHPB5Y9nkOTNODVYKx1qZsPe6rZ3/ /pudsEhAtUvn8Xo8S5ccENWRYbDCMGjfT6HpNJWCVhqmQ29CTW0WolRdf1QjMzi5cW/fY1 bHaSNKnVTm6rpYYLjpdrrMr+4igBH8i0l1096TQM1UmEtW5YeJwiBg3sEgPg X-ME-Proxy: <xmx:Tdc_agMpZBuMam7O8DfUHdbE4S93-Xzyqcq36lAPzVxwPk-tqLQj2Q> <xmx:Tdc_ahg2LH0syNbMTQ6eqzTExbFTqyidDClsMavN2HX6LE1RbLYYbw> <xmx:Tdc_aj2mrIsEaoErUKnT5Z6iRm9NZGV5sxix3LKV-yWZs43KYqOadQ> <xmx:Tdc_arjLWmlq8Be-sLNU70Zrjq1Qh2hOZIIMY6vLtSSW_9ko3GQWvQ> <xmx:Tdc_ajccLxUBo84Dtgwqxpoljg0SeiqKg7ZUGICJglKOdeUg6ALSA050> Feedback-ID: i07de48aa:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 27 Jun 2026 09:59:39 -0400 (EDT) Message-ID: <989c9c54-af5d-4e23-961f-a136cdbc2ab1@HIDDEN> Date: Sat, 27 Jun 2026 16:59:37 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: bug-gnu-emacs@HIDDEN From: Dmitry Gutov <dmitry@HIDDEN> Subject: project-vc-cache might be too optimistic Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=103.168.172.152; envelope-from=dmitry@HIDDEN; helo=fhigh-a1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit Cc: Spencer Baugh <sbaugh@HIDDEN>, Sean Whitton <spwhitton@HIDDEN>, Juri Linkov <juri@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.3 (/) I'd like to revisit the project-vc-cache-timeout functionality added to resolve bug#78545/bug#80265. The improvement seems solid, the main complaints about excessive 100% CPU use seem resolved, no further reports about stale cache, so whatever drawbacks remain, they seem not very urgent. Our "long cache" heuristic is imperfect, though. At the moment it special-cases (project-current **t**) defaulting all other uses to the longer cache. This is an attempt to examine the existing callers and see which changes are possible and which calls could benefit. The smaller change and the larger the improvement, the better, of course. Let's establish classification: * Let's call (A) the callers that explicitly call (project-current t). These are routed to the short cache today. * Some callers (B1) use nil MAYBE-PROMPT, but stale results are still recoverable: refresh the project cache and retry the operation. The retry cost varies. Sometimes it is just repeating a command; sometimes it means shutting down and restarting a subsystem, or reopening a transient menu, or killing the created buffer. This includes callers that pass nil MAYBE-PROMPT only because they want to do a different prompt, or handle fallback themselves, or avoid hard dependency on project.el. * Some callers (B2) materialize the result somewhere that is not naturally retried by the user command that exposed the problem. For example, a hook/lifecycle caller can leave a stale result in the global or buffer-local state somewhere. project-uniquify-dirname-transform is in this category: a stale project name can remain in existing buffer names until uniquify is triggered again (or one hunts all those buffers manually). * And on the other end (C) are functions that are called repeatedly: from a timer or mode-line, where the cost of fetching the current project matters but accuracy is not crucial when the effects are largely visual. In practice that usually also means that refreshing the project cache using a command from A updates the results of these functions immediately (mode-line contents, etc). * We can also annotate as (*) the callers of (project-current nil DIR). In theory this is orthogonal to the above categories, but all the cases in practice seem to fall into either B1 or B2. Our current solution works best for A and C. It satisfies B1 in the sense that there is a retry workaround, though the workaround might not be obvious to every user. B2 is the least fit: stale results are not easy to refresh without restarting. And the line between B1 and B2 is a bit blurry: it depends on how much manual effort we consider too much. So depending on POV one could move more examples to it.
Dmitry Gutov <dmitry@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#81317; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.