Thread View: gnu.gcc.bug
1 messages
1 total messages
Started by Paul Eggert
Fri, 06 Nov 1992 04:38
'\e' vs '\E' in GCC 2.3.1
Author: Paul Eggert
Date: Fri, 06 Nov 1992 04:38
Date: Fri, 06 Nov 1992 04:38
100 lines
3635 bytes
3635 bytes
GCC 2.3.1's documentation says that '\e' stands for the ASCII character ESC.
The GNU C preprocessor agrees, but the C and C++ compilers say that you
should use '\E'; also, the C compiler warns about its use.
Given the confusion, I'd guess that this extension is so little-used that it
should be removed. Here is a patch.
* c-lex.c, cp-lex.c (readescape): Remove support for '\E'.
* cexp.y (parse_escape), extend.texi: Likewise, for '\e'.
(Note that they were inconsistent.)
===================================================================
RCS file: c-lex.c,v
retrieving revision 2.3
retrieving revision 2.3.1.1
diff -c -r2.3 -r2.3.1.1
*** c-lex.c 1992/10/08 07:07:25 2.3
--- c-lex.c 1992/11/06 04:30:09 2.3.1.1
***************
*** 905,914 ****
#endif
return TARGET_VT;
- case 'E':
- pedwarn ("non-ANSI-standard escape sequence, `\\E'");
- return 033;
-
case '?':
return c;
--- 905,910 ----
===================================================================
RCS file: cp-lex.c,v
retrieving revision 2.3
retrieving revision 2.3.1.1
diff -c -r2.3 -r2.3.1.1
*** cp-lex.c 1992/10/20 18:54:29 2.3
--- cp-lex.c 1992/11/06 04:30:09 2.3.1.1
***************
*** 2275,2283 ****
case 'v':
return TARGET_VT;
- case 'E':
- return 033;
-
case '?':
/* `\(', etc, are used at beginning of line to avoid confusing Emacs. */
case '(':
--- 2275,2280 ----
===================================================================
RCS file: extend.texi,v
retrieving revision 2.3
retrieving revision 2.3.1.1
diff -c -r2.3 -r2.3.1.1
*** extend.texi 1992/10/21 21:57:06 2.3
--- extend.texi 1992/11/06 04:30:09 2.3.1.1
***************
*** 39,45 ****
or that they can never return.
* Function Prototypes:: Prototype declarations and old-style definitions.
* Dollar Signs:: Dollar sign is allowed in identifiers.
- * Character Escapes:: @samp{\e} stands for the character @key{ESC}.
* Variable Attributes:: Specifying attributes of variables.
* Alignment:: Inquiring about the alignment of a type or variable.
* Inline:: Defining inline functions (as fast as macros).
--- 39,44 ----
***************
*** 1278,1289 ****
lose (test)
@end example
- @node Character Escapes
- @section The Character @key{ESC} in Constants
-
- You can use the sequence @samp{\e} in a string or character constant to
- stand for the ASCII character @key{ESC}.
-
@node Alignment
@section Inquiring on Alignment of Types or Variables
@cindex alignment
--- 1277,1282 ----
===================================================================
RCS file: cexp.y,v
retrieving revision 2.3.1.1
retrieving revision 2.3.1.2
diff -c -r2.3.1.1 -r2.3.1.2
*** cexp.y 1992/11/06 01:29:53 2.3.1.1
--- cexp.y 1992/11/06 04:30:09 2.3.1.2
***************
*** 747,754 ****
return TARGET_BELL;
case 'b':
return TARGET_BS;
- case 'e':
- return 033;
case 'f':
return TARGET_FF;
case 'n':
--- 747,752 ----
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads