Version 4.2c published 6 september 1999 (development release)
- added .perl/.endperl command.
- added .endmacro command, activated by $(END_MACRO) standard symbol.
- added $(ESC_HYPHEN) standard symbol to allow escaping trailing hyphens.
- added -ifexist option to the .include command.
- added -ifdef option to the .build command.
- 8-bit characters are now translated in final pass.
- corrected bug that caused commands in TOC blocks not to be executed.
- corrected bug that sometimes caused duplicated TOC entries.
- corrected bug that caused redefinition of user blocks to be appended
instead of redefined.
- corrected bug in .build dir command when directories contain periods.
- corrected bug: Standard blocks were not reset if more than one source
document was processed.
- the correct language code for Danish is 'DA', not 'DK' as used before.
- $(DIR) variable can be undefined now (thanks to Oscar Figuereido)
Version 4.2b published 20 November 1998 (development release)
- now the &date() function formats dates using the language in $(LANG)
- corrected a fault we added to the &relpath() function.
- &relpath() function now uses current output page as 'from' if only
one argument is supplied.
- corrected error in user-defined blocks when several documents were
- symbols in .page commands were not being expanded in the inter and TOC
- added database symbols and connections between documents.
- added for_open and for_close standard blocks.
- added $(HITS) standard symbol for use in .for loops.
- added .expires command and -expired command-line option.
Version 4.2a published 20 October 1998
Thanks to Enrique Bengoechea <email@example.com> for
the many improvements to htmlpp.
- default input file extension changed from .txt to .htp.
- added French support in date formatting routines.
- completed the character entity references for accented characters.
- added -charset command-line option.
- corrected a fault we added to the &relpath() function.
- added support for attributes in links.
- added support for relative references.
- added support for multilanguage symbols, e.g. $(home.es) and
- added .for loop that queries flat-text databases.
Version 4.1a published 5 August 1998
- table of contents is now built at very end, before final pass.
- added &pageref() intrinsic function (thanks to Alan Silver).
- command-line options can be supplied in shorted form (e.g. -d
- added $(DIR) symbol for specifying the target directory.
- added &relpath() function (thanks to Enrique Bengoechea).
Version 4.0g published 24 July 1998
- added -noquote option for the .macro command.
- corrected htmlpp to allow nested intrinsic functions.
- corrected bug in &file_time() function.
Version 4.0f published 4th June 1998
- added DIR_HREFL field for .build dir
- corrected error in &date function (thanks to Enrique Bengoechea).
- added support for multilanguage &date function (also thanks to EB).
- added the .pipe command and PIPE_HEADER, PIPE_FOOTER blocks.
- added -nofunc option (thanks to Alister Bulman).
- added -nosplit option for the .macro command.
Version 4.0e published 31 May 1998
- added a number of date-handling intrinsic functions.
- .for loops generate a .define command for their loop variable (thanks
to Bernard de Rubinat).
- corrected an error in the -page option.
- default value for an anchor is now the anchor title.
Version 4.0d published 9 May 1998
- $(*name) was failing for simple anchors.
- .define commands are kept through passes, which makes loops
work much better (thanks to Bernard de Rubinat).
- added &system() intrinsic function (thanks to Keith Dart).
- no longer does case-conversion in .build dir blocks.
- removed warning on long filenames.
- added -page switch for selective page generation.
Version 4.0c published 18 April 1998
- Added DIR_SIZEK and DIR_SIZEM directory block variables
- Finally, you can escape variables in macro text so that
they are only expanded in the next pass.
- LINEMAX now defaults to 0 (no warnings).
- Worked-around bug in Perl which caused htmlpp to block when
macro arguments contained single quote '.
- &(expr) was not working - fixed by James Thieler.
- Symbols that refer to anchors now produce anchor title if possible,
thanks to Craig Smith.
Version 4.0b published 24 February 1998
- Correctly handles comments in macro definitions
- Allows .page commands to be built by .for loops
- Underlines in macro arguments are no longer replaced by spaces.
- Lines ending in '\' are output without trailing newlines
Version 4.0a published 07 February 1998
- Searches LIBPATH, then PATH for document files.
- Multiline .echo commands now work.
- Added various new intrinsic functions.
- Intrinsic &time() did not work - fixed.
- Symbol expansion code rewritten to allow any level of embedding.
Version 3.0 published 16 June 1997.
- V3.9e - .for command changed to handle variable expansion in a
smarter manner: for loop variables are expanded, but others are copied
through to next pass.
- V3.9d - .block commands are no longer interpreted in the first
pass; this lets you change headers and footers within a document.
$(*symbol) was wrongly translated sometimes.
- V3.9c - added &image_width() and &image_height() intrinsic
functions; added $(TOC_LEVEL) variable.
- V3.9b - reversed changes of version 3.8; macros expand variables
immediately. This was needed to correctly generate tables of contents.
Also changed %(VAR) behaviour to match documentation - if variable is
not defined, no error message is issued.
- V3.9a - added anchor titles, $0, and $#.
- V3.9 - added header level numbering and $+ symbol; added -env
- V3.8 - variables in macro text are translated in following pass.
- V3.7 - correctly uses html variable for output files.
- V3.6 - added guru_opt.fmt file for finer GuruMode control.
- V3.5 - improved GuruMode, again again.
- V3.4 - improved GuruMode, again.
- V3.3 - added $(DOCBASE) variable; improved multiline macros,
- V3.2 - no longer complains on forward anchors references.
Removed .guru command and reworked GuruMode.
- V3.1 - updated some functions and improved the doc.
- V3.00 - Added macro capabilities; added GuruMode; fixed some
incompatibilities with Perl 4; added .for autosplit feature; \.
replaced by . in whole line, not just at start; added support for
Version 2.2 published 25 May 1997.
- V2.21 - added intrinsic function syntax, and &date().
- V2.20 - &("...") permits Perl text including '(' and ')';
Delays translation of symbols in .for loops until loop is
Version 2.1 published 8 Mar 1997.
- V2.18 - .include also allows file with path name.
- V2.17 - cosmetic changes.
- V2.16 - search PATH path for .include'd files.
- V2.15 - cosmetic changes.
- V2.14 - ".define xx = expr" now expands variables first.
- V2.13 - .build dir always lists filenames in lowercase.
- V2.11 - variable expansion improved a little.
- V2.12 - cosmetic changes.
- V2.10 - .define command is resolved as late as possible,
instead of immediately. .For loops may be indented; $for_list
is accessible locally inside each level. Minor documentation
cleanups. Fixed error in .if block parsing. Lots of cosmetic
changes to eliminate warnings when 'perl -w' used. Corrected
misnumbering of HTML headers.
Version 2.0 published 17 Feb 1997.
- V2.07 - minor code cleanups;
- V2.06 - correction in .page parsing code for $(TITLE);
added %(...) for environment variables.
- V2.05 - correction in symbol replacement code.
- V2.04 - more corrections for Perl 5.
- V2.03 - minor corrections for Perl 5.
- V2.02 - added notion of local blocks, -debug switch.
- V2.01 - added &(...) symbol; added .include `command`;
blocks can now contain action lines; added index_open,
index_close, and index_entry blocks; rewrote dialog to do
multipass processing. Whew. Oh yeah: added .for/.endfor as
asked for by Dave Rockwell (firstname.lastname@example.org).
Version 1.6 published 14 Jan 1997.
- V1.62 - added .include `command` function.
Version 1.5 published 4 Nov 1996.
- V1.61 - error in code that added '.txt' extension.
- V1.60 - added autoincrement/decrement symbols, permitted
multiple filenames on command line.
- V1.55 - '.ignore page' ignores next .page in index table.
Version 1.4 published 9 Jun 1996.
- V1.54 - .endblock preferred to .end.
- V1.53 - commands can continue over several lines, spaces
allowed after ".".
- V1.52 - added $(symbol?value) and improved doc.
- V1.51 - modified for Perl 5, thanks to Ewen McNeill.
- V1.50 - supports user-defined blocks.
- V1.41 - log errors in separate listing file.
Version 1.3 published 13 May 1996.
- V1.31 - improved documentation and packaging.
Version 1.2 escaped around 13 April 1996.
- V1.22 - headers anchors changed to include whole line.
- V1.21 - sorted '.build dir' entries by name.
Version Version 1.1 released 6 April 1996.
Version 1.0 written 27 November 1995.