current elements
and elements of
constructs was growing proportionally with the number of live coroutines.
#content
or another expression that emits signals could cause the the signal to be processed before the text,
if the current output was a markup sink function
redirecting its #current-input
to a markup source function
.
attribute
keyword, leading to incorrect output.
specified attributes
as an argument appeared in the header of a repeat over
loop, and was followed by another repeat over
loop, any markup parsing construct, or a variety of other block-level language constructs.
after [0]
was used when creating a new item on a record field.
%c
was passed to a string source
or markup source
function, and the result of this function involved in further processing.
using
prefix with an indexed attributes
reference would trigger a compile-time error.
declare data-letters
declaration was being allowed in a program file after executable code had been encountered. This is contrary to the specification, and can lead to undefined behaviour or compile-time internal errors.
save
was not applied to a domain-bound global
shelf.
catch
declaration was later referenced in the program.
lastmost
to an attributes
expression would lead to an internal error at compile-time.
new
was not being parsed correctly if it appeared in a pattern context.
conversion-function
or an infix-function
was invoked in the pattern of a find
rule.
has key
test was applied to the result of new
on a record field.
lookahead
not
could not fail (e.g., white-space*
) and was embedded inside a more complex pattern.
throw
from a function invoked in the header of a translate
rule was being discarded.
name of
was passed to a function expecting a shelf-class argument, a non-sensical error message was emitted or, under certain circumstances, an internal error could be triggered at compile-time.
#current-output
is encountered on the right-hand side of put
, since this can lead to confusing output.
#current-input
of a markup sink function
joined with another markup source
could lead to an internal error in some rare situations.
save
or save-clear
to a shelf being used in a repeat over
loop would incorrectly leave a connection between the inner shelf and the outer shelf. This would lead to an error at run-time.
xerces.xml
to #current-input
within a string source function
would cause an internal error after the parse.
do markup-parse
with multiple duplicated markup-external-text-entity-event
regions with no preceding markup-external-text-entity-reference-event
could cause a segmentation fault.
#xmlns
qualifier in an open element
test outside of an active parse would lead to a segmentation fault at run-time.
create-element-event
and create-specified-attribute
could cause a segmentation fault if given an empty string value for an attribute declared as ID
or NAME
.
create-element-event
in case of an invalid attribute now reports the invalid attribute value.
#content
into multiple markup sink
and encountering a resolution failure for an external text entity in one of the sinks could cause an internal error and a segmentation fault.
-brief
and -version
on the command-line at the same time would result in OmniMark silently exiting. These options now conflict.
DEL
(code 0x7F
) character from the input content.
PUBLIC
or SYSTEM
keyword and the following quoted string. A markup warning is now emitted.
#doctype
to the name of the root element of the document instance even if the preceding DOCTYPE declaration was present. The DOCTYPE declaration now takes precedence.
]]>
.
omrelaxng.compile-schema
was failing on certain valid RELAX NG schema that used deeply nested attribute definitions.
oasis.compile-parsed-catalog
call was not propagated to delegate catalogs and next catalogs.
vfs.open-https
has been enabled on 64-bit Linux.