.... To test for this in
normalize.c, the existing static function has_parent() in tree.c
had to become exported.
2004-08-29 Bert Bos
* pipe.c: bug: when & is *not* followed by #, it should still be
printed.
2004-08-27 Bert Bos
* Published version 3.2
* types.s: fixed bug in eq() macro: missing parentheses caused
some arguments to be misinterpreted.
* pipe.c and unpipe.c: pipe outputs "" as "\#" (just like
nsgmls) and unpipe translates it back. unpipe now also accepts a
"C" line.
2004-08-10 Bert Bos
* xref.c: TITLE attribute of DFN element was normalized too soon,
which removed any "|" that was needed later.
2004-04-29 Bert Bos
* Released version 3.0
* cite.c: Fixed bug: after a [[...]] without a marker, the program
would not look for more [[...]] on the same line.
2004-04-28 Bert Bos
* unent.hash now considers a "&" that is not followed by "#" or an
alphanumeric character to mean the same as "&" (as required by
SGML, although invalid in XML)
2004-04-26 Bert Bos
* textwrap.c: increased MAXLINE, since I have an application that
uses 20000-character lines.
* scan.l: Scanner now returns the omitted ">" in "",
since this is valid in SGML (although not in XML, but we're not
validating anyway).
2004-04-22 Bert Bos
* Released version 2.9.
* mkbib.c: If a field ends with "." and the template would put a
"." after it, only one of the two periods is printed. Added option
-n and -r, to specify how many authors are printed at most and
what string is printed instead if there are more. Defaults are 3
and "et al."
2004-04-21 Bert Bos
* cite.c, mkbib.c: increased size of hash table from 200 to 4096.
2003-12-02 Bert Bos
* normalize.c: added logic to avoid that an end tag is omitted if
there is text after it.
2003-09-15 Bert Bos
* tree.c: if the currently open element doesn't accept text,
append_text no longer starts by closing all open elements that
have omittable end tags and don't accept text, but only closes as
many as needed to arrive at one that accepts the text's preferred
parent (which is P in HTML). This fixes a bug that text inside
BODY closes the BODY and HTML and then reopens them again to
insert a P. It now stops before closing BODY, because BODY will
accept the P.
2003-09-04 Bert Bos
* incl.c: printed one "?" too many at the end of a PI.
2003-08-11 Bert Bos
* xref.c: now splits the key into |-separated parts, just like
index.c does.
2003-08-07 Bert Bos
* addid.c: removed reference to search.h, since it is not used.
* mkbib.c, xref.c, cite.c: now use our own implementation of hash
tables if search.h does not exist.
2003-07-15 Bert Bos
* mkbib.c: fixed bug that caused last entry in the database to not
be properly stored in the hash table.
2003-04-09 Bert Bos
* Renamed search.h to search-freebsd.h and arranged for it to be
used only if the system doesn't have a search.h of its own.
* Added sources for twalk, tfind and tsearch.
* Added search.h and adapted configure.in.
* Changed export.h to quote the argument of EXPORTDEF, to deal
with the C preprocessor in gcc 3.2, which otherwise inserts extra
spaces. Adapted cexport.c to unquote the argument of EXPORTDEF
again before writing it to a .e file.
2003-03-12 Bert Bos
* configure.in: removed some unneeded rules (LN_S, MAN2HTML,
ERROR_AT_LINE, REALLOC) and dropped requirement from autocon 2.57
to autocon 2.52
2003-01-21 Bert Bos
* heap.c: changed the __FILE__ magic so that it compiles with
gcc3. (It gives a harmless warning still :-( )
2002-11-06 Bert Bos
* scan.l: added recognition for UTF-8 Byte Order Mark at start.
(The BOM is subsequently ignored, we don't currently do anything
with the knowledge that the file is UTF-8.)
2002-10-30 Bert Bos
* asc2xml, xml2asc, xmlrecode: removed xmlrecode and made asc2xml
and xml2asc independent programs. They were so small that
symlinking made no sense.
* tree.c: added routine need_stag() that check if the start tag is
required and added build_path() that tries to build a path of
omitted start tags from the current tree to the element that is to
be added.
* dtd.hash: added a column for omittable start tags, to help the
heuristics in html_push (tree.c) to infer the intended structure
better.
2002-10-29 Bert Bos
* xselect.c: now supports case-insensitive matching
* xref.c: when finding a match, now ignores all characters except
letters, digits and dashes.
* uncdata.c: Fixed bug: forgot to print "
* uncdata.c: new program: removes CDATA sections from XML files.
2002-02-18 Bert Bos
* xselect.c: Added options -s (separator) and -i
(case-insensitive). Added some documentation.
2002-02-14 Bert Bos
* selector.c: fixed bug in recognition of attribute selectors:
pointer was incremented before the character was stored, instead
of the reverse.
2002-02-05 Bert Bos
* Released version 2.2.
* cite.c: Now accepts a -m option to flag references. This allows
to find differently flagged references in different passes.
* multitoc.c: Fixed two bugs: a missing ! before strncmp and
missing printf(">"), which caused headings with child elements to
be copied incorrectly.
2001-09-25 Bert Bos
* index.c: Fixed bug: no longer tries to index empty elements,
such as ""
2001-08-01 Bert Bos
* selector.c: Bug fixed: some occurrences of START_EQ were renamed
to EQ, but not all.
* select.c: renamed to xselect.c, because select is a built-in
command of certain shells.
2001-07-17 Bert Bos
* unent.hash: fixed bug that copied a whole line instead of a
single unexpanded entity. Added option -b ("built-in") to leave
standard entities (amp, gt, lt, quot) untocuhed.
* Released version 2.0
* normalize.c: Added option -d to omit the doctype from the
output.
2001-07-16 Bert Bos
* selector.c: Fixed bug in parsing of "[name]"; fixed missing
case in attribs_to_string()
* select.c: Now implements :lang and :nth...(an+b)
2001-07-10 Bert Bos
* Released version 1.8
* mkbib.c: fixed bug in read_entries(). On Linux, calling
hsearch() with an action of ENTER replaces any existing data
with new data, if it is different, On Solaris the existing record
is kept. The routine now puts the data in the existing record.
2001-07-09 Bert Bos
* Released version 1.7
* selector.c: Added (types and a parser for CSS selector)
* select.c: Added (implementation of CSS selectors)
2001-05-23 Bert Bos
* Released version 1.6
2001-05-21 Bert Bos
* toc.c: In expand(), if keep-anchors is false, IDs are now not
copied either.
2001-04-19 Bert Bos
* textwrap.c: Fixed bug when space fell exactly at end of line.
But logic still is not perfect, since it creates spaces (indents)
on empty lines.
2001-03-22 Bert Bos
* toc.c: was not printed, even if xml was True
2001-02-04 Bert Bos
* printlinks: added.
2000-09-14 Bert Bos
* normalize.c: Fixed bug that caused text not to be preformatted
inside an element nested inside a PRE.
* textwrap.c: Fixed bug that caused lines not to be broken at all
if there was no break point before the target length.
2000-09-04 Bert Bos
* xref.c: now skips quotes when comparing terms
2000-08-29 Bert Bos
* Released version 1.3
2000-08-26 Bert Bos
* index.c: termcmp() now correctly compares keys that end with
punctuation.
* normalize.1: now describes the -e (add endtags) option.
* xref.c: now uses title attribute in instances as well
2000-08-21 Bert Bos
* Released version 1.2
* All occurrences of "DOCTYPE" are now in uppercase.
2000-08-20 Bert Bos
* tree.c: Now checks if there is a parent open before popping
elements from the stack.
* textwrap.c: Now flushes at \n or \r in preformatted, because
long preformatted elements could too easily overflow the buffer.
* html.y: Added some const's to formal parameters
* genid.c: minlen now works even if there are child elements; no
longer skips '-' and '.' when it generates an ID; no longer
generates zero-length IDs.
* cexport.c: Now recognizes quoted file names after "#line"
* class.c: Put contains() and has_class() in new file
* Makefile.am: Added addid and extract
Version 1.1 (2 August 2000)
Better (?) heuristic for closing and generating elements in
html_push() in tree.c. It no longer closes and re-opens the
element in case both and are missing.
Different path for bash (/usr/local/bin/bash instead of
/usr/local/gnu/bin/bash) in cite-mkbib.
cite-mkbib was missing from the tar file.
Program incl changed. It now looks for .
Because of that, a callback endincl() was added in html.y
Some programs now interpret argument "-" as meaning "read from
standard input."
Fixed bug in toc: it didn't correctly guard against re-use of IDs,
since it stored a random string rather than an ID in the binary
tree.
Added some handy functions to types.c: stapp(), chomp(), min(),
max().