From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands Date: Tue, 29 Aug 2023 01:44:19 +0300 Message-ID: <6480ead5-b89b-82bd-9e1e-66016ba4520c@gutov.dev> References: <86wn10e1wl.fsf@mail.linkov.net> <482a1ebc-165c-a0a4-98c0-5c404d1b1d0d@gutov.dev> <86jzwyxnxb.fsf@mail.linkov.net> <86o7m91z22.fsf@mail.linkov.net> <86pm6py6k4.fsf@mail.linkov.net> <86bki9y68h.fsf@mail.linkov.net> <86cz2f7bvo.fsf@mail.linkov.net> <86353axu48.fsf@mail.linkov.net> <87o7jfi00b.fsf@catern.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16355"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: 63648@debbugs.gnu.org, Juri Linkov To: Spencer Baugh , sbaugh@catern.com Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Aug 29 00:45:23 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qakz2-0003vn-NJ for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 29 Aug 2023 00:45:21 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qakyg-0004cA-0F; Mon, 28 Aug 2023 18:44:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qakye-0004aa-9M for bug-gnu-emacs@gnu.org; Mon, 28 Aug 2023 18:44:56 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qakye-0001VE-0K for bug-gnu-emacs@gnu.org; Mon, 28 Aug 2023 18:44:56 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qakyk-0002FQ-J9 for bug-gnu-emacs@gnu.org; Mon, 28 Aug 2023 18:45:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Aug 2023 22:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63648 X-GNU-PR-Package: emacs Original-Received: via spool by 63648-submit@debbugs.gnu.org id=B63648.16932626798390 (code B ref 63648); Mon, 28 Aug 2023 22:45:02 +0000 Original-Received: (at 63648) by debbugs.gnu.org; 28 Aug 2023 22:44:39 +0000 Original-Received: from localhost ([127.0.0.1]:49139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qakyM-0002BF-L3 for submit@debbugs.gnu.org; Mon, 28 Aug 2023 18:44:38 -0400 Original-Received: from out5-smtp.messagingengine.com ([66.111.4.29]:43913) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qakyJ-00029M-P6 for 63648@debbugs.gnu.org; Mon, 28 Aug 2023 18:44:36 -0400 Original-Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 6E5E75C0206; Mon, 28 Aug 2023 18:44:23 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Mon, 28 Aug 2023 18:44:23 -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:sender:subject:subject:to:to; s=fm3; t= 1693262663; x=1693349063; bh=USutwyLdDT83zMcbUqK9vim8QLRzXxHzQ7A /X/hndX4=; b=RtKgvV/qzs6gEopJA4O8Vn1nWcJNEQAYjWLlS4ni5BcgiHp0gk3 ADtBPryMT3W7I9bpiFOQXTD0Iim4Q5FIYliaER8ZZQVeZWCjx0q5Uz+0THoTw8Ac nRxCwoirfJ43p6PxvVDqqFRU1WdRuBmHmqQWBHFmqcEdlh8z3LfiD3m+OaOkUh3U UsQ5/HotuZXTbn2QcB6xtvCoGxfp9pzaQF90FtMs8CETgm82YT4gVGcgndDxwAdM HEkC/cj/QC9peaAWG1VWHPF4ycmfJssKmRIrK/sf8gc7qEGceKwrlKR5Je3GlCis NLJ6lf6sX4C6M/SM9lKtgOhsqRxhilqE3mA== 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:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1693262663; x=1693349063; bh=USutwyLdDT83zMcbUqK9vim8QLRzXxHzQ7A /X/hndX4=; b=baU8VyaIJHCmZawz0JRb2SjePH/Fv1erQqk0aEFGs9WN6cNd13q vmctXHwUga1Qvx+n33diSYXAgSA84/hPVftRp0VLMyWTt6243KywOmSEbbiVfJYG U2eNZ1lPrpsX7WU4eXTeq+7zA5Fybk6v8lmJrJpU9LNOTa9a86fXkzAfTqJ0btRx ffGBRcx8qsY0KZ9gW+Z/NV43LsikE0jxM2sYPV5RqpagNn3nEMLDbUd3BiUGEMet HpdKzCBDXE9JVw3hnM+2A7L6FvtEsmtUwW91vhSswgFDaThYC3P/KFqj6S3WFkt4 U997VCz9hNs9XdkVr73BfwaeSj3qP/lw9WQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudefhedguddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepiefgteevheevveffheeltdeukeeiieekueefgedugfefgefhudelgfefveel vdevnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 28 Aug 2023 18:44:21 -0400 (EDT) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:268651 Archived-At: On 23/08/2023 16:53, Spencer Baugh wrote: > Oh, another thought (which maybe should be discussed on emacs-devel): > maybe we don't need to make this specific next-default-directory var. > > Instead, maybe what we want is a way to bind a dynamic variable > *without* changing the buffer-local value. It would shadow the existing > binding, but if we explicitly switched buffer we'd get back to the old > value. So we'd have: > > (special-let ((default-directory newval)) > (assert default-directory newval)) > > and > > (special-let ((default-directory newval)) > (set-buffer (current-buffer)) > (assert default-directory oldval)) Where does the main logic run in this case? If we call set-buffer before the main logic is ran, the old value of dd will be used. If we call set-buffer after the main logic is ran, we could as well use plain 'let' because that's what it does: restores the previous values at the end (and we know that it doesn't suit our purpose). I was also considering rebinding the global value of dd instead, but that turned out to be even sillier, since any new buffer inherits the local value of this var from the previous buffer, the global one isn't used anywhere (or doesn't seem to be). (cl-letf (((default-value 'default-directory) "~/Documents/")) (with-temp-buffer (message "dv %s" (default-value 'default-directory)) (message "lv %s" default-directory))) So to make use of this, every relevant spot would have to look up the global value of this var manually. Might as well use the special var that we already have (...-override).