summaryrefslogtreecommitdiff
path: root/src/flexdef.h
diff options
context:
space:
mode:
authorDemi Obenour <demiobenour@gmail.com>2016-09-27 10:54:16 -0400
committerWill Estes <westes575@gmail.com>2016-10-05 19:25:56 -0400
commit9d3ddf572e3744e4cf5e9788b676f423fe69aee8 (patch)
tree1a9ae51e2be904714c0afdae5dbad00c81ccf300 /src/flexdef.h
parent735ffb6a653552831321acaa0e7d0a834a210a84 (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.h3
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 */