Warn about mixed content models where #PCDATA can't occur everywhere.

Perhaps there should be a configuration option saying what a control
character is for the purpose of SHUNCHAR CONTROLS.

Should the current character that is printed in error messages be
taken from be taken from the file entity or the current entity?

Refine SYS_ action.  If we distinguish DELNONCH in lexmark, lexgrp,
lexsd, we can have separate action that ignores the following
character as well.

Should RSs in CDATA/SDATA entities be ignored as specified in 322:1-2?
Similarily, do the rules on REs in 322:3-11 apply to CDATA/SDATA
entities? (I don't think they count as being `in content'.)

What should the entity manager do when it encounters code 13 in an
input file? (Currently it treats it as an RE.)

Document when invalid exclusions are detected.

Option not to perform capacity checking.

Give a warning if the recommendation of 422:1-3 is contravened.

Should an empty CDATA/RCDATA marked section be allowed in the document
type declaration subset?

Include example of use of SGML_PATH in documentation.

Try to detect the situation in 310:8-10 (but see 282:1-2).

Resize hash tables if they become too full.

Say something in the man page about message catalogues.

Consider whether support for SHORTREF NONE requires further changes
(other than disallowing short reference mapping declaration).

Fake /dev/fd/N and /dev/stdin for systems that don't provide it.

Improve the effficiency of the entity manager by not closing and
reopening files.  If we run out of FILEs choose the stream with the
fewest bytes remaining to be read, and read the rest of it into
memory.  Each entity level will have its own read buffer.

Support multi-line error messages: automatically indent after
newline.  (We could output to a temporary file first, then copy to
stderr replacing newlines by newline+indent).

Option that says to output out of context things.

Divide up formal public identifier errors.  Give these errors their
own type code.

Consider whether, when OMITTAG is NO, we need to change interpretation
of an empty start-tag (7.4.1.1).

Possibly turn errors 70 and 136 into warnings.

Make things work with NORMSEP > 2.  Would need to keep track of number
of CDATA and SDATA entities in CDATA attributes.

Handle `SCOPE INSTANCE'.

In entgen.c, truncate filenames for OSs that don't do this themselves.

Provide an option that specifies that maximum number of errors; when
this limit is exceeded sgmls would exit.

Document non-portable assumptions in the code.

Option to write out SGML declaration.  In this case make it write out
APPINFO parameter.

Allow there to be catalogs mapping public ids to filenames.
Environment variable SGML_CATALOG containing list of filenames of
catalogs.
