Bugfix: When doing the line justification in output_box(), the padding
was counted as part of the modifyable inner part of the box instead of
the fixed box itself, which resulted in strange bugs (tricky one).
Added -k option (kill leading/trailing blank lines on removal yes/no)
Bugfix: REPLACE and indentation conflict. Now applying regexp substitutions
only after indentation was already handled.
Added logpage target to generate the chronologically sorted global change
log in HTML format. This requires a Perl script (create_changelog.pl).
Added config.h to dependencies and stuff
Removed special targets for yacc and lex files. Thanks to Andreas Heiduk,
it is now possible to compile all files with -W -Wall and no extra defines.
Moved regexp library to a subdirectory regexp
Some modifications on the source file macros which now differentiate
between files which are listed in the HTML change log and files which aren't.
Many modifications on the page's appearance
In log messages, lines which start with a lower case character are
not preceded by a <BR>, thus concatenating lines which belong together.
Added state SPEEDMODE for fast skipping of designs
Introduced definitions for PWORD, PBOX, and PWHITE (whitespace)
Added %options nounput and noyywrap for easier compilation/linking
Moved from yacc to GNU "bison --yacc"
No longer linking with flex library
Activated -Wall -W for parser.y
Removed -DYY_NO_UNPUT from lexer compilation (now done via file option)
smaller data structures. The first design pointed to by designs is always
the one we need (except for ops on *all* designs).
The first design in config file is now default design (no DEF_DESIGN anymore).
New tokens to, with, global, once
Added LEX_MAX_WARN macro to limit number of lex errors printed per design
Replaced exit()s with return YUNREC where errors are not fatal
Eliminated duplicate code by introducing intermediate rules
New tokens YTO, YWITH, and YRXPFLAG to reduce strcasecmp() usage
New token YUNREC for integration of lexer into error handling
Some code restructuring and rule renaming for better consistency
Added out-of-memory-checks to many strdup()s and such
Replaced DEBUG macro with PARSER_DEBUG, which is now activated in boxes.h
Added rule first_rule, which performs init and cleanup formerly done in main()
Introduced symbols YBOX and YEND
Added indent mode command line option for grammar overrides
Moved empty_side() to shape.c after small change in signature
Added text-in-block justification (j) to alignment option (-a)
along with stdarg.h include
Exported input global data and empty_side() function
Declared non-exported functions static
Moved horiz_precalc(), vert_precalc(), horiz_assemble(), vert_assemble(),
horiz_generate(), vert_generate(), generate_box() and output_box() to a
new file generate.c
Moved best_match(), hmm(), detect_horiz(), detect_design(), remove_box()
and output_input() to a new file remove.c