Hello, On Thu 31 Mar 2022 at 04:31PM -07, Jim Porter wrote: > On 3/31/2022 3:48 PM, Sean Whitton wrote: >> >> I think the error should be caught inside the `or', though? The idea >> would be that if eshell-incomplete is thrown within one of the >> disjuncts, that disjunct should return nil. > > Hmm, that's an interesting thought. Maybe this code could be more > particular about what parse function it calls. Since each of the > function calls here: > > (while (or (eshell-parse-lisp-argument) > (eshell-parse-backslash) > (eshell-parse-double-quote) > (eshell-parse-literal-quote))) > > correspond to a particular token here (earlier in the source): > > (re-search-forward > "\\(?:(\\|#?'\\|\"\\|\\\\\\)" bound t))) > > perhaps it would be better to match the function call to the > corresponding token. Thank you for this suggestion, but I think that findbeg1 is more readable, and actually perhaps more efficient, if we maintain the (while (or ...)) structure. So I would like to install the attached patch to resolve this bug. -- Sean Whitton