[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-proje
From: |
Spencer Baugh |
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 16:36:15 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Juri Linkov <juri@linkov.net> writes:
>>>>> I suggest you bring up this feature addition on emacs-devel, or otherwise
>>>>> wait for a review from Eli, at least.
>>>>>
>>>>> It's not a big addition, but it's a distinct new feature (the
>>>>> next-default-directory var).
>>>>
>>>> Indeed, such code addition better to be discussed on emacs-devel.
>>>
>>> Did this end up being discussed on emacs-devel? I am still quite
>>> interested in this feature.
>>
>> 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))
>>
>> Ignore any complexities of implementing this and any complexities of the
>> semantics which I haven't covered. If we had this, would it work as an
>> alternative to next-default-directory?
>
> There is no code where to bind a dynamic variable, because its value
> should be available for the next command in the command loop.
Oh, that's true. (I guess maybe we could add a way to do that, and
other prefix commands could work that way too. But that would be a big
effort - and worth talking about on emacs-devel)
> If you agree there is no other way to implement this than
> next-default-directory,
> then I could bring up the discussion on emacs-devel.
Yes, seems like that's the only way.
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, sbaugh, 2023/08/10
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, sbaugh, 2023/08/10
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Spencer Baugh, 2023/08/23
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Juri Linkov, 2023/08/23
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands,
Spencer Baugh <=
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Dmitry Gutov, 2023/08/29
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Spencer Baugh, 2023/08/29
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Dmitry Gutov, 2023/08/29
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Juri Linkov, 2023/08/30
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Dmitry Gutov, 2023/08/30
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Juri Linkov, 2023/08/31
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Dmitry Gutov, 2023/08/31
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Juri Linkov, 2023/08/31
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Dmitry Gutov, 2023/08/31
- bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands, Dmitry Gutov, 2023/08/28