diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/markdown/markdown.tex | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/markdown/markdown.lua | 57 |
2 files changed, 38 insertions, 23 deletions
diff --git a/Master/texmf-dist/tex/generic/markdown/markdown.tex b/Master/texmf-dist/tex/generic/markdown/markdown.tex index f3c4d4e8b43..662d20c1b9f 100644 --- a/Master/texmf-dist/tex/generic/markdown/markdown.tex +++ b/Master/texmf-dist/tex/generic/markdown/markdown.tex @@ -45,8 +45,8 @@ %% %% The names of the source files used are shown above. %% -\def\markdownLastModified{2021/08/06}% -\def\markdownVersion{2.10.0}% +\def\markdownLastModified{2021/08/31}% +\def\markdownVersion{2.10.1}% \let\markdownBegin\relax \let\markdownEnd\relax \let\markdownInput\relax diff --git a/Master/texmf-dist/tex/luatex/markdown/markdown.lua b/Master/texmf-dist/tex/luatex/markdown/markdown.lua index 8583a21f5a0..85900563718 100644 --- a/Master/texmf-dist/tex/luatex/markdown/markdown.lua +++ b/Master/texmf-dist/tex/luatex/markdown/markdown.lua @@ -58,7 +58,7 @@ -- those in the standard .ins files. -- local metadata = { - version = "2.10.0", + version = "2.10.1", comment = "A module for the conversion from markdown to plain TeX", author = "John MacFarlane, Hans Hagen, Vít Novotný", copyright = {"2009-2016 John MacFarlane, Hans Hagen", @@ -2765,29 +2765,45 @@ parsers.spnl = parsers.optionalspace parsers.line = parsers.linechar^0 * parsers.newline parsers.nonemptyline = parsers.line - parsers.blankline -parsers.commented_line = Cs(((parsers.linechar -- initial - - parsers.backslash - - parsers.percent)^1 - + (parsers.backslash -- even backslash - * parsers.backslash)^1 - + (parsers.backslash -- odd backslash - * parsers.backslash)^0 - * (parsers.backslash / "" - * parsers.percent - + parsers.backslash - * (parsers.linechar -- initial - + parsers.newline - - parsers.backslash - - parsers.percent)) - )^0) +parsers.commented_line_letter = parsers.linechar + + parsers.newline + - parsers.backslash + - parsers.percent +parsers.commented_line = Cg(Cc(""), "backslashes") + * ((#(parsers.commented_line_letter + - parsers.newline) + * Cb("backslashes") + * Cs(parsers.commented_line_letter + - parsers.newline)^1 -- initial + * Cg(Cc(""), "backslashes")) + + #(parsers.backslash * parsers.backslash) + * Cg((parsers.backslash -- even backslash + * parsers.backslash)^1, "backslashes") + + (parsers.backslash + * (#parsers.percent + * Cb("backslashes") + / function(backslashes) + return string.rep("\\", #backslashes / 2) + end + * C(parsers.percent) + + #parsers.commented_line_letter + * Cb("backslashes") + * Cc("\\") + * C(parsers.commented_line_letter)) + * Cg(Cc(""), "backslashes")))^0 + * (#parsers.percent + * Cb("backslashes") + / function(backslashes) + return string.rep("\\", #backslashes / 2) + end * ((parsers.percent -- comment * parsers.line * #parsers.blankline) -- blank line - / "\n" + / "\n" + parsers.percent -- comment * parsers.line - * parsers.optionalspace -- leading tabs and spaces - + C(parsers.newline)) + * parsers.optionalspace) -- leading tabs and spaces + + C(parsers.newline)) parsers.chunk = parsers.line * (parsers.optionallyindentedline - parsers.blankline)^0 @@ -3380,10 +3396,9 @@ function M.reader.new(writer, options) end) str = str:gsub('^' .. min_prefix, '') end - if toplevel and options.texComments then + if toplevel and (options.texComments or options.hybrid) then str = lpeg.match(Ct(parsers.commented_line^1), str) str = util.rope_to_string(str) - print(str) end local res = lpeg.match(grammar(), str) if res == nil then |