[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: |
Eli Zaretskii |
Subject: |
bug#63648: 29.0.90; project.el: with switch-use-entire-map, switch-project errors on non-project commands |
Date: |
Fri, 02 Jun 2023 14:39:17 +0300 |
> From: Juri Linkov <juri@linkov.net>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, dmitry@gutov.dev,
> sbaugh@janestreet.com, 63648@debbugs.gnu.org
> Date: Fri, 02 Jun 2023 09:55:36 +0300
>
> >> @@ -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?