This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
The \e escape sequence
- From: Mark Kettenis <kettenis at chello dot nl>
- To: gdb at sources dot redhat dot com
- Cc: jimb at redhat dot com
- Date: Wed, 31 Dec 2003 17:34:27 +0100 (CET)
- Subject: The \e escape sequence
The \e escape sequence is a GCC extension. Its unconditional use in
charset.c has some interesting consequences if you use a different
compiler. With the Sun compiler (on Solaris SPARC) the \e in the
following bit of code gets translation into a plain e:
static char represented[] = "\a\b\e\f\n\r\t\v";
As a result, GDB will start escaping e's in its output, for example:
(gdb) p /c 101
$1 = 101 '\e'
which leads to disaster in the testsuite.
So what should we do? Simply leaving out '\e' seems the best we can
do if we don't compile GDB with GCC. However, this still leads to a
few failures in the testsuite where we (more or less) explicitly test
for the '\e' escape.
Thoughts?