bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#50470: 27.1; 'company-mode' 'eshell'


From: Dmitry Gutov
Subject: bug#50470: 27.1; 'company-mode' 'eshell'
Date: Tue, 28 Mar 2023 03:41:51 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

On 21/03/2023 04:30, Jim Porter wrote:
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.

Again, no proper review from me, but I've tried the patches.

Completion looks good, just like with the previous one.

But here's an error I encountered when trying to call a command with asterisks without expanding them with completion:

$ ls ~/Documents/Sp*
Wrong type argument: stringp, ("~/Documents/Spain/")

This issue is present in master (without the patches applied), but not in emacs-29.

The patch(es) fix a similar error in company-mode completion -- hopefully the straight evaluation could be fixed as easily.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]