Eli Zaretskii writes: >> Cc: 48925@debbugs.gnu.org >> Date: Thu, 11 Nov 2021 11:42:34 +0100 >> From: miha--- via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" >> >> >> To be on the safer side, I guess we could replace the >> >> >> >> specbind (Qminibuffer_completion_table, Qnil); >> >> >> >> with a use of `minibuffer-with-setup-hook` that sets the var to nil in >> >> the new minibuffer. But doing it in C is awkward so it would best be >> >> done by moving the function to subr.el. >> > >> > Sounds like a good idea to me. Miha, could you do that? >> >> Okay, patch attached. > > Moving read-string to subr.el means the function will be unavailable > during loadup until subr.elc is loaded. Sorry, I forgot to include a disclaimer that I don't really know that much about loadup and bootstrapping, I kind of just blindly moved the function to lisp saw that "make" worked. I did check loadup.el and saw that `read-string' or `call-interactively' aren't used directly before subr.el, but I'm not sure that this is sufficient. It may be used indirectly through `command-execute', which is defined in simple.el, so I think it should be okay. > What is awkward to do in C? Maybe I could help with that, so that we > wouldn't need to move this to Lisp. We want to do what `minibuffer-with-setup-hook' does: add a function to a hook that will remove itself from this hook. If I understand correctly, we'd have to do this without `add-hook' and `remove-hook' since they are defined in subr.el. > Thanks.