Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #11240 > unrolled thread

extra \1 in declare -p

Started byisabella parakiss <izaberina@gmail.com>
First post2015-07-20 20:23 +0200
Last post2015-07-20 20:23 +0200
Articles 1 — 1 participant

Back to article view | Back to gnu.bash.bug


Contents

  extra \1 in declare -p isabella parakiss <izaberina@gmail.com> - 2015-07-20 20:23 +0200

#11240 — extra \1 in declare -p

Fromisabella parakiss <izaberina@gmail.com>
Date2015-07-20 20:23 +0200
Subjectextra \1 in declare -p
Message-ID<mailman.7191.1437416642.904.bug-bash@gnu.org>
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

[toc] | [standalone]


Back to top | Article view | gnu.bash.bug


csiph-web