Hello,

as reported in [286861], certain expressions may confuse bash so that it is no
longer able to evaluate assignments.

[286861] https://bugzilla.redhat.com/show_bug.cgi?id=286861

I tried to debug it and found that if evalerror (thus longjmp) is called while
noeval != 0, it stays nonzero and assignments cease to work. Such expressions
are for example:

let tmp="foo.a"+0   (only in bash 3.2)
let x=(0?(3?4):3)

I think we should reset noeval to zero in the evalexp function (or restore
expr_stack[0], probably).

Regards,
-- 
Tomas Janousek, SW Engineer, Red Hat, Inc.


Reply via email to