This page is automatically updated whenever a few of the files listed below are checked in, so it is very
up-to-date. It might already show changes which are not even in the current snapshot yet.
Chronological Change Log
- 2006/08/28 17:53:46; boxes.c 1.39 (tsjensen)
- Added support for --help and -? options, which do the same as -h
(This feature was requested by Raphael Wimmer).
VERSION 1.1 RELEASED
- 2006/07/23 18:28:13; regexp.c 1.5 (tsjensen)
- Undo of previous version
Added include string.h and stdlib.h, removed all manual extern declarations
- 2006/07/23 18:15:55; regsub.c 1.7 (tsjensen)
- Undo of previous version
Added include string.h and removed manual extern declarations for strncpy()
- 2006/07/23 18:11:39; parser.y 1.25 (tsjensen)
- Removed unsigned modifier from a pointer declaration in order to clear a warning
which appeared on some Linuxes (reported by Andreas Heiduk)
- 2006/07/22 21:40:40; boxes.c 1.38 (tsjensen)
- Applied patch by Christoph Dreyer to support unexpansion of leading tabs
Added ability to retain leading tabs in their original positions
Mending a box with -m now implies -k false
- 2006/07/22 21:31:25; lexer.l 1.19 (tsjensen)
- Fix: Renamed yylineno to tjlineno to enable compilation on certain
flexes (reported by Andreas Heiduk)
- 2006/07/22 21:30:55; parser.y 1.24 (tsjensen)
- Fix: Renamed yylineno to tjlineno to enable compilation on certain
flexes (reported by Andreas Heiduk)
- 2006/07/22 21:27:15; tools.c 1.7 (tsjensen)
- Changed expand_tabs_into() so that it records the original tab positions in a line
Added tabbify_indent() to restore original leading tabs after box processing
- 2006/07/22 21:21:13; generate.c 1.11 (tsjensen)
- Applied patch by Christoph Dreyer to support unexpansion of leading tabs
Added ability to retain existing tabs
- 2006/07/22 21:19:26; remove.c 1.8 (tsjensen)
- Applied patch by Christoph Dreyer to support unexpansion of leading tabs
Added ability to retain existing tabs
- 2006/07/22 21:15:52; boxes.h.in 1.22 (tsjensen)
- Fix: Renamed yylineno to tjlineno to enable compilation on certain
flexes (reported by Andreas Heiduk)
Added tabexp to opt_t
Added tabpos and tabpos_len to line_t for advanced tab handling
- 2006/07/22 21:07:21; Makefile 1.19 (tsjensen)
- The file boxes.h is now managed by the top level Makefile only
Added rcslocks target to check lock status
Small usability enhancements
- 2006/07/22 21:02:24; regexp.c 1.4 (tsjensen)
- Several small changes which may help clear some warnings on Debian
- 2006/07/22 21:01:10; regsub.c 1.6 (tsjensen)
- Added extern declaration of strncpy() to myregsub(), hoping this will clear some warnings on Debian
- 2006/07/12 23:05:59; boxes-config 1.17 (tsjensen)
- Updated web and email addresses for boxes
Added design c-cmt3 by AlpT
Added design boxquote by Christian Molls
Added design cc by Bas van Gils
Added design stone by Fredrik Steen
Added design lisp-cmt by Vijay Lakshminarayanan
Added design ccel by Elmar Loos
Added design underline by Elmar Loos
- 2006/07/12 07:49:50; boxes.c 1.37 (tsjensen)
- Updated email and web addresses in comment header etc.
Applied patch by Elmar Loos that adds -m option for mending a box
Changed a few more things to make the box mending patch work in
connection with all the other boxes options
- 2006/07/12 07:44:12; boxes.h.in 1.21 (tsjensen)
- Updated email and web addresses in comment header
Added new member 'mend' to opt_t (for option -m, mend box)
- 2006/07/12 07:42:48; config.h 1.4 (tsjensen)
- Updated email and web addresses in comment header
- 2006/07/12 07:42:28; generate.c 1.10 (tsjensen)
- Updated email and web addresses in comment header
- 2006/07/12 07:32:10; Makefile 1.18 (tsjensen)
- Updated email and web addresses in comment header
- 2006/07/12 07:31:25; parser.y 1.23 (tsjensen)
- Updated email and web addresses in comment header
- 2006/07/12 07:28:58; remove.c 1.7 (tsjensen)
- Updated email and web addresses in comment header
Added trim_only flag to output_input() function, used for box mending
- 2006/07/12 07:27:29; shape.c 1.6 (tsjensen)
- Updated email and web addresses in comment header
- 2006/07/12 07:25:47; tools.c 1.6 (tsjensen)
- Updated email and web addresses in comment header
- 2006/07/12 07:20:26; regsub.c 1.5 (tsjensen)
- Updated world wide web link in comment header
- 2006/07/07 09:24:17; lexer.l 1.18 (tsjensen)
- Applied patch by Andreas Heiduk to facilitate compilation with
present-day flexes
- 2000/04/01 20:28:18; boxes.h.in 1.20 (tsjensen)
- Added cld member to command line option struct (-c option)
- 2000/04/01 20:27:17; boxes.c 1.36 (tsjensen)
- Added -c option (simple comment definition)
- 2000/03/21 16:26:31; boxes.c 1.35 (tsjensen)
- Minor change to make boxes compile on DEC/OSF, too (S_ISDIR)
VERSION 1.0.1 RELEASED
- 2000/03/18 01:51:43; Makefile 1.17 (tsjensen)
- Added Makefile.Win32 and misc/* to snap generation commands
- 2000/03/18 01:44:26; boxes.c 1.34 (tsjensen)
- Port to Win32 platform based on patches by Ron Aaron
Changes only affect Win32 version. Win32 behavior differs from the UNIX
platforms in the way the config file is searched and the config file
name (boxes.cfg).
- 2000/03/18 01:43:13; boxes.h.in 1.19 (tsjensen)
- Added vim autocommand to set syntax highlighting to C
- 2000/03/18 01:39:34; boxes-config 1.16 (tsjensen)
- Added hint to online docs to top of file
Added javadoc design by Ted Berg
Added ada-cmt and ada-box designs by Neil Bird
Changed string delimiter of diamonds design back to quotes
- 1999/11/08 12:55:13; Makefile 1.16 (tsjensen)
- Moved config.h into ORIG_HDRCL group, so it appears in the change log Web
page
- 1999/11/08 12:51:41; remove.c 1.6 (tsjensen)
- Bugfix: For non-empty left box sides, spaces belonging to "empty" shape
lines were not properly removed in some cases
- 1999/11/07 19:46:26; remove.c 1.5 (tsjensen)
- Bugfix: Horizontal box parts were not correctly detected if the west box
side was empty (reported: Tobias Buchal)
Bugfix: boxes could hang in detect_horiz() due to goeast/west confusion
- 1999/09/10 21:21:05; boxes.c 1.33 (tsjensen)
- Eliminated use of PATH_MAX in order to ease porting
Restructured infile/outfile code to eliminate need for access() function
and improve readability
Added file type check before reading config file. boxes used to generate
a weird error message if the config file is a directory
- 1999/08/31 17:37:01; generate.c 1.9 (tsjensen)
- Applied Joe Zbiciak's patches to remove all snprintf()s and variants
Replaced snprintf() calls with calls to concat_strings() in the process
- 1999/08/31 17:35:13; tools.c 1.5 (tsjensen)
- Applied Joe Zbiciak's patches to remove all snprintf()s and variants
Added concat_strings() function and changed yyerror() in the process
- 1999/08/25 15:38:37; config.h 1.3 (tsjensen)
- Bugfix: Changed empty #elif to #else (thanks Tommy Williams)
Port to i386/FreeBSD by Tommy Williams
VERSION 1.0 RELEASED
- 1999/08/22 13:37:27; boxes-config 1.15 (tsjensen)
- Added some more REVERSE statements where only REPLACE statements were so far
Replaced some hardcoded padding values with padding statements
Added padding to some more box designs
Changed headline design regexp rules to not bother indentation when
indentmode is "text"
- 1999/08/22 13:36:45; generate.c 1.8 (tsjensen)
- Removed const from 2nd parameter of justify_line() function
- 1999/08/22 13:34:46; boxes.c 1.32 (tsjensen)
- Bugfix: no-input-check must take place before indentation computation
- 1999/08/22 01:37:23; boxes.h.in 1.18 (tsjensen)
- Renamed file from boxes.h to boxes.h.in
VERSION and GLOBALCONF values are now put in by top level Makefile
- 1999/08/22 01:35:44; Makefile 1.15 (tsjensen)
- boxes.h is now generated from boxes.h.in by top level Makefile
Added -Wall -W to CFLAGS and removed .c.o rule
- 1999/08/22 01:33:03; boxes.c 1.31 (tsjensen)
- Added usage of system-wide config file (GLOBALCONF from boxes.h)
Moved config file selection code into it own function (get_config_file())
- 1999/08/21 18:10:41; Makefile 1.14 (tsjensen)
- Removed case insensitivity option (-i) from flex call. Now done in lexer.l.
- 1999/08/21 18:09:33; tools.c 1.4 (tsjensen)
- Removed newline check from empty_line() function
- 1999/08/21 18:04:24; generate.c 1.7 (tsjensen)
- Bugfix: justify_line() still didn't work right. It should now. (This time I
discovered that indentmode=="text" was confusing it. Arghh!)
- 1999/08/21 18:03:31; remove.c 1.4 (tsjensen)
- Bugfix: When matching vertical side shape lines, ignore empty shape lines
- 1999/08/21 17:55:42; boxes.c 1.30 (tsjensen)
- Updated usage information
Updated quickinfo (-l -d) with killblank default value
Made indentation computation into a function of its own (get_indent())
Bugfix: REVERSION code may change indentation -> recompute if necessary
- 1999/08/21 17:53:58; parser.y 1.22 (tsjensen)
- Removed check for empty sample block, which is also done in lexer.l
- 1999/08/20 21:51:12; lexer.l 1.17 (tsjensen)
- Moved contents of YY_USER_INIT definition into a separate function which
is now called by YY_USER_INIT (better readability)
- 1999/08/18 20:23:41; lexer.l 1.16 (tsjensen)
- Declared yyerrcnt to be static
Added YY_USER_INIT macro to set the input buffer size to the config file
size (plus a bit). This is supposed to be a workaround for the REJECT
problem.
- 1999/08/18 20:23:06; config.h 1.2 (tsjensen)
- Added Linux defines. Now compiles nicely on (my) Linux.
- 1999/08/18 17:40:10; lexer.l 1.15 (tsjensen)
- Added %options never-interactive and caseless
Added code for DELIMITER statements
Rewrote string rules to deal with delimiter statements
- 1999/08/18 17:38:44; parser.y 1.21 (tsjensen)
- Added new tokens YCHGDEL and YDELWORD
Added code for DELIMITER statements
- 1999/08/18 17:37:09; generate.c 1.6 (tsjensen)
- Bugfix: justify_line() still didn't work right. It should now. (Man, I got
a strong sense of déja vu! Weird ...)
- 1999/08/18 17:34:38; boxes-config 1.14 (tsjensen)
- Added shapes W and E to diamonds sample block (sample was too small)
Added DELIMITER statements to dramatically reduce number of backslashes
- 1999/08/16 20:30:32; generate.c 1.5 (tsjensen)
- Bugfix: justify_line() still didn't work right. It should now.
- 1999/08/16 20:29:39; boxes.c 1.29 (tsjensen)
- Added output of total number of designs for -l
- 1999/08/16 18:29:25; parser.y 1.20 (tsjensen)
- Changed SAMPLE block syntax to get rid of all the quoting sh*t in SAMPLE
blocks. Samples now look authentic even in the config file. Very simple now.
Added new token YENDSAMPLE in the process.
- 1999/08/16 18:28:03; lexer.l 1.14 (tsjensen)
- Implemented new SAMPLE block syntax
Replaced states SAMPLE1 and SAMPLE2 with new state SAMPLE - this is now
much simpler code
- 1999/08/16 18:24:32; boxes-config 1.13 (tsjensen)
- Removed revision history from file (does not really interest the users)
Polished scroll design
Upgraded to new SAMPLE block syntax. It looks good.
- 1999/08/14 21:31:23; boxes.h.in 1.17 (tsjensen)
- Incremented beta version number to 5
Added maxshapeheight member to design_t struct
- 1999/08/14 21:19:25; parser.y 1.19 (tsjensen)
- Added anz_shapespec variable to count non-deepempty user-specified shapes
(must at least be 1)
Moved yylex declaration to lexer.h, where it belongs
Bugfix: bison and yacc seem to differ in the way action code is treated
which is associated with an error token. Since bison calls the action
routine whenever a token is skipped while recovering, added skipping
variable to ensure that only one "skipping to next design" message is
printed. That was not necessary before. %-/
Removed existence check from corner_check() routine (obsolete).
Added code to generate required shapes which were not specified by the user
Clean-up in shape_def rule (use freeshape() and some more)
- 1999/08/14 21:11:53; shape.c 1.5 (tsjensen)
- Added findshape(), genshape(), freeshape(), and isdeepempty() functions
Added on_side() back in with a few changes
Changed empty_side() to use isdeepempty() -> much simpler code
- 1999/08/14 21:00:00; boxes-config 1.12 (tsjensen)
- Removed shape definitions consisting only of spaces from all designs. This
has become possible because missing shape definitions are now automatically
added by boxes.
- 1999/08/14 01:55:03; Makefile 1.13 (tsjensen)
- Given regexp stuff its own Makefile in regexp.
Major Makefile overhaul, maily implementation of new directory structure
and consolidation of file macros
Use more GNU make features
- 1999/08/14 01:54:24; tools.c 1.3 (tsjensen)
- Bugfix: cut&paste error in in strisyes() and strisno(). Thanks Warren Seltzer
- 1999/07/23 18:38:02; shape.c 1.4 (tsjensen)
- Removed functions iscorner(), on_side(), shapecmp(), both_on_side(), and
shape_distance() - nobody was using them anyway.
- 1999/07/23 18:15:48; boxes.c 1.28 (tsjensen)
- Added quickinfo mode to list_styles(). Called with -l and -d together.
- 1999/07/23 18:14:17; parser.y 1.18 (tsjensen)
- Added computation of height of highest shape in design (maxshapeheight)
Options -l and -d together now call quickinfo mode -> parse only 1 design
- 1999/07/22 14:28:25; shape.c 1.3 (tsjensen)
- Added GNU GPL disclaimer
Added include config.h
- 1999/07/22 14:27:16; parser.y 1.17 (tsjensen)
- Added GNU GPL disclaimer
Renamed parser.h include to lexer.h (same file)
Added include config.h
- 1999/07/22 14:26:10; config.h 1.1 (tsjensen)
- Initial revision
- 1999/07/22 14:21:14; lexer.l 1.13 (tsjensen)
- Added GNU GPL disclaimer
Renamed y.tab.h include to parser.h (same file)
Renamed parser.h include to lexer.h (same file)
Added config.h include
- 1999/07/22 14:17:17; boxes-config 1.11 (tsjensen)
- Modernized code of "columns" design and made code consistent with sample
- 1999/07/21 18:53:17; boxes.c 1.27 (tsjensen)
- Bugfix: Empty box sides were still counted when -s was specified (so
-s x5 would get you only three lines).
- 1999/07/21 18:50:48; generate.c 1.4 (tsjensen)
- Added GNU GPL disclaimer
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).
- 1999/07/20 20:57:16; remove.c 1.3 (tsjensen)
- Added GNU GPL disclaimer
Does not kill leading/trailing blank lines anymore when !opt.killblank
Added include config.h
- 1999/07/20 20:55:20; tools.c 1.2 (tsjensen)
- Added GNU GPL disclaimer
Added functions strisyes() and strisno()
Added config.h and shape.h include statements
- 1999/07/20 20:54:10; boxes-config 1.10 (tsjensen)
- Completely revised code of "tjc" design
- 1999/07/20 20:51:41; regsub.c 1.4 (tsjensen)
- Bugfix: REPLACE "^" with "a" caused a hangup. Now automatically declaring
matches which have a length of zero to be of scope "once".
- 1999/07/20 20:49:58; Makefile 1.12 (tsjensen)
- Added GNU GPL disclaimer
Now evaluating date command from SNAPFILE only once
Changed order of files in snapshot archive (who cares)
- 1999/07/20 20:48:46; boxes.h.in 1.16 (tsjensen)
- Added GNU GPL disclaimer
Updated beta version number :-)
Added killblank member to global options
- 1999/07/20 20:45:29; boxes.c 1.26 (tsjensen)
- Added GNU GPL disclaimer
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.
- 1999/07/12 20:34:14; boxes-config 1.9 (tsjensen)
- Added "headline" design to show useful example of regexp backreferences
Fixed small bug in sample block of "stark2" design
Added padding of t1 for design "parchment"
- 1999/07/12 20:28:53; Makefile 1.11 (tsjensen)
- Removed --yacc option from bison call
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.
- 1999/07/12 20:16:36; boxes.c 1.25 (tsjensen)
- Added include "config.h" to top of file
- 1999/07/02 13:58:15; lexer.l 1.12 (tsjensen)
- Added begin_speedmode() which is called by parser.y
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
- 1999/07/02 13:54:52; parser.y 1.16 (tsjensen)
- Some minor changes to please compiler
Communication of speed mode to lexer
Bugfix: Forgot to check for opt.l before calling YYACCEPT
- 1999/07/02 13:50:35; Makefile 1.10 (tsjensen)
- Added parser.h header file for lexer-parser communication
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)
- 1999/06/30 14:37:25; boxes.c 1.24 (tsjensen)
- Added [lcr] "shorthand" to -a option
- 1999/06/30 14:19:12; boxes.h.in 1.15 (tsjensen)
- Removed DEF_DESIGN macro, because it now defaults to first design
Removed some porting code, hoping for autoconf future
Added PARSER_DEBUG and LEXER_DEBUG macros
- 1999/06/30 14:16:38; boxes.c 1.23 (tsjensen)
- Removed entire select_design stuff, because the parser now return much
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).
- 1999/06/30 14:13:47; parser.y 1.15 (tsjensen)
- Now parsing only those designs which will be needed later on
Checks formerly done in boxes.c now done here (no valid designs etc.)
- 1999/06/28 20:42:19; boxes-config 1.8 (tsjensen)
- Moved "C" design to first position in file, so it remains the default
Changed netdata design to use padding option and reversion
- 1999/06/28 20:37:38; lexer.l 1.11 (tsjensen)
- Replaced DEBUG macro with LEXER_DEBUG, which is now activated in boxes.h
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
- 1999/06/28 20:32:51; parser.y 1.14 (tsjensen)
- Unified appearance of error messages, which are now all based on yyerror()
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
- 1999/06/28 14:21:34; Makefile 1.9 (tsjensen)
- Added macro SNAPFILE for boxes-SNAP-`date +%Y%m%d`
Added target rcstest
Now builds optimized code by default
Added debug target for non-optimized code w/ debugging info
- 1999/06/28 14:19:29; boxes.c 1.22 (tsjensen)
- Moved parser init and cleanup from main() to parser.y
Some further cleanup in main()
- 1999/06/28 14:17:46; lexer.l 1.10 (tsjensen)
- Added tokens YBOX and YEND (thus, BOX and END are no longer YKEYWORDs)
Added #define FILE_LEXER_L around #include boxes.h to please compiler
- 1999/06/28 14:15:47; parser.y 1.13 (tsjensen)
- Added error handling. Now skips to next design on error.
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
- 1999/06/27 19:59:50; boxes-config 1.7 (tsjensen)
- Added design c-cmt2
Added padding entries to a few designs
A few cosmetic corrections in sample blocks etc.
FIRST BETA RELEASED
- 1999/06/25 20:52:28; shape.c 1.2 (tsjensen)
- Added empty_side() function from boxes.c
Removed #include regexp.h
- 1999/06/25 20:51:04; boxes.h.in 1.14 (tsjensen)
- Removed empty_side() prototype (now in shape.h)
Added indentmode and justify members to command line options struct
- 1999/06/25 20:46:39; boxes.c 1.21 (tsjensen)
- Bugfix: Mixed up SW and NE in padding calculation (tricky, that one)
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)
- 1999/06/25 20:45:33; remove.c 1.2 (tsjensen)
- Added initialization of mmok to please compiler
Changed parameters of empty_side() calls to comply with new signature
- 1999/06/25 20:42:50; generate.c 1.3 (tsjensen)
- Added justify_line() function for alignment of lines inside the text block
Cleaned up hfill calculation in output_box()
Changed parameters of empty_side() calls to comply with new signature
- 1999/06/23 21:35:17; Makefile 1.8 (tsjensen)
- Added remove.o and generate.o
Introduced implicit rule .c.o, simplifying commands for most sources
- 1999/06/23 21:23:55; generate.c 1.2 (tsjensen)
- Added output_box() from boxes.c
- 1999/06/23 21:21:15; boxes.h.in 1.13 (tsjensen)
- Now exporting anz_designs, input, and empty_side()
Added #include regexp.h back
- 1999/06/23 21:17:27; boxes.c 1.20 (tsjensen)
- Removed snprintf() and vsnprintf() prototypes (why were they in anyway?)
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
- 1999/06/23 21:14:53; remove.c 1.1 (tsjensen)
- Initial revision
- 1999/06/23 20:52:54; generate.c 1.1 (tsjensen)
- Initial revision
- 1999/06/23 14:33:49; boxes.h.in 1.12 (tsjensen)
- Moved some data structures and macros related to shapes to shape.h
Added #ifdef DEBUG around __TJ() macro for convenience
- 1999/06/23 14:31:26; boxes.c 1.19 (tsjensen)
- Improvements on design detection (could still be better though)
Moved iscorner(), on_side(), isempty(), shapecmp(), both_on_side(),
shape_distance(), empty_side(), highest(), and widest() as well as
some data structures and macros related to shapes to new file shape.c
- 1999/06/23 14:27:50; Makefile 1.7 (tsjensen)
- Added tools.o and shape.o
Change in snapshot target directory (download)
Added GENSRC, HSSRC, ORIGSRC, ALLSRC, and ALLOBJ macros for more order
- 1999/06/23 14:26:59; shape.c 1.1 (tsjensen)
- Initial revision
- 1999/06/23 13:19:30; tools.c 1.1 (tsjensen)
- Initial revision
- 1999/06/22 14:03:33; boxes.c 1.18 (tsjensen)
- DEBUGging is now activated in boxes.h
Moved MAX_TABSTOP, LINE_MAX macros to boxes.h
Moved BMAX, strrstr, btrim(), yyerror(), expand_tabs_into(), regerror(),
empty_line() to a new file tools.c, added #include tools.h
Some cleanup in main()
Declared style_sort() helper function static
Renamed strrstr() to my_strnrstr() (now defined in tools.c)
Default design is now defined by DEF_DESIGN macro
Moved struct opt_t to boxes.h
Bugfix: segfaulted if shape was bigger than input when detecting design
Bugfix: Padding was not removed when box was removed
Bugfix: Forgot null byte when removing west box side
Changed select_design(), because default design value now set in process_commandline()
- 1999/06/22 14:01:24; boxes.h.in 1.11 (tsjensen)
- Added DEF_DESIGN (default design name)
Added opt_t and opt global variable from boxes.c
Moved BFREE macro and yyerror() and empty_line() prototypes to tools.h
Added LINE_MAX and MAX_TABSTOP macros from boxes.c
Added #define DEBUG and REGEXP_DEBUG. This will centrally activate
debugging.
- 1999/06/22 14:01:01; parser.y 1.12 (tsjensen)
- Added #undef DEBUG, because DEBUGging is now activated in boxes.h
Added #include tools.h
- 1999/06/22 14:00:05; lexer.l 1.9 (tsjensen)
- Added #undef DEBUG, because DEBUGging is now activated in boxes.h
Added #include tools.h
- 1999/06/20 16:20:29; boxes.c 1.17 (tsjensen)
- Added code for padding handling (-p)
Added BMAX macro (returns maximum of two values)
- 1999/06/20 16:19:31; boxes.h.in 1.10 (tsjensen)
- Added padding member to design struct
- 1999/06/20 16:18:51; parser.y 1.11 (tsjensen)
- Adden YPADDING and YNUMBER tokens plus code for padding blocks
- 1999/06/20 16:17:58; lexer.l 1.8 (tsjensen)
- Added "padding" keyword and recogintion of numbers (YNUMBER)
- 1999/06/17 21:08:50; boxes.h.in 1.9 (tsjensen)
- Removed #pragma ident "string"
Changed VERSION to 1.0 beta
Added line_t and empty_line() prototype
- 1999/06/17 21:07:06; boxes.c 1.16 (tsjensen)
- Moved line_t to boxes.h
empty_line() now also considers \r and \n whitespace
Added empty_side() function
Added handling of empty box sides in output_box()
- 1999/06/17 21:05:46; lexer.l 1.7 (tsjensen)
- Bugfix: Sample block analysis didn't handle empty blocks
- 1999/06/17 21:04:45; parser.y 1.10 (tsjensen)
- Added detection of empty sample blocks (we don't want that)
Added detection of duplicate sample blocks
- 1999/06/17 21:03:09; boxes-config 1.6 (tsjensen)
- Added designs c-cmt, pound-cmt, java-cmt, html-cmt, right, vim-cmt
They have become possible because boxes now checks for empty sides.
- 1999/06/16 12:52:59; boxes-config 1.5 (tsjensen)
- Added "reverse" entry for testing, more "reverse" entries needed still
Added "peek" design for C funtion headers
Simplified some replacement entries
- 1999/06/15 14:07:39; boxes.c 1.15 (tsjensen)
- Removed a stray debug message
Move apply_substitutions() regexp handling function up in file
Use apply_substitutions() in read_input() routine also
Moved "extern int yyparse()" prototype to start of file
- 1999/06/14 14:13:41; lexer.l 1.6 (tsjensen)
- Added Reverse pattern
- 1999/06/14 14:13:01; parser.y 1.9 (tsjensen)
- Added YREVERSE token
Added code for regexp reversion
- 1999/06/14 14:11:54; boxes.h.in 1.8 (tsjensen)
- Added struct members for regexp reversion code
Renamed current_reprule to current_rule, now used for both directions
- 1999/06/14 14:08:49; boxes.c 1.14 (tsjensen)
- Bugfix: best_match() box side detection used numw instead of nume
Added apply_substitutions() routine for central regexp handling
Added regexp reversion code for box removal
Unified use of current_re[pv]rule
Added a few comments and debugging code
- 1999/06/13 17:28:31; boxes.c 1.13 (tsjensen)
- Some error message clean-up
Regular expression substituions on input text only if *drawing* a box,
not if the box is to be removed (requires other substitutions, TODO).
Added code for box design auto-detection when removing a box.
- 1999/06/04 20:13:26; boxes.c 1.12 (tsjensen)
- Don't adjust indentation after removing a box unless something was
removed on the west side
East Padding made dynamic, i.e. dependant on the east side size
- 1999/06/04 14:15:37; Makefile 1.6 (tsjensen)
- Added snap target for automatic snapshot publication
- 1999/06/03 21:24:14; boxes.c 1.11 (tsjensen)
- a few fixes related to box removal (as expected)
- 1999/06/03 20:54:55; lexer.l 1.5 (tsjensen)
- *** empty log message ***
- 1999/06/03 20:54:49; parser.y 1.8 (tsjensen)
- *** empty log message ***
- 1999/06/03 20:54:33; boxes.h.in 1.7 (tsjensen)
- *** empty log message ***
- 1999/06/03 20:54:05; boxes.c 1.10 (tsjensen)
- lots of fixes
Added remove box functionality, which remains to be tested
- 1999/04/12 20:13:57; regsub.c 1.3 (tsjensen)
- Added missing '$' to rcs id string, changed from #ident to char
- 1999/04/12 20:13:20; regexp.c 1.3 (tsjensen)
- Added missing '$' to rcs id string, changed from #ident to char
- 1999/04/09 20:11:08; boxes-config 1.4 (tsjensen)
- Added some more designs
Uncommented an unused entry, since boxes no longer generates warnings
upon encountering syntactically correct entries which it doesn't know.
- 1999/04/09 15:33:24; boxes.c 1.9 (tsjensen)
- Removed code related to OFFSET blocks (obsolete)
- 1999/04/09 15:32:55; boxes.h.in 1.6 (tsjensen)
- Removed code related to OFFSET blocks (obsolete)
- 1999/04/09 15:31:54; parser.y 1.7 (tsjensen)
- Added checks for duplicate design names
Added checks for valid design names (no extended ASCII or ctrl chars)
Removed all code related to OFFSET blocks (obsolete)
- 1999/04/09 15:31:13; lexer.l 1.4 (tsjensen)
- Removed all code related to OFFSET blocks (obsolete)
- 1999/04/09 15:28:13; boxes-config 1.3 (tsjensen)
- Removed all occurrences of OFFSET specs (obsolete).
Added some new designs
Added some test/debugging designs
- 1999/04/05 21:39:27; regsub.c 1.2 (tsjensen)
- Hopefully fixed a potential buffer overrun problem in regsub()
- 1999/04/04 18:18:23; regexp.c 1.2 (tsjensen)
- Added #ident directive
- 1999/04/04 18:15:43; regexp.c 1.1 (tsjensen)
- Initial revision
- 1999/04/04 18:14:46; regsub.c 1.1 (tsjensen)
- Initial revision
- 1999/04/04 18:12:40; Makefile 1.5 (tsjensen)
- Added rules for new regular expression handling files
Added file header
Straightened out clean commands
- 1999/04/04 18:11:39; lexer.l 1.3 (tsjensen)
- Added indent keyword
Added Replace token
Some fiddling which will hopefully fix a line counting bug
- 1999/04/04 18:10:51; boxes.h.in 1.5 (tsjensen)
- Added some flags to design structure
Move default settings here from boxes.c
- 1999/04/04 18:09:01; boxes.c 1.8 (tsjensen)
- Added code for specification of indentation handling of input
Added regular expression substitutions
Some minor fixes
- 1999/04/04 18:07:53; parser.y 1.6 (tsjensen)
- Enforced use of PROJECT macro
Added "indent" directive to grammar
Added "replace" directive to grammar
- 1999/04/03 14:01:01; Makefile 1.4 (tsjensen)
- Added build target for optimized compilation
Now linking with flex library instead of lex library
- 1999/04/02 20:42:44; boxes.c 1.7 (tsjensen)
- ... still programming ...
Added infile/outfile parameter code (pasted from tal, more or less)
Added code to remove trailing spaces from output lines
- 1999/04/01 19:26:18; boxes.c 1.6 (tsjensen)
- ... still programming ...
Some bug fixes
Added size option (-s)
Added Alignment Option (-a)
It seems actually usable for drawing boxes :-)
- 1999/03/31 19:34:43; boxes.h.in 1.4 (tsjensen)
- ... still programming ...
Added minwidth and minheight to design structure
- 1999/03/31 19:34:21; boxes.c 1.5 (tsjensen)
- ... still programming ...
(some bug fixes and restructuring)
- 1999/03/30 17:36:03; boxes-config 1.2 (tsjensen)
- Added some more designs
Incorporated changes in the still evolving format
- 1999/03/30 15:30:19; boxes.c 1.4 (tsjensen)
- Added minimum width/height for a design. Fixed screwed tiny boxes.
Did not handle zero input.
- 1999/03/30 15:29:50; parser.y 1.5 (tsjensen)
- Added computation of minimum width/height of each design.
- 1999/03/30 11:42:51; lexer.l 1.2 (tsjensen)
- Added rcs keywords and standard file header.
- 1999/03/30 11:37:51; parser.y 1.4 (tsjensen)
- It drew a correct box for the first time!
- 1999/03/30 11:36:58; boxes.h.in 1.3 (tsjensen)
- ... still programming ...
It drew a correct box for the first time!
- 1999/03/30 11:36:23; boxes.c 1.3 (tsjensen)
- ... still programming ...
(removed setlocale() call and locale.h include)
- 1999/03/24 19:29:12; parser.y 1.3 (tsjensen)
- Added detection of empty shapes ("") which are now cleared (+warning)
Changed rcs string to #ident directive
- 1999/03/22 12:57:14; Makefile 1.3 (tsjensen)
- Added -D__EXTENSIONS__
Compile everything but the parser with -Wall -W
- 1999/03/19 19:58:14; Makefile 1.2 (tsjensen)
- Added boxes.o to clean target
Switched language to ANSI C / POSIX_SOURCE
Added -Wall -W to boxes core compilation
- 1999/03/19 19:57:20; parser.y 1.2 (tsjensen)
- ... still programming ...
- 1999/03/19 19:51:19; boxes.h.in 1.2 (tsjensen)
- ... still programming ...
- 1999/03/19 19:44:47; boxes.c 1.2 (tsjensen)
- ... still programming ...
- 1999/03/18 17:10:41; Makefile 1.1 (tsjensen)
- Initial revision
- 1999/03/18 17:10:06; parser.y 1.1 (tsjensen)
- Initial revision
- 1999/03/18 17:09:48; lexer.l 1.1 (tsjensen)
- Initial revision
- 1999/03/18 17:09:34; boxes.h.in 1.1 (tsjensen)
- Initial revision
- 1999/03/18 17:09:17; boxes.c 1.1 (tsjensen)
- Initial revision
- 1999/03/18 17:08:57; boxes-config 1.1 (tsjensen)
- Initial revision
- Makefile (1.19)
- makefile for boxes, the box drawing program
- boxes.c (1.39)
- boxes - draws text boxes around your code
- boxes.h.in (1.22)
- Header file for boxes.c
- config.h (1.4)
- Please compiler and ease porting
- generate.c (1.11)
- Box generation, i.e. the drawing of boxes
- lexer.l (1.19)
- Lexical Analyzer for boxes configuration file parser
- parser.y (1.25)
- Parser for boxes config files
- remove.c (1.8)
- Box removal, i.e. the deletion of boxes
- shape.c (1.6)
- Shape handling and information functions
- tools.c (1.7)
- Tool functions for error reporting and some string handling as well as
other needful thingies.
boxes
©1999 by Thomas Jensen
<boxes(at)thomasjensen.com>
Page created April 06, 1999, last touched: 28-Aug-2006.
All rights reserved.