2012-05-17 Bert Bos * Released version 6.1 2012-02-14 Bert Bos * hxref.c: Added option -l to apply language-specific normalizations when searching for a string. Currently only for English and only to search for terms without a plural "s". 2011-12-27 Bert Bos * hxunpipe.c: Now also handles \# (which becomes &#) 2011-08-24 Bert Bos * openurl.c: Store HTTP status line in the Dictionary of response headers (under key ":status"). Added fopenurl3() to open a URL with another method than GET. Use libcurl's built-in support for Content-Encoding. fopenurl() now takes an int *status parameter for better error reporting. Added http_strerror() function. More error checking and error reporting. * hxaddid.c hxcopy.c hxcount.c hxextract.c hxincl.c hxindex.c hxmultitoc.c hxname2id.c hxnormalize.c hxnsxml.c hxnum.c hxpipe.c hxprune.c hxref.c hxtoc.c hxunpipe.c hxunxmlns.c hxwls.c hxxmlns.c: () now takes an int *status parameter. 2011-08-23 Bert Bos * fopencookie.c: Avoid compiler warnings by wrapping functions calls in other functions calls that do typecasts. * openurl.c: Added a callback function to be called by exit(3) and which cleans libcurl connections. Also check if a new connection is closed immediately at the first action inside fopenurl2(). Return NULL in that case. (Probably the target doesn't exist.) 2011-08-23 Bert Bos * acinclude.m4: Added LIBCURL_CHECK_CONFIG * configure.in: Added LIBCURL_CHECK_CONFIG and check for fopencookie() * fopencookie.c: New file: implemented Linux-style fopencookie() with BSD-style funopen() * Makefile.am: Added fopencookie.c to most of the programs. Added libcurl flags. * hxunpipe.c: Added some {} to avoid a compiler warning. * openurl.c: Added an alternative implemention of this module using libcurl. 2011-08-17 Bert Bos * dtd.hash: No newline should be created before or after the BUTTON element, it is an inline element. 2011-07-10 Bert Bos * hxunpipe.c: Handle \ddd (where d is octal) as output by onsgmls. Handle input lines of arbitrary length. Remove unused option -x. * hxnormalize.c: Don't add extra spaces in attribute values. 2011-07-01 Bert Bos * hxnormalize.c: Added option -L to remove redundant lang and xml:lang attributes. 2011-04-07 Bert Bos * hxnormalize.c: Magic comments now recognized also inside elements with mixed content (except preformatted) * Now also handles a DOCTYPE with neither an FPI nor a system ID. 2011-03-17 Bert Bos * hxindex.c: Added option -r to suppress the removal of trailing whitespace and punctuation. Added logic to keep a final '.' from being removed if it is part of an abbreviaton or ellipsis. 2011-01-18 Bert Bos * connectsock.c: now uses getaddrinfo(), which handles IPv6 addresses. * url.c: regexp pattern now also deals with IPv6 addresses ("http://[1234::1]/etc.") 2010-11-18 Bert Bos * hxcite.1: Added sections for example, bugs and history; improved wording. * hxcite.c: Updated some comments. Corrected usage message. 2010-11-17 Bert Bos * Released 5.8. * hxcite.c: Added option -c to no longer recognize [[...]] inside comments. 2010-07-12 Bert Bos * hxnsxml.c: Added hxnsxml as the complement to hxxmlns. 2010-06-24 Bert Bos * unent.hash: Entity "apos" was missing. 2010-05-04 Bert Bos * Added option -c to hxnormalize to make some comments start on a new line. 2010-04-27 Bert Bos * hxindex.c: Fixed bug: char replaced by int, because char is unsigned on PowerPC. * Released 5.7. * openurl.c: Fixed bug: only call dict_delete() if the dictionary actually exists. * xhref.c: Fixed bug: after wrapping an element in an A, we still need to look at its sister elements for more cross-references. 2010-04-26 Bert Bos * Released 5.6. * tree.c: Added wrap_elt() function. wrap_content() no longer converts element name to lowercase. (But wrap_contents() isn't used anywhere anymore.) * hxincl.c: Fixed bug: only look in substitutions dictionary if the dictionary has been initialized. * dict.c: Added assert() to ensure that Dictionary arguments are not NULL. * hxref.c: The element is now put around the element to cross-link, instead of inside it. 2010-01-15 Bert Bos * hxindex.c: Now uses iconv to convert from UTF-8 to wchar_t strings and then uses setlocale and wcscoll to sort index terms according to user's language. 2009-12-07 Bert Bos * xml2asc.c: Added full error checking for invalid UTF-8. 2009-11-09 Bert Bos * scan.l: unquoted attribute values may now even contain '='. 2009-10-05 Bert Bos * xml2asc.c: now returns a non-zero exit code if the input was not correct UTF-8. 2009-09-14 Bert Bos * hxnormalize.c: Added option -s. 2009-08-14 Bert Bos * hxcopy.c: URL references to the document itself, i.e., those that are of the form "", "#foo", and "?foo", are no longer rewritten. 2009-07-15 Bert Bos * Released 5.4 * url.c: Bug in removal of /./ fixed. Now leaves one / instead of none. 2009-03-25 Bert Bos * hxindex.c: Bug if the first index term has no alphanumeric characters, so that it sorts to be equal to globalprevious. Fixed by making globalprevious a non-empty, but unlikely string. 2009-03-08 Bert Bos * hxnormalize.c: The characters '_' and ':' in attributes *do* require quote marks. 2009-03-02 Bert Bos * hxunentmain.c Error message now refers to the right command line argument. * hxincl.c: Added option -s to override which files are included. 2009-02-12 Bert Bos * textwrap.c: Buffer is now allocated on heap, so line length limit is now unlimited (limited by memory), instead of 32K. 2009-02-09 Bert Bos * openurl.c: Different way to check max # of redirects. Added a few assignments to errno to get slightly better than random error messages. 2009-01-28 Bert Bos * Released 5.3 * hxcopy.c: Fixed bug in calculating path_from_url_to_url: Added a "/" at the end of the name of the current directory, because URL_s_absolutize needs to know the segment is indeed a directory. 2009-01-19 Bert Bos * hxtoc.c: Removed some unnecessary "EXPORT". Removed some duplicate code and used routines from types.c instead. * types.c: Added only_space(), pairlist_unset(), pairlist_set() and pairlist_get(). * tree.c: get_attrib() now returns the attribute value, rather than a Boolean. Removed some duplicate code by using routines in types.c instead. 2009-01-15 Bert Bos * tree.c: Added function delete_attrib() * hxindex.c: Added option -f to remove used title attributes and magic comments. * genid.c: Now takes whole contents (up to MAXIDLEN) to construct an ID from, instead of only the first word. 2009-01-12 Bert Bos * url.c: replaced a comparison (<) that always fails when char is unsigned (as is the case, e.g., in gcc on PowerPC-based systems) by a bitwise and (&). 2009-01-09 Bert Bos * Released version 5.2. * hxnum.c: Removed some routines to test class attributes and re-used those from class.c instead. * hxindex.c: Added option -n to use section numbers as anchor text in the index instead of "#". Also improved sorting: Entities (such as "<" or "&") are now skipped when comparing terms. (As the manual explains, for best sorting, other entities should be expanded first with hxunent(1).) 2008-12-16 Bert Bos * tree.c: Fixed bug in lookup(), added missing '\0' at end of string for long tag names. 2008-12-15 Bert Bos * scan.l: Fixed bug: "<_foo" was tokenized as TEXT instead of START, because {data} didn't exclude a "<" followed by a "_". 2008-12-09 Bert Bos * url.c: Rewrote remove_dot_segments() to no longer remove ../ from the start of a path. * openurl.c: Local files can be opened with mode "w" (remote ones still not) * Makefile.am: Added hxcopy utility. 2008-11-29 Bert Bos * scan.l: Fixed regexp for cdata. 2008-11-28 Bert Bos * hxincl.c: Added option -f. 2008-11-20 Bert Bos * Released version 5.1. * Updates to the manual pages: the "hx" prefix was missing from many occurrences of commnd names in the manual pages. (Thanks again to Daniel Leidert for pointing that out.) 2008-11-05 Bert Bos * Most programs renamed with a "hx" prefix. * hxtoc.c: Added option -d to use the DIV that encloses a header as the target of the links in the ToC, instead of the header itself. 2008-08-17 Bert Bos * Released version 4.7. * unentmain.c: Added information for gcc that usage() never returns. * url.c: Inverted condition (caused by incorrect replacement of strncmp() by hasprefix()) * unentmain.c: Missing #include * pipe.c: Now using lineno instead of yylineno. * Makefile.am: Replaced %-rules by old-style rules, added missing built sources and reordered them, so they are built in the right sequence. (Thanks to Daniel Leidert for these changes) 2008-08-10 Bert Bos * openurl.c: Now handles redirects and can store HTTP headers. * dict.c: New module to store HTTP headers (or any other key/value pairs, where both key and value are strings). * headers.c: New module to parse HTTP headers. 2008-07-30 Bert Bos * genid.c: made the search for existing IDs case-insentive. That's necessary for HTML. It wastes a few IDs for XML, but not too much. 2008-07-07 Bert Bos * toc.c: Added option -c to allow class=toc to be replaced by another class name. 2008-02-12 Bert Bos * Released version 4.5 * Fixes to man pages, fix to uncdata (suppressed an incorrect newline in the output, new AC_INIT macro in configure.in, typo in README. (Thanks to Daniel Leidert) 2008-01-24 Bert Bos * index.c: The links now have a TITLE attribute for better accessibility. 2007-12-11 Bert Bos * scan.l: Now accepts "". 2007-10-23 Bert Bos * url.c: Query component is now separate from path component. Making relative URLs absolute is now conformant to RFC 3986. This fixes in particular the incorrect output of wls. 2007-04-25 Bert Bos * genid.c: fixed bug with string not ending with \0 if len is 0. 2007-04-18 Bert Bos * unent.hash: Added option -f to "fix" unrecognized entities by replacing their & by & 2007-03-22 Bert Bos * toc.c: DFN elements are no longer copied to the ToC, only their content is. 2007-03-15 Bert Bos * Released version 3.9 * tree.c: fixed bug in create(), which left t->sister uninitialized 2006-10-04 Bert Bos * Released version 3.8 * toc.c: Now allows spaces around "toc" in "" * index.c: No longer destroys the title attribute. 2006-08-10 Bert Bos * xmlns.c: A local attribute will not get "{}" prefixed. * types.c: If strapp() is called with a NULL as first arg, a new string will be allocated on the heap. * index.c: Better sorting of terms with sub-terms. * addid.c: Made element matching case-sensitive when -x is used. * addadd.1: Removed reference to non-existent -a option. 2005-12-16 Bert Bos * xref.c: If the element to link is a , the span is replaced by an , instead of the being added, as for other kinds of elements. * The string type is now an array of chars instead of unsigned chars. 2005-11-09 Bert Bos * xmlns.c: An element without a Namespace prefix and without a default Namespace is no longer reported as an error. * xref.c: is no longer treated as en element whose content can be cross-referenced. * dtd.hash: No empty lines between elements when normalizing.