Hi, about this bug: http://lists.gnu.org/archive/html/bug-bash/2003-03/msg00093.html
The fix was to add this in lib/sh/shquote.c else if (c == CTLESC || c == CTLNUL) *r++ = CTLESC; I think the fix it was applied twice, it should only check this in the prompt string, right? Now declare -p produces output that can't be eval'ed. $ var=$'x\1y\177z'; declare -p var | sed -n l declare -- var="x\001\001y\001\177z"$ Removing lines 151-152 (from the 4.4 alpha branch) seems to fix this. The duplicate code keeps checking the prompt in lines 297-298. (${var@P} is expanded by that part so it should be fine...) I hope it won't cause other problems. --- xoxo iza