]> granicus.if.org Git - multimarkdown/commitdiff
FIXED: Fix issue with trailing ATX hash without final newline
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 16 Feb 2018 05:55:24 +0000 (00:55 -0500)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Fri, 16 Feb 2018 05:55:24 +0000 (00:55 -0500)
Sources/libMultiMarkdown/lexer.c
Sources/libMultiMarkdown/lexer.re
Sources/libMultiMarkdown/mmd.c
tests/MMD6Tests/Headers.fodt
tests/MMD6Tests/Headers.html
tests/MMD6Tests/Headers.htmlc
tests/MMD6Tests/Headers.tex
tests/MMD6Tests/Headers.text

index 3d62918c097c9b234e81298fb383c9217eecef1a..6d62362ed7d396f9b0c35ced556f768b10970de7 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.14.3 on Sun Jul 23 17:28:33 2017 */
+/* Generated by re2c 0.14.3 on Fri Feb 16 00:41:29 2018 */
 /**
 
        MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
@@ -643,6 +643,7 @@ yy53:
        yyaccept = 8;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
+       case 0x00:
        case '\t':
        case '\n':
        case '\r':
@@ -1088,6 +1089,7 @@ yy86:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
+       case 0x00:
        case '\t':
        case '\n':
        case '\r':
@@ -1102,9 +1104,10 @@ yy87:
        yych = *YYCURSOR;
 yy88:
        switch (yych) {
+       case 0x00:
+       case '\n':      goto yy91;
        case '\t':
        case ' ':       goto yy87;
-       case '\n':      goto yy91;
        case '\r':      goto yy93;
        case 0xC2:      goto yy90;
        default:        goto yy89;
@@ -1135,9 +1138,10 @@ yy94:
        yych = *YYCURSOR;
 yy95:
        switch (yych) {
+       case 0x00:
+       case '\n':      goto yy98;
        case '\t':
        case ' ':       goto yy94;
-       case '\n':      goto yy98;
        case '\r':      goto yy100;
        case 0xC2:      goto yy97;
        default:        goto yy96;
@@ -1166,6 +1170,7 @@ yy101:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
+       case 0x00:
        case '\t':
        case '\n':
        case '\r':
@@ -1178,6 +1183,7 @@ yy102:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
+       case 0x00:
        case '\t':
        case '\n':
        case '\r':
@@ -1192,9 +1198,10 @@ yy103:
        yych = *YYCURSOR;
 yy104:
        switch (yych) {
+       case 0x00:
+       case '\n':      goto yy107;
        case '\t':
        case ' ':       goto yy103;
-       case '\n':      goto yy107;
        case '\r':      goto yy109;
        case 0xC2:      goto yy106;
        default:        goto yy105;
@@ -1225,9 +1232,10 @@ yy110:
        yych = *YYCURSOR;
 yy111:
        switch (yych) {
+       case 0x00:
+       case '\n':      goto yy114;
        case '\t':
        case ' ':       goto yy110;
-       case '\n':      goto yy114;
        case '\r':      goto yy116;
        case 0xC2:      goto yy113;
        default:        goto yy112;
@@ -1256,6 +1264,7 @@ yy117:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
+       case 0x00:
        case '\t':
        case '\n':
        case '\r':
@@ -1268,6 +1277,7 @@ yy118:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
+       case 0x00:
        case '\t':
        case '\n':
        case '\r':
@@ -1281,9 +1291,10 @@ yy119:
        yych = *YYCURSOR;
 yy120:
        switch (yych) {
+       case 0x00:
+       case '\n':      goto yy123;
        case '\t':
        case ' ':       goto yy119;
-       case '\n':      goto yy123;
        case '\r':      goto yy125;
        case 0xC2:      goto yy122;
        default:        goto yy121;
@@ -1314,9 +1325,10 @@ yy126:
        yych = *YYCURSOR;
 yy127:
        switch (yych) {
+       case 0x00:
+       case '\n':      goto yy130;
        case '\t':
        case ' ':       goto yy126;
-       case '\n':      goto yy130;
        case '\r':      goto yy132;
        case 0xC2:      goto yy129;
        default:        goto yy128;
index 291f27051e7eca61f79717ca520bd46593c53716..fb740c6a045d296bd63e056086a46a1efb5efcdf 100644 (file)
@@ -81,8 +81,9 @@ int scan(Scanner * s, const char * stop) {
                NL                                                              = "\r\n" | '\n' | '\r';
                WS                                                              = [ \t\240];    // Whitespace from char_lookup.c
                SP                                                              = WS+;
+               EOF                                                             = '\x00';
 
-               SPNL                                                    = WS* NL;
+               SPNL                                                    = WS* ( NL | EOF);
 
                INDENT_TAB                                              = '\t';
                INDENT_SPACE                                    = [ \240]{4};
index ece12f137900ebb7e6a1cc7fd1d321825ab1bd55..cf28f6bf299cadafcaebd3152b987cf490282e8d 100644 (file)
@@ -519,7 +519,7 @@ void mmd_assign_line_type(mmd_engine * e, token * line) {
                                } else {
                                        if ((line->child->tail->type >= HASH1) &&
                                                        (line->child->tail->type <= HASH6)) {
-                                               line->child->tail->type -= TEXT_EMPTY;
+                                               line->child->tail->type -= HASH1;
                                                line->child->tail->type += MARKER_H1;
                                        }
                                }
index 85c10e1041942266025b59a18d38d2b298625384..cc329da70fd95fdaf782436c037e06fca30a1c96 100644 (file)
@@ -313,6 +313,8 @@ office:mimetype="application/vnd.oasis.opendocument.text">
 <text:p text:style-name="Standard">####### foo #######</text:p>
 
 <text:p text:style-name="Standard">15</text:p>
+
+<text:h text:outline-level="6"><text:bookmark text:name="foo"/>foo </text:h>
 </office:text>
 </office:body>
 </office:document>
index 7a9a8ca2ef86d747183ae611e1f8dff071e049ca..c2ae6359b7bad37721b4f3ee8c1f7213f358f1cf 100644 (file)
@@ -43,6 +43,8 @@
 
 <p>15</p>
 
+<h6 id="foo">foo </h6>
+
 </body>
 </html>
 
index 5a6177d9c0237c5a3050d67e001fb070f094457c..6959dfaaa524b4e0311fd5910fa76778910d4273 100644 (file)
@@ -37,3 +37,5 @@ latex config: article</p>
 <p>####### foo #######</p>
 
 <p>15</p>
+
+<h6>foo </h6>
index b1bc5109bd78e0f5b1373f31a76ab5907a2dd478..3b192fdb70ed20f2945fc735648f9acdad57d306 100644 (file)
@@ -50,5 +50,8 @@
 
 15
 
+\paragraph{foo }
+\label{foo}
+
 \input{mmd6-article-footer}
 \end{document}
index b43634b830c3f319c575d679ebcedad7facb04ea..0fe752c84e14648b269c954d74b3c293b2eabffc 100644 (file)
@@ -36,3 +36,5 @@ latex config: article
 ####### foo #######
 
 15
+
+###### foo ######
\ No newline at end of file