What's fixed in OmniMark 7.1
- An internal error for some complex, nested, non-parenthesized function
calls has been fixed
- A segmentation fault for exceptions thrown from external-text-entity rules has been fixed
- An internal error for a statically false take pattern has been fixed
- Variable shelves with initial-size 1 were not settable from the
command line. Now they are.
- The compiler didn't allow value-returning functions to be ended by
"not-reached".
- The "binary-mode" couldn't be applied to some external source functions.
- The "%g" format item didn't work on pattern variables.
- An internal error for faulty calls of external functions with output
arguments has been fixed.
- The compiler accepted "using output as " with more than one same stream
destination. It no longer does so.
- The copy-clear action didn't clear the default shelf item and the
stream name. Now it does.
- Attribute declaration tests weren't properly implemented.
- An internal error for "has name" applied to a value argument has been fixed.
- Operator precedence was wrong in some contexts.
- Multiple importation of functions from shared modules could cause name
collisions.
- An internal error for deep nested function calls with shelf arguments has been fixed.
- An internal error for xmlns-change rules in modules has been fixed.
- Inconsistent shelf declarations are now caught at compile-time.
- An internal error for throws from within "do sgml-parse" has been fixed.
- Some combinations of "take" and "drop" operators could cause pattern
variable data corruption. This has been fixed.
- A crash that occurred when closing ftp connection in omftp has been fixed.
- A memory leak in omftp when read or write fails has been fixed.
- A crash when closing pop3 mailbox in ommail has been fixed.
- 'describe[-file]' functions in omvfs sometimes threw an
exception in Windows due to being unable to access PDC to resolve
user/group names. This has been fixed.
- 'describe[-file]' functions in omvfs were returning times in an
incorrect format in timezones > GMT. This has been fixed.
- ombcd and omfloat module header files couldn't both be imported
unprefixed. This has been fixed.
What's fixed in OmniMark 7.0.2
- An error where #base rules for an element were not being selected if the
element was mentioned without the "base" modifier in a query has been
fixed.
- An internal error triggered when the source used in a do...parse
construct contains "#current-input drop [pattern]" has been fixed.
- Throws from the outer scope of a markup-error rule were not catchable in
the body of that markup-error rule. This has been corrected.
repeat for integer foo ...
now allows int32 to be used in place of
integer.
drop
used in a global variable initializer expression no longer
causes an internal error.
- The current output destination was being corrupted when a markup parse
was being aborted before it could start, for example when the file
being parsed did not exist. This has been fixed.
- An error where a legitimate compile-time error would be followed by an
internal error has been fixed.
- Using back-quotes to get the keyword interpretation of a symbol was not
working for action keywords overriden by non value-returning functions.
- A "++" pattern with a terminate pattern that can never fail was
causing an internal error. This has been fixed. Note that due to the
semantics of "++" these sorts of patterns can never succeed anyway.
- An internal error triggered by certain function call sequences mixing
parenthesized and unparenthesized function argument lists has been fixed.
- Throwing local variables as read-only arguments to a catch that is
outside the scope of that variable's declaration was causing OmniMark to
crash. This has been fixed.
- Library rules in programs using modules were not useable. This has
been fixed.
- The following fixes have been made to the Xerces parser interface:
- The "external-text-entity" rule has been enhanced:
- The entity name is now available (using the "%q" format item).
- Where an external text entity is the external declaration subset of a
DTD, its name is #DTD, and it is recognized separately from named entities.
- Where an external text entity is an externally provided XML Schema, its
name is #SCHEMA, and it's again recognized separately from named entities,
and separately from a #DTD entity.
- Declaration information from the DTD is now used in the same manner as
when using OmniMark's native markup parsers.
- Empty element recognition has been improved:
- Empty tags (those ending in "/>") are now recognized.
- The "content is empty" test is true when either an element is declared
empty (in a DTD or Schema) or has an empty tag.
- The new
content is declared-empty
is only true when an element is
declared empty.
- The new
content is empty-tag
is only true when an element has an empty
tag.
- There's more information available for an element's attributes when
there's a DTD or Schema to provide the information:
- All attributes, specified, defaulted or implied are now returned, and
the "is specified", "is defaulted" and "is implied" tests distinguish
between them.
- ) The various attribute types -- CDATA, ID, IDREF, IDREFS, ENTITY,
ENTITIES, NMTOKEN, NMTOKENS, NOTATION and name token group (a.k.a. GROUP) --
are recognized, and the existing OmniMark tests distingish between them.
- You can "repeat over" an attribute. For IDREFS, ENTITIES and NMTOKENS
attributes there's one iteration per ID name or entity name.
- For ENTITY attributes and for the individual tokens of ENTITIES
attributes, the "is public" and "is system" tests work, you can ask for the
"notation of attribute", and the "p", "e" and "o" modifiers of the "v"
format item provide the same information as with OmniMark's native markup
parsers.
- For NOTATION attributes, the "is public" and "is system" tests work, and
the "p" and "e" modifiers of the "v" format item provide the same
information as with OmniMark's native markup parsers.
- The LDAP library, OMLDAP, has been substantially rewritten to improve stability and correct various errors.
What's fixed in OmniMark Studio 7.0.1
- Studio now opens Windows registry keys with appropriate permissions. This
fixes an error whereby Studio would not be able to read the authorization
key when run by users having only read access to the registry key in
question.
- Studio now correctly reads in external library paths when loading a
project.
What's fixed in OmniMark 7
TCPConnectionGetOutput
and TCPConnectionGetSource
now set return values properly when applied to a TCPConnection
that is in error or not connected.
- An error has been fixed that caused
tcp-accept-connection
in the omtcp library to crash or enter an infinite loop when receiving many requests quickly.
- The omfloat library now handles math errors consistently on all platforms.
- The ombcd library had a memory handling error that may have caused unexpected behavior when freeing some
bcd
values. This has been fixed.
- On Windows,
describe
now works on read-only devices, such as CD-Roms.
- On Unix platforms,
make-directory
now gives new directories the correct access permissions.
- On Unix platforms,
describe
now takes Daylight Savings Time into account when reporting file access times.
- Memory leaks and crashes related to memory handling in the omldap library have been fixed.
- An error has been fixed that caused omldap functions to crash when operations were performed after the connection was closed.
ldapOpen
will now allow port numbers up to 65535.
ldapCreateAttribute
, ldapAttributeGetValue
, ldapAttributeGetValues
and ldapModifyEntry
now check the datatype parameter.
- An error in
MailInBoxGetMessage
caused extra null bytes in lines that were longer than 512 characters.
- Quoted names (such as "foo") have been removed from the few places where
they were still accepted.
- Syntax error messages now correctly report the cause of the syntax
error. This error occurred infrequently.
- The external function tcp-accept-connection (or
TCPServiceAcceptConnection) no longer crashes OmniMark or sends it into
an infinite loop if the connection is broken before the function
returns.
- In releases of OmniMark prior to Version 7.0,
when a "do sgml-parse" action was used
with the "with utf-8" option set to "true",
where the parsed document contained an SGML Declaration (i.e. "<!SGML ...")
prior to the DTD, and
a numeric character reference,
OmniMark incorrectly returned the low-order 8 bits of the character's number.
This has now been fixed tso that the UTF-8 encoding is returned.
What's fixed in OmniMark Studio 7
- When Studio automatically loads a file during a debugging session, the include paths are now correctly considered.
- An infrequently-occurring buffer reading error has been fixed. This would happen while Studio was reading data from an edit window during a debugging session.
OmniMark 7.1 Documentation Generated: December 19, 2003 at 12:46:02 pm
If you have any comments about this section of the documentation, send email to [email protected]
Copyright © Stilo Corporation, 1988-2003.