@@ -171,7 +171,7 @@ variables.
171: The name used to involve the filter. This value can be used
171: The name used to involve the filter. This value can be used
172 to find files relative to the script file. This variable is
172 to find files relative to the script file. This variable is
173 also set in custom writers.
173 also set in custom writers.
175`PANDOC_STATE`
175`PANDOC_STATE`
176: The state shared by all readers and writers. It is used by
176: The state shared by all readers and writers. It is used by
177 pandoc to collect and pass information. The value of this
177 pandoc to collect and pass information. The value of this
@@ -641,6 +641,9 @@ to create these objects.
642Pandoc document
642Pandoc document
644+Object equality is determined via
645+[`pandoc.utils.equals`](#utils-equals).
645: document content ([List] of [Block]s)
648: document content ([List] of [Block]s)
@@ -653,10 +656,16 @@ Pandoc document
653Meta information on a document; string-indexed collection of
656Meta information on a document; string-indexed collection of
654[MetaValue]s.
657[MetaValue]s.
659+Object equality is determined via
660+[`pandoc.utils.equals`](#utils-equals).
656## MetaValue {#type-ref-MetaValue}
662## MetaValue {#type-ref-MetaValue}
658Document meta information items.
664Document meta information items.
666+Object equality is determined via
667+[`pandoc.utils.equals`](#utils-equals).
660### MetaBlocks {#type-ref-MetaBlocks}
669### MetaBlocks {#type-ref-MetaBlocks}
662A list of blocks usable as meta value ([List] of [Block]s)
671A list of blocks usable as meta value ([List] of [Block]s)
@@ -707,6 +716,9 @@ Plain Lua string value (string)
708## Block {#type-ref-Block}
717## Block {#type-ref-Block}
719+Object equality is determined via
720+[`pandoc.utils.equals`](#utils-equals).
710### BlockQuote {#type-ref-BlockQuote}
722### BlockQuote {#type-ref-BlockQuote}
712A block quote element
724A block quote element
@@ -926,6 +938,9 @@ centered).
927## Inline {#type-ref-Inline}
939## Inline {#type-ref-Inline}
941+Object equality is determined via
942+[`pandoc.utils.equals`](#utils-equals).
929### Cite {#type-ref-Cite}
944### Cite {#type-ref-Cite}
@@ -1166,6 +1181,9 @@ Superscripted text
1167A set of element attributes
1182A set of element attributes
1184+Object equality is determined via
1185+[`pandoc.utils.equals`](#utils-equals).
1169`identifier`
1187`identifier`
1170: element identifier (string)
1188: element identifier (string)
@@ -1184,6 +1202,9 @@ indices to the list table.
1185Single citation entry
1203Single citation entry
1205+Object equality is determined via
1206+[`pandoc.utils.equals`](#utils-equals).
1188: citation identifier, e.g., a bibtex key (string)
1209: citation identifier, e.g., a bibtex key (string)
@@ -1206,6 +1227,9 @@ Single citation entry
1206### ListAttributes {#type-ref-ListAttributes}
1227### ListAttributes {#type-ref-ListAttributes}
1207List attributes
1228List attributes
1230+Object equality is determined via
1231+[`pandoc.utils.equals`](#utils-equals).
1210: number of the first list item (integer)
1234: number of the first list item (integer)
@@ -2202,6 +2226,28 @@ functions.
2202 -- pandoc.Emph{ pandoc.Str 'Paragraph2' }
2226 -- pandoc.Emph{ pandoc.Str 'Paragraph2' }
2229+[`equals (element1, element2)`]{#utils-equals}
2231+: Test equality of AST elements. Elements in Lua are considered
2232+ equal if and only if the objects obtained by unmarshaling are
2237+ `element1`, `element2`:
2238+ : Objects to be compared. Acceptable input types are
2239+ [Pandoc](#type-ref-pandoc), [Meta](#type-ref-meta),
2240+ [MetaValue](#type-ref-MetaValue),
2241+ [Block](#type-ref-Block), [Inline](#type-ref-Inline),
2242+ [Attr](#type-ref-Attr),
2243+ [ListAttributes](#type-ref-ListAttributes), and
2244+ [Citation](#type-ref-Citation).
2248+ - Whether the two objects represent the same element
2205[`hierarchicalize (blocks)`]{#utils-hierarchicalize}
2251[`hierarchicalize (blocks)`]{#utils-hierarchicalize}
2207: Convert list of blocks into an hierarchical list. An
2253: Convert list of blocks into an hierarchical list. An