GNU bug report logs -
#63648
29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands
Previous Next
Reported by: Spencer Baugh <sbaugh <at> janestreet.com>
Date: Mon, 22 May 2023 16:29:02 UTC
Severity: normal
Found in version 29.0.90
Done: Dmitry Gutov <dmitry <at> gutov.dev>
Bug is archived. No further changes may be made.
Full log
Message #89 received at 63648 <at> debbugs.gnu.org (full text, mbox):
>> >> @@ -1500,7 +1500,19 @@ command_loop_1 (void)
>> >> update_redisplay_ticks (0, NULL);
>> >> display_working_on_window_p = false;
>> >>
>> >> + Lisp_Object next_dir = Vnext_default_directory;
>> >> + specpdl_ref count = SPECPDL_INDEX ();
>> >> + if (!NILP (next_dir))
>> >> + specbind (Qdefault_directory, next_dir);
>> >> +
>> >> call1 (Qcommand_execute, Vthis_command);
>> >> +
>> >> + if (!NILP (next_dir))
>> >> + {
>> >> + unbind_to (count, Qnil);
>> >> + Vnext_default_directory = Qnil;
>> >> + }
>> >> +
>> >
>> > What will this do when a command is invoked via call-interactively?
>>
>> This is intended only for commands called interactively.
>
> Won't this violate some legitimate expectations? Namely, that
> invoking a command interactively and via call-interactively produces
> the same results?
Using 'let' for 'call-interactively' works expectedly in the recent patch:
(if (symbolp project-switch-commands)
(let ((default-directory dir))
(call-interactively project-switch-commands))
This bug report was last modified 1 year and 200 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.