Fix a bug of including extra yytext after isolated action (blank/comment line)
authorNick Downing <downing.nick@gmail.com>
Thu, 21 Jun 2018 14:43:43 +0000 (00:43 +1000)
committerNick Downing <downing.nick@gmail.com>
Thu, 21 Jun 2018 14:43:43 +0000 (00:43 +1000)
src/scan.c
src/scan.c.patch
src/scan.l

index 7995ddb..2b06802 100644 (file)
@@ -3479,7 +3479,11 @@ YY_RULE_SETUP
                 bracelevel = 0;
                 continued_action = false;
                 BEGIN(ACTION);
+#if 1
+ yyless(yyleng - 1);
+#else
                 unput( '\n' ); /* so <ACTION> sees it */
+#endif
 
                 if ( in_rule )
                     {
@@ -3506,15 +3510,15 @@ YY_RULE_SETUP
                        }
        YY_BREAK
 case 150:
-#line 682 "scan.l"
+#line 686 "scan.l"
 case 151:
 YY_RULE_SETUP
-#line 682 "scan.l"
+#line 686 "scan.l"
 return EOF_OP;
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 684 "scan.l"
+#line 688 "scan.l"
 {
                        sectnum = 3;
                        BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
@@ -3525,7 +3529,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 692 "scan.l"
+#line 696 "scan.l"
 {
                        int cclval;
 
@@ -3575,12 +3579,12 @@ YY_RULE_SETUP
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 738 "scan.l"
+#line 742 "scan.l"
 return CCL_OP_DIFF;
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 739 "scan.l"
+#line 743 "scan.l"
 return CCL_OP_UNION;
        YY_BREAK
 /* Check for :space: at the end of the rule so we don't
@@ -3590,7 +3594,7 @@ return CCL_OP_UNION;
 case 156:
 /* rule 156 can match eol */
 YY_RULE_SETUP
-#line 746 "scan.l"
+#line 750 "scan.l"
 {
                        char *nmdefptr;
             int end_is_ws, end_ch;
@@ -3645,7 +3649,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0';  /* chop trailing brace */
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 798 "scan.l"
+#line 802 "scan.l"
 {
                     if (sf_skip_ws())
                         yy_push_state(COMMENT_DISCARD);
@@ -3658,7 +3662,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 808 "scan.l"
+#line 812 "scan.l"
 {
                     if (lex_compat || posix_compat){
                         /* Push back the "?#" and treat it like a normal parens. */
@@ -3672,7 +3676,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 818 "scan.l"
+#line 822 "scan.l"
 {
                     sf_push();
                     if (lex_compat || posix_compat)
@@ -3685,12 +3689,12 @@ YY_RULE_SETUP
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 827 "scan.l"
+#line 831 "scan.l"
 sf_push(); return '(';
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 828 "scan.l"
+#line 832 "scan.l"
 {
                     if (_sf_top_ix > 0) {
                         sf_pop();
@@ -3701,12 +3705,12 @@ YY_RULE_SETUP
        YY_BREAK
 case 162:
 YY_RULE_SETUP
-#line 836 "scan.l"
+#line 840 "scan.l"
 return (unsigned char) yytext[0];
        YY_BREAK
 case 163:
 YY_RULE_SETUP
-#line 837 "scan.l"
+#line 841 "scan.l"
 RETURNCHAR;
        YY_BREAK
 
@@ -3714,17 +3718,17 @@ RETURNCHAR;
 case 164:
 /* rule 164 can match eol */
 YY_RULE_SETUP
-#line 842 "scan.l"
+#line 846 "scan.l"
 ++linenum;     /* Allow blank lines & continuations */
        YY_BREAK
 case 165:
 YY_RULE_SETUP
-#line 843 "scan.l"
+#line 847 "scan.l"
 return (unsigned char) yytext[0];
        YY_BREAK
 case 166:
 YY_RULE_SETUP
-#line 844 "scan.l"
+#line 848 "scan.l"
 BEGIN(SECT2); return '>';
        YY_BREAK
 case 167:
@@ -3732,17 +3736,17 @@ case 167:
 (yy_c_buf_p) = yy_cp = yy_bp + 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 845 "scan.l"
+#line 849 "scan.l"
 BEGIN(CARETISBOL); return '>';
        YY_BREAK
 case 168:
 YY_RULE_SETUP
-#line 846 "scan.l"
+#line 850 "scan.l"
 RETURNNAME;
        YY_BREAK
 case 169:
 YY_RULE_SETUP
-#line 847 "scan.l"
+#line 851 "scan.l"
 {
                        format_synerr( _( "bad <start condition>: %s" ),
                                yytext );
@@ -3751,24 +3755,24 @@ YY_RULE_SETUP
 
 case 170:
 YY_RULE_SETUP
-#line 853 "scan.l"
+#line 857 "scan.l"
 BEGIN(SECT2); return '^';
        YY_BREAK
 
 case 171:
 YY_RULE_SETUP
-#line 857 "scan.l"
+#line 861 "scan.l"
 RETURNCHAR;
        YY_BREAK
 case 172:
 YY_RULE_SETUP
-#line 858 "scan.l"
+#line 862 "scan.l"
 BEGIN(SECT2); return '"';
        YY_BREAK
 case 173:
 /* rule 173 can match eol */
 YY_RULE_SETUP
-#line 860 "scan.l"
+#line 864 "scan.l"
 {
                        synerr( _( "missing quote" ) );
                        BEGIN(SECT2);
@@ -3780,49 +3784,49 @@ YY_RULE_SETUP
 
 case 174:
 YY_RULE_SETUP
-#line 869 "scan.l"
+#line 873 "scan.l"
 BEGIN(SECT2);
        YY_BREAK
 case 175:
 YY_RULE_SETUP
-#line 870 "scan.l"
+#line 874 "scan.l"
 BEGIN(GROUP_MINUS_PARAMS);
        YY_BREAK
 case 176:
 YY_RULE_SETUP
-#line 871 "scan.l"
+#line 875 "scan.l"
 sf_set_case_ins(1);
        YY_BREAK
 case 177:
 YY_RULE_SETUP
-#line 872 "scan.l"
+#line 876 "scan.l"
 sf_set_dot_all(1);
        YY_BREAK
 case 178:
 YY_RULE_SETUP
-#line 873 "scan.l"
+#line 877 "scan.l"
 sf_set_skip_ws(1);
        YY_BREAK
 
 
 case 179:
 YY_RULE_SETUP
-#line 876 "scan.l"
+#line 880 "scan.l"
 BEGIN(SECT2);
        YY_BREAK
 case 180:
 YY_RULE_SETUP
-#line 877 "scan.l"
+#line 881 "scan.l"
 sf_set_case_ins(0);
        YY_BREAK
 case 181:
 YY_RULE_SETUP
-#line 878 "scan.l"
+#line 882 "scan.l"
 sf_set_dot_all(0);
        YY_BREAK
 case 182:
 YY_RULE_SETUP
-#line 879 "scan.l"
+#line 883 "scan.l"
 sf_set_skip_ws(0);
        YY_BREAK
 
@@ -3832,7 +3836,7 @@ case 183:
 (yy_c_buf_p) = yy_cp = yy_bp + 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 883 "scan.l"
+#line 887 "scan.l"
 BEGIN(CCL); return '^';
        YY_BREAK
 case 184:
@@ -3840,12 +3844,12 @@ case 184:
 (yy_c_buf_p) = yy_cp = yy_bp + 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 884 "scan.l"
+#line 888 "scan.l"
 return '^';
        YY_BREAK
 case 185:
 YY_RULE_SETUP
-#line 885 "scan.l"
+#line 889 "scan.l"
 BEGIN(CCL); RETURNCHAR;
        YY_BREAK
 
@@ -3855,23 +3859,23 @@ case 186:
 (yy_c_buf_p) = yy_cp = yy_bp + 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 889 "scan.l"
+#line 893 "scan.l"
 return '-';
        YY_BREAK
 case 187:
 YY_RULE_SETUP
-#line 890 "scan.l"
+#line 894 "scan.l"
 RETURNCHAR;
        YY_BREAK
 case 188:
 YY_RULE_SETUP
-#line 891 "scan.l"
+#line 895 "scan.l"
 BEGIN(SECT2); return ']';
        YY_BREAK
 case 189:
 /* rule 189 can match eol */
 YY_RULE_SETUP
-#line 892 "scan.l"
+#line 896 "scan.l"
 {
                        synerr( _( "bad character class" ) );
                        BEGIN(SECT2);
@@ -3882,127 +3886,127 @@ YY_RULE_SETUP
 
 case 190:
 YY_RULE_SETUP
-#line 900 "scan.l"
+#line 904 "scan.l"
 BEGIN(CCL); return CCE_ALNUM;
        YY_BREAK
 case 191:
 YY_RULE_SETUP
-#line 901 "scan.l"
+#line 905 "scan.l"
 BEGIN(CCL); return CCE_ALPHA;
        YY_BREAK
 case 192:
 YY_RULE_SETUP
-#line 902 "scan.l"
+#line 906 "scan.l"
 BEGIN(CCL); return CCE_BLANK;
        YY_BREAK
 case 193:
 YY_RULE_SETUP
-#line 903 "scan.l"
+#line 907 "scan.l"
 BEGIN(CCL); return CCE_CNTRL;
        YY_BREAK
 case 194:
 YY_RULE_SETUP
-#line 904 "scan.l"
+#line 908 "scan.l"
 BEGIN(CCL); return CCE_DIGIT;
        YY_BREAK
 case 195:
 YY_RULE_SETUP
-#line 905 "scan.l"
+#line 909 "scan.l"
 BEGIN(CCL); return CCE_GRAPH;
        YY_BREAK
 case 196:
 YY_RULE_SETUP
-#line 906 "scan.l"
+#line 910 "scan.l"
 BEGIN(CCL); return CCE_LOWER;
        YY_BREAK
 case 197:
 YY_RULE_SETUP
-#line 907 "scan.l"
+#line 911 "scan.l"
 BEGIN(CCL); return CCE_PRINT;
        YY_BREAK
 case 198:
 YY_RULE_SETUP
-#line 908 "scan.l"
+#line 912 "scan.l"
 BEGIN(CCL); return CCE_PUNCT;
        YY_BREAK
 case 199:
 YY_RULE_SETUP
-#line 909 "scan.l"
+#line 913 "scan.l"
 BEGIN(CCL); return CCE_SPACE;
        YY_BREAK
 case 200:
 YY_RULE_SETUP
-#line 910 "scan.l"
+#line 914 "scan.l"
 BEGIN(CCL); return CCE_UPPER;
        YY_BREAK
 case 201:
 YY_RULE_SETUP
-#line 911 "scan.l"
+#line 915 "scan.l"
 BEGIN(CCL); return CCE_XDIGIT;
        YY_BREAK
 case 202:
 YY_RULE_SETUP
-#line 913 "scan.l"
+#line 917 "scan.l"
 BEGIN(CCL); return CCE_NEG_ALNUM;
        YY_BREAK
 case 203:
 YY_RULE_SETUP
-#line 914 "scan.l"
+#line 918 "scan.l"
 BEGIN(CCL); return CCE_NEG_ALPHA;
        YY_BREAK
 case 204:
 YY_RULE_SETUP
-#line 915 "scan.l"
+#line 919 "scan.l"
 BEGIN(CCL); return CCE_NEG_BLANK;
        YY_BREAK
 case 205:
 YY_RULE_SETUP
-#line 916 "scan.l"
+#line 920 "scan.l"
 BEGIN(CCL); return CCE_NEG_CNTRL;
        YY_BREAK
 case 206:
 YY_RULE_SETUP
-#line 917 "scan.l"
+#line 921 "scan.l"
 BEGIN(CCL); return CCE_NEG_DIGIT;
        YY_BREAK
 case 207:
 YY_RULE_SETUP
-#line 918 "scan.l"
+#line 922 "scan.l"
 BEGIN(CCL); return CCE_NEG_GRAPH;
        YY_BREAK
 case 208:
 YY_RULE_SETUP
-#line 919 "scan.l"
+#line 923 "scan.l"
 BEGIN(CCL); return CCE_NEG_LOWER;
        YY_BREAK
 case 209:
 YY_RULE_SETUP
-#line 920 "scan.l"
+#line 924 "scan.l"
 BEGIN(CCL); return CCE_NEG_PRINT;
        YY_BREAK
 case 210:
 YY_RULE_SETUP
-#line 921 "scan.l"
+#line 925 "scan.l"
 BEGIN(CCL); return CCE_NEG_PUNCT;
        YY_BREAK
 case 211:
 YY_RULE_SETUP
-#line 922 "scan.l"
+#line 926 "scan.l"
 BEGIN(CCL); return CCE_NEG_SPACE;
        YY_BREAK
 case 212:
 YY_RULE_SETUP
-#line 923 "scan.l"
+#line 927 "scan.l"
 BEGIN(CCL); return CCE_NEG_UPPER;
        YY_BREAK
 case 213:
 YY_RULE_SETUP
-#line 924 "scan.l"
+#line 928 "scan.l"
 BEGIN(CCL); return CCE_NEG_XDIGIT;
        YY_BREAK
 case 214:
 YY_RULE_SETUP
-#line 925 "scan.l"
+#line 929 "scan.l"
 {
                        format_synerr(
                                _( "bad character class expression: %s" ),
@@ -4014,7 +4018,7 @@ YY_RULE_SETUP
 
 case 215:
 YY_RULE_SETUP
-#line 934 "scan.l"
+#line 938 "scan.l"
 {
                        yylval = myctoi( yytext );
                        return NUMBER;
@@ -4022,12 +4026,12 @@ YY_RULE_SETUP
        YY_BREAK
 case 216:
 YY_RULE_SETUP
-#line 939 "scan.l"
+#line 943 "scan.l"
 return ',';
        YY_BREAK
 case 217:
 YY_RULE_SETUP
-#line 940 "scan.l"
+#line 944 "scan.l"
 {
                        BEGIN(SECT2);
                        if ( lex_compat || posix_compat )
@@ -4038,7 +4042,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 218:
 YY_RULE_SETUP
-#line 948 "scan.l"
+#line 952 "scan.l"
 {
                        synerr( _( "bad character inside {}'s" ) );
                        BEGIN(SECT2);
@@ -4048,7 +4052,7 @@ YY_RULE_SETUP
 case 219:
 /* rule 219 can match eol */
 YY_RULE_SETUP
-#line 954 "scan.l"
+#line 958 "scan.l"
 {
                        synerr( _( "missing }" ) );
                        BEGIN(SECT2);
@@ -4060,18 +4064,18 @@ YY_RULE_SETUP
 
 case 220:
 YY_RULE_SETUP
-#line 964 "scan.l"
+#line 968 "scan.l"
 bracelevel = 0;
        YY_BREAK
 case 221:
 YY_RULE_SETUP
-#line 966 "scan.l"
+#line 970 "scan.l"
 ACTION_ECHO; yy_push_state( CODE_COMMENT );
        YY_BREAK
 
 case 222:
 YY_RULE_SETUP
-#line 969 "scan.l"
+#line 973 "scan.l"
 {
             ACTION_ECHO;
             CHECK_REJECT(yytext);
@@ -4079,7 +4083,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 223:
 YY_RULE_SETUP
-#line 973 "scan.l"
+#line 977 "scan.l"
 {
             ACTION_ECHO;
             CHECK_YYMORE(yytext);
@@ -4088,13 +4092,13 @@ YY_RULE_SETUP
 
 case 224:
 YY_RULE_SETUP
-#line 979 "scan.l"
+#line 983 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 case 225:
 /* rule 225 can match eol */
 YY_RULE_SETUP
-#line 980 "scan.l"
+#line 984 "scan.l"
 {
                ++linenum;
                ACTION_ECHO;
@@ -4113,43 +4117,43 @@ YY_RULE_SETUP
 
 case 226:
 YY_RULE_SETUP
-#line 997 "scan.l"
+#line 1001 "scan.l"
 ACTION_ECHO; ++bracelevel;
        YY_BREAK
 case 227:
 YY_RULE_SETUP
-#line 998 "scan.l"
+#line 1002 "scan.l"
 ACTION_ECHO; --bracelevel;
        YY_BREAK
 case 228:
 YY_RULE_SETUP
-#line 999 "scan.l"
+#line 1003 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 case 229:
 YY_RULE_SETUP
-#line 1000 "scan.l"
+#line 1004 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 case 230:
 YY_RULE_SETUP
-#line 1001 "scan.l"
+#line 1005 "scan.l"
 ACTION_ECHO; /* character constant */
        YY_BREAK
 case 231:
 YY_RULE_SETUP
-#line 1002 "scan.l"
+#line 1006 "scan.l"
 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
        YY_BREAK
 case 232:
 YY_RULE_SETUP
-#line 1003 "scan.l"
+#line 1007 "scan.l"
 ACTION_ECHO; BEGIN(ACTION_STRING);
        YY_BREAK
 case 233:
 /* rule 233 can match eol */
 YY_RULE_SETUP
-#line 1004 "scan.l"
+#line 1008 "scan.l"
 {
                 ++linenum;
                 ACTION_ECHO;
@@ -4168,31 +4172,31 @@ YY_RULE_SETUP
        YY_BREAK
 case 234:
 YY_RULE_SETUP
-#line 1019 "scan.l"
+#line 1023 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 
 
 case 235:
 YY_RULE_SETUP
-#line 1023 "scan.l"
+#line 1027 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 case 236:
 YY_RULE_SETUP
-#line 1024 "scan.l"
+#line 1028 "scan.l"
 ACTION_ECHO; BEGIN(ACTION);
        YY_BREAK
 
 
 case 237:
 YY_RULE_SETUP
-#line 1027 "scan.l"
+#line 1031 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 case 238:
 YY_RULE_SETUP
-#line 1028 "scan.l"
+#line 1032 "scan.l"
 ACTION_ECHO; BEGIN(ACTION);
        YY_BREAK
 
@@ -4200,24 +4204,24 @@ ACTION_ECHO; BEGIN(ACTION);
 case 239:
 /* rule 239 can match eol */
 YY_RULE_SETUP
-#line 1031 "scan.l"
+#line 1035 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 case 240:
 /* rule 240 can match eol */
 YY_RULE_SETUP
-#line 1032 "scan.l"
+#line 1036 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 case 241:
 /* rule 241 can match eol */
 YY_RULE_SETUP
-#line 1033 "scan.l"
+#line 1037 "scan.l"
 ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); flush(); if (doing_rule_action) piece[piece1++] = strdup("</Action>"); } else { BEGIN(ACTION); }
        YY_BREAK
 case 242:
 YY_RULE_SETUP
-#line 1034 "scan.l"
+#line 1038 "scan.l"
 ACTION_ECHO;
        YY_BREAK
 
@@ -4227,7 +4231,7 @@ case YY_STATE_EOF(COMMENT_DISCARD):
 case YY_STATE_EOF(ACTION):
 case YY_STATE_EOF(ACTION_STRING):
 case YY_STATE_EOF(CHARACTER_CONSTANT):
-#line 1037 "scan.l"
+#line 1041 "scan.l"
 {
                        synerr( _( "EOF encountered inside an action" ) );
                        yyterminate();
@@ -4236,7 +4240,7 @@ case YY_STATE_EOF(CHARACTER_CONSTANT):
 case YY_STATE_EOF(EXTENDED_COMMENT):
 case YY_STATE_EOF(GROUP_WITH_PARAMS):
 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
-#line 1042 "scan.l"
+#line 1046 "scan.l"
 {
                        synerr( _( "EOF encountered inside pattern" ) );
                        yyterminate();
@@ -4244,7 +4248,7 @@ case YY_STATE_EOF(GROUP_MINUS_PARAMS):
        YY_BREAK
 case 243:
 YY_RULE_SETUP
-#line 1047 "scan.l"
+#line 1051 "scan.l"
 {
                        yylval = myesc( (unsigned char *) yytext );
 
@@ -4257,27 +4261,27 @@ YY_RULE_SETUP
 
 case 244:
 YY_RULE_SETUP
-#line 1057 "scan.l"
+#line 1061 "scan.l"
 fputs(escaped_qstart, yyout);
        YY_BREAK
 case 245:
 YY_RULE_SETUP
-#line 1058 "scan.l"
+#line 1062 "scan.l"
 fputs(escaped_qend, yyout);
        YY_BREAK
 case 246:
 /* rule 246 can match eol */
 YY_RULE_SETUP
-#line 1059 "scan.l"
+#line 1063 "scan.l"
 ECHO;
        YY_BREAK
 case 247:
 YY_RULE_SETUP
-#line 1060 "scan.l"
+#line 1064 "scan.l"
 ECHO;
        YY_BREAK
 case YY_STATE_EOF(SECT3):
-#line 1061 "scan.l"
+#line 1065 "scan.l"
 {
         sectnum = 0;
         yyterminate();
@@ -4287,27 +4291,27 @@ case YY_STATE_EOF(SECT3):
 
 case 248:
 YY_RULE_SETUP
-#line 1067 "scan.l"
+#line 1071 "scan.l"
 fprintf(yyout, "[""[%s]""]", escaped_qstart);
        YY_BREAK
 case 249:
 YY_RULE_SETUP
-#line 1068 "scan.l"
+#line 1072 "scan.l"
 fprintf(yyout, "[""[%s]""]", escaped_qend);
        YY_BREAK
 case 250:
 /* rule 250 can match eol */
 YY_RULE_SETUP
-#line 1069 "scan.l"
+#line 1073 "scan.l"
 ECHO;
        YY_BREAK
 case 251:
 YY_RULE_SETUP
-#line 1070 "scan.l"
+#line 1074 "scan.l"
 ECHO;
        YY_BREAK
 case YY_STATE_EOF(SECT3_NOESCAPE):
-#line 1071 "scan.l"
+#line 1075 "scan.l"
 {
        sectnum = 0;
        yyterminate();
@@ -4317,15 +4321,15 @@ case YY_STATE_EOF(SECT3_NOESCAPE):
 case 252:
 /* rule 252 can match eol */
 YY_RULE_SETUP
-#line 1076 "scan.l"
+#line 1080 "scan.l"
 format_synerr( _( "bad character: %s" ), yytext );
        YY_BREAK
 case 253:
 YY_RULE_SETUP
-#line 1078 "scan.l"
+#line 1082 "scan.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 4228 "scan.c"
+#line 4232 "scan.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(SECT2):
 case YY_STATE_EOF(CODEBLOCK):
@@ -5380,7 +5384,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 1078 "scan.l"
+#line 1082 "scan.l"
 
 
 
index e8119d9..65af554 100644 (file)
@@ -1,5 +1,5 @@
---- scan.c.orig        2018-06-12 20:08:27.897576886 +1000
-+++ scan.c     2018-06-21 23:28:19.049070509 +1000
+--- scan.c.orig        2018-06-22 00:31:53.564909079 +1000
++++ scan.c     2018-06-22 00:31:53.584909078 +1000
 @@ -23,6 +23,11 @@
  
  /* end standard C headers. */
        register yy_state_type yy_current_state;
        register char *yy_cp, *yy_bp;
        register int yy_act;
-@@ -4367,6 +4468,7 @@
+@@ -4371,6 +4472,7 @@
                YY_FATAL_ERROR(
                        "fatal flex scanner internal error--no action found" );
        } /* end of action switch */
index ba9bc20..2adb21a 100644 (file)
@@ -652,7 +652,11 @@ M4QEND      "]""]"
                 bracelevel = 0;
                 continued_action = false;
                 BEGIN(ACTION);
+#if 1
+ yyless(yyleng - 1);
+#else
                 unput( '\n' ); /* so <ACTION> sees it */
+#endif
 
                 if ( in_rule )
                     {