On 3/19/2023 6:34 PM, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > I definitely don't want to force preloading that module. > But maybe that var could have a meaning that's independent > from completion, thus justifying to move it out of the completion > extension module? Well, luckily(?) it turns out my patch wasn't quite right anyway, so I completely rewrote it. (In particular, it didn't correctly generate a top-level stub if there was a subcommand nested somewhere *inside* an argument.) With this change, we now have a more-general way of preventing commands that can cause side effects: 'eshell-allow-commands'. We can let-bind that to nil, and then any commands within an argument will signal an error. Then we just need to disable globbing via a different method (using the patch I originally posted), and all is well for this bug. I also added a couple preliminary patches to fix some semi-related issues I discovered while working on this. These could probably go in a separate bug, but I'm lazy. ;) The real meat of this change is patch 0003.