diff options
author | Demi Obenour <demiobenour@gmail.com> | 2016-09-27 10:54:16 -0400 |
---|---|---|
committer | Will Estes <westes575@gmail.com> | 2016-10-05 19:25:56 -0400 |
commit | 9d3ddf572e3744e4cf5e9788b676f423fe69aee8 (patch) | |
tree | 1a9ae51e2be904714c0afdae5dbad00c81ccf300 /src/flexdef.h | |
parent | 735ffb6a653552831321acaa0e7d0a834a210a84 (diff) |
Fix M4 quoting of section 3.
This fixes M4 quoting of section 3 of the input file, including escape
sequences and character constants.
Tests were added to verify the behavior in section 3 with respect to
quoting. Both escaping of quotes and quoting of potential macro-start
characters are tested. Existing tests were also fixed to account for the new -- and now correct -- behavior. Many tests relied on the old behavior of expanding M4 macros
in section 3. They needed to be updated for the new behavior.
Diffstat (limited to 'src/flexdef.h')
-rw-r--r-- | src/flexdef.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/flexdef.h b/src/flexdef.h index a727ede..a4d1896 100644 --- a/src/flexdef.h +++ b/src/flexdef.h @@ -1063,9 +1063,10 @@ extern struct Buf defs_buf; /* a char* buffer to save #define'd some symbols extern struct Buf yydmap_buf; /* a string buffer to hold yydmap elements */ extern struct Buf m4defs_buf; /* Holds m4 definitions. */ extern struct Buf top_buf; /* contains %top code. String buffer. */ +extern bool no_section3_escape; /* True if the undocumented option --unsafe-no-m4-sect3-escape was passed */ /* For blocking out code from the header file. */ -#define OUT_BEGIN_CODE() outn("m4_ifdef( [[M4_YY_IN_HEADER]],,[[") +#define OUT_BEGIN_CODE() outn("m4_ifdef( [[M4_YY_IN_HEADER]],,[[m4_dnl") #define OUT_END_CODE() outn("]])") /* For setjmp/longjmp (instead of calling exit(2)). Linkage in main.c */ |