Lua: extract marshaling code to pandoc-lua-marshal package #7719
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The marshaling functions for pandoc's AST are extracted into a separate
package. The switch comes with a number of changes:
Pandoc's List module was rewritten in C, thereby improving error
messages.
Data files
pandoc.lua
andpandoc.List.lua
have been removed.Lists of
Block
andInline
elements are marshaled using the newlist types
Blocks
andInlines
, respectively. These typescurrently behave identical to the generic List type, but give better
error messages. This also opens up the possibility of adding
element-specific methods to these lists in the future.
Elements of type
MetaValue
are no longer pushed as values whichhave
.t
and.tag
properties. This was already true forMetaString
andMetaBool
values, which are still marshaled as Luastrings and booleans, respectively. Affected values:
MetaBlocks
values are marshaled as aBlocks
list;MetaInlines
values are marshaled as aInlines
list;MetaList
values are marshaled as a generic pandocList
s.MetaMap
values are marshaled as plain tables and no longergiven any metatable.
The test suite for marshaled objects and their constructors has
been extended and improved.
A bug in Citation objects, where setting a citation's suffix
modified it's prefix, has been fixed.