Thomas Jensen
0e8079c81c
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 18:23:41 +00:00
Thomas Jensen
f6c4f01f4e
Added Linux defines. Now compiles nicely on (my) Linux.
1999-08-18 18:23:06 +00:00
Thomas Jensen
a6d4809f08
Added LEX_SDELIM macro (valid string delimiter characters)
...
Added prototype for chg_strdelims()
1999-08-18 15:42:46 +00:00
Thomas Jensen
f5b5d4572a
Added %options never-interactive and caseless
...
Added code for DELIMITER statements
Rewrote string rules to deal with delimiter statements
1999-08-18 15:40:10 +00:00
Thomas Jensen
52816696e6
Added new tokens YCHGDEL and YDELWORD
...
Added code for DELIMITER statements
1999-08-18 15:38:44 +00:00
Thomas Jensen
3a59866e97
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 15:37:09 +00:00
Thomas Jensen
721c4c4e55
Bugfix: justify_line() still didn't work right. It should now.
1999-08-16 18:30:32 +00:00
Thomas Jensen
2fa54261ea
Added output of total number of designs for -l
1999-08-16 18:29:39 +00:00
Thomas Jensen
2a629b4075
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 16:29:25 +00:00
Thomas Jensen
291158afc2
Implemented new SAMPLE block syntax
...
Replaced states SAMPLE1 and SAMPLE2 with new state SAMPLE - this is now
much simpler code
1999-08-16 16:28:03 +00:00
Thomas Jensen
83cafeab4f
Incremented beta version number to 5
...
Added maxshapeheight member to design_t struct
1999-08-14 19:31:23 +00:00
Thomas Jensen
e86c17d62d
Added GNU GPL disclaimer
1999-08-14 19:30:01 +00:00
Thomas Jensen
8c15ac84ed
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 19:19:25 +00:00
Thomas Jensen
de25edcfc0
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 19:11:53 +00:00
Thomas Jensen
4deed5e8f5
Added genshape(), freeshape(), and findshape() prototypes
...
Added on_side() prototype back again
Added isdeepempty() prototype
Changed first parameter of empty_side() prototype
1999-08-14 19:08:34 +00:00
Thomas Jensen
64ed11f10c
Added GNU GPL disclaimer
...
Added yylex() declaration to please compiler
1999-08-14 19:06:26 +00:00
Thomas Jensen
b0ba6c4baf
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-13 23:55:03 +00:00
Thomas Jensen
13154120e5
Bugfix: cut&paste error in in strisyes() and strisno(). Thanks Warren Seltzer
1999-08-13 23:54:24 +00:00
Thomas Jensen
ce8c0a295e
Initial revision
1999-08-13 20:56:09 +00:00
Thomas Jensen
d8e0a00674
Removed functions iscorner(), on_side(), shapecmp(), both_on_side(), and
...
shape_distance() - nobody was using them anyway.
1999-07-23 16:38:02 +00:00
Thomas Jensen
995355b81e
Added GNU GPL disclaimer
...
Removed prototypes of iscorner(), on_side(), shapecmp(), both_on_side(),
and shape_distance() - nobody was using those anyway.
1999-07-23 16:36:33 +00:00
Thomas Jensen
315d02d9d7
Added GNU GPL disclaimer
1999-07-23 16:16:40 +00:00
Thomas Jensen
affdb49a66
Added quickinfo mode to list_styles(). Called with -l and -d together.
1999-07-23 16:15:48 +00:00
Thomas Jensen
ad568aee53
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-23 16:14:17 +00:00
Thomas Jensen
cc8471f243
Added GNU GPL disclaimer
...
Added include config.h
1999-07-22 12:28:25 +00:00
Thomas Jensen
c1b40f4cb6
Added GNU GPL disclaimer
...
Renamed parser.h include to lexer.h (same file)
Added include config.h
1999-07-22 12:27:16 +00:00
Thomas Jensen
8c5e619934
Initial revision
1999-07-22 12:26:10 +00:00
Thomas Jensen
6725de9617
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 12:21:14 +00:00
Thomas Jensen
657bcd2d5f
Bugfix: Empty box sides were still counted when -s was specified (so
...
-s x5 would get you only three lines).
1999-07-21 16:53:17 +00:00
Thomas Jensen
c31bfcbb9d
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-21 16:50:48 +00:00
Thomas Jensen
171a21b198
Added GNU GPL disclaimer
...
Does not kill leading/trailing blank lines anymore when !opt.killblank
Added include config.h
1999-07-20 18:57:16 +00:00
Thomas Jensen
80846a69d1
Added GNU GPL disclaimer
...
Removed include boxes.h
Added prototypes for strisyes() and strisno()
1999-07-20 18:56:15 +00:00
Thomas Jensen
7101272dfa
Added GNU GPL disclaimer
...
Added functions strisyes() and strisno()
Added config.h and shape.h include statements
1999-07-20 18:55:20 +00:00
Thomas Jensen
f0c4f546d6
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 18:51:41 +00:00
Thomas Jensen
3a6fef29c6
Added GNU GPL disclaimer
...
Now evaluating date command from SNAPFILE only once
Changed order of files in snapshot archive (who cares)
1999-07-20 18:49:58 +00:00
Thomas Jensen
6a4a46ffdd
Added GNU GPL disclaimer
...
Updated beta version number :-)
Added killblank member to global options
1999-07-20 18:48:46 +00:00
Thomas Jensen
0d0c2325b7
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-20 18:45:29 +00:00
Thomas Jensen
e081e6d3af
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 18:28:53 +00:00
Thomas Jensen
c761f463e0
Added include "config.h" to top of file
1999-07-12 18:16:36 +00:00
Thomas Jensen
f0ad8c73dc
Renamed file from parser.h to lexer.h
1999-07-03 16:12:19 +00:00
Thomas Jensen
3baafb88f2
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 11:58:15 +00:00
Thomas Jensen
dcaccc130c
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 11:54:52 +00:00
Thomas Jensen
bc4f97a31b
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-07-02 11:50:35 +00:00
Thomas Jensen
66e1c2b429
Initial revision
1999-07-02 11:47:11 +00:00
Thomas Jensen
529c3f1f65
Added [lcr] "shorthand" to -a option
1999-06-30 12:37:25 +00:00
Thomas Jensen
27c41667ef
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 12:19:12 +00:00
Thomas Jensen
bce140bf46
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 12:16:38 +00:00
Thomas Jensen
d8f249e53f
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-30 12:13:47 +00:00
Thomas Jensen
3640421283
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 18:37:38 +00:00
Thomas Jensen
93793ba1a2
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 18:32:51 +00:00
Thomas Jensen
ef582a464c
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 12:21:34 +00:00
Thomas Jensen
5717471559
Moved parser init and cleanup from main() to parser.y
...
Some further cleanup in main()
1999-06-28 12:19:29 +00:00
Thomas Jensen
9020675926
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 12:17:46 +00:00
Thomas Jensen
884e18072d
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-28 12:15:47 +00:00
Thomas Jensen
b3fb4bade2
Commented out regerror() protoype which is now exported by tools.h
1999-06-25 18:53:51 +00:00
Thomas Jensen
b51b8e108a
Added empty_side() prototype
1999-06-25 18:52:59 +00:00
Thomas Jensen
0038f52681
Added empty_side() function from boxes.c
...
Removed #include regexp.h
1999-06-25 18:52:28 +00:00
Thomas Jensen
6e23417d1f
Removed empty_side() prototype (now in shape.h)
...
Added indentmode and justify members to command line options struct
1999-06-25 18:51:04 +00:00
Thomas Jensen
e9f3b88ef9
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 18:46:39 +00:00
Thomas Jensen
93763e64ec
Added initialization of mmok to please compiler
...
Changed parameters of empty_side() calls to comply with new signature
1999-06-25 18:45:33 +00:00
Thomas Jensen
1996a361ed
Added output_box() function
1999-06-25 18:45:12 +00:00
Thomas Jensen
0c9f7cb04f
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-25 18:42:50 +00:00
Thomas Jensen
26e3a95bbe
Added remove.o and generate.o
...
Introduced implicit rule .c.o, simplifying commands for most sources
1999-06-23 19:35:17 +00:00
Thomas Jensen
d983743471
Added output_box() from boxes.c
1999-06-23 19:23:55 +00:00
Thomas Jensen
f8774543a9
Now exporting anz_designs, input, and empty_side()
...
Added #include regexp.h back
1999-06-23 19:21:15 +00:00
Thomas Jensen
e88470677d
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 19:17:27 +00:00
Thomas Jensen
79555dbf29
Initial revision
1999-06-23 19:14:53 +00:00
Thomas Jensen
16ecdbb777
Initial revision
1999-06-23 18:52:54 +00:00
Thomas Jensen
0202a4edab
Moved some data structures and macros related to shapes to shape.h
...
Added #ifdef DEBUG around __TJ() macro for convenience
1999-06-23 12:33:49 +00:00
Thomas Jensen
5ffccab2b7
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 12:31:26 +00:00
Thomas Jensen
b73a59a3e0
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 12:27:50 +00:00
Thomas Jensen
b5630aa4dc
Initial revision
1999-06-23 12:26:59 +00:00
Thomas Jensen
77e0ce8550
Initial revision
1999-06-23 11:19:30 +00:00
Thomas Jensen
20b4ff599b
Removed #pragma ident string and added version comment instead
1999-06-22 12:12:05 +00:00
Thomas Jensen
46844f8983
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 12:03:33 +00:00
Thomas Jensen
3f8cdd1803
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 12:01:24 +00:00
Thomas Jensen
43e877f2f9
Added #undef DEBUG, because DEBUGging is now activated in boxes.h
...
Added #include tools.h
1999-06-22 12:00:05 +00:00
Thomas Jensen
e0b1b6f9bb
Added code for padding handling (-p)
...
Added BMAX macro (returns maximum of two values)
1999-06-20 14:20:29 +00:00
Thomas Jensen
a95cc59dff
Added padding member to design struct
1999-06-20 14:19:31 +00:00
Thomas Jensen
7d265b2273
Adden YPADDING and YNUMBER tokens plus code for padding blocks
1999-06-20 14:18:51 +00:00
Thomas Jensen
d1079fdf7f
Added "padding" keyword and recogintion of numbers (YNUMBER)
1999-06-20 14:17:58 +00:00
Thomas Jensen
56de91b3c8
Removed #pragma ident "string"
...
Changed VERSION to 1.0 beta
Added line_t and empty_line() prototype
1999-06-17 19:08:50 +00:00
Thomas Jensen
c4cfb92c8a
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 19:07:06 +00:00
Thomas Jensen
5cd3e9f898
Bugfix: Sample block analysis didn't handle empty blocks
1999-06-17 19:05:46 +00:00
Thomas Jensen
80fb0649a8
Added detection of empty sample blocks (we don't want that)
...
Added detection of duplicate sample blocks
1999-06-17 19:04:45 +00:00
Thomas Jensen
f3bdc853b3
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-15 12:07:39 +00:00
Thomas Jensen
cda91cdbef
Added Reverse pattern
1999-06-14 12:13:41 +00:00
Thomas Jensen
42d3d8f4f6
Added YREVERSE token
...
Added code for regexp reversion
1999-06-14 12:13:01 +00:00
Thomas Jensen
6756a85171
Added struct members for regexp reversion code
...
Renamed current_reprule to current_rule, now used for both directions
1999-06-14 12:11:54 +00:00
Thomas Jensen
c033fef722
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-14 12:08:49 +00:00
Thomas Jensen
9ebc20ebc0
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-13 15:28:31 +00:00
Thomas Jensen
02b697659e
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 18:13:26 +00:00
Thomas Jensen
498bd9c12a
Added snap target for automatic snapshot publication
1999-06-04 12:15:37 +00:00
Thomas Jensen
c0b7322493
a few fixes related to box removal (as expected)
1999-06-03 19:24:14 +00:00
Thomas Jensen
4a01a9254b
*** empty log message ***
1999-06-03 18:54:33 +00:00
Thomas Jensen
5971b0994b
lots of fixes
...
Added remove box functionality, which remains to be tested
1999-06-03 18:54:05 +00:00
Thomas Jensen
a53d558f8f
Added rcsid using #pragma ident
1999-04-12 18:16:52 +00:00
Thomas Jensen
3722111e95
Added missing '$' to rcs id string, changed from #ident to char
1999-04-12 18:13:20 +00:00
Thomas Jensen
34d7cf0022
Removed code related to OFFSET blocks (obsolete)
1999-04-09 13:32:55 +00:00
Thomas Jensen
2164de8d0d
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 13:31:54 +00:00
Thomas Jensen
f9c8de9291
Removed all code related to OFFSET blocks (obsolete)
1999-04-09 13:31:13 +00:00
Thomas Jensen
c015097473
Don't export regexec() and regsub() anymore - used by myregsub exclusively.
1999-04-05 19:41:42 +00:00
Thomas Jensen
c4d3a2e821
Hopefully fixed a potential buffer overrun problem in regsub()
1999-04-05 19:39:27 +00:00
Thomas Jensen
9a0829d1e5
Added #ident directive
1999-04-04 16:18:23 +00:00
Thomas Jensen
b203415277
Initial revision
1999-04-04 16:14:09 +00:00
Thomas Jensen
006a3bc702
Added rules for new regular expression handling files
...
Added file header
Straightened out clean commands
1999-04-04 16:12:40 +00:00
Thomas Jensen
4c0375a015
Added indent keyword
...
Added Replace token
Some fiddling which will hopefully fix a line counting bug
1999-04-04 16:11:39 +00:00
Thomas Jensen
1492da7251
Added some flags to design structure
...
Move default settings here from boxes.c
1999-04-04 16:10:51 +00:00
Thomas Jensen
bbf133112c
Added code for specification of indentation handling of input
...
Added regular expression substitutions
Some minor fixes
1999-04-04 16:09:01 +00:00
Thomas Jensen
f239524594
Enforced use of PROJECT macro
...
Added "indent" directive to grammar
Added "replace" directive to grammar
1999-04-04 16:07:53 +00:00
Thomas Jensen
413528bdf0
Added build target for optimized compilation
...
Now linking with flex library instead of lex library
1999-04-03 12:01:01 +00:00
Thomas Jensen
3271315a45
... still programming ...
...
Added infile/outfile parameter code (pasted from tal, more or less)
Added code to remove trailing spaces from output lines
1999-04-02 18:42:44 +00:00
Thomas Jensen
32e1584b43
... still programming ...
...
Some bug fixes
Added size option (-s)
Added Alignment Option (-a)
It seems actually usable for drawing boxes :-)
1999-04-01 17:26:18 +00:00
Thomas Jensen
9285b8418d
... still programming ...
...
Added minwidth and minheight to design structure
1999-03-31 17:34:43 +00:00
Thomas Jensen
3ac253d3b8
... still programming ...
...
(some bug fixes and restructuring)
1999-03-31 17:34:21 +00:00
Thomas Jensen
504284f942
Added minimum width/height for a design. Fixed screwed tiny boxes.
...
Did not handle zero input.
1999-03-30 13:30:19 +00:00
Thomas Jensen
103bcbffda
Added computation of minimum width/height of each design.
1999-03-30 13:29:50 +00:00
Thomas Jensen
5d6bde380a
Added rcs keywords and standard file header.
1999-03-30 09:42:51 +00:00
Thomas Jensen
dc10567bac
It drew a correct box for the first time!
1999-03-30 09:37:51 +00:00
Thomas Jensen
9b572008d8
... still programming ...
...
It drew a correct box for the first time!
1999-03-30 09:36:58 +00:00
Thomas Jensen
c267c43c63
... still programming ...
...
(removed setlocale() call and locale.h include)
1999-03-30 09:36:23 +00:00
Thomas Jensen
403c6ee4d6
Added detection of empty shapes ("") which are now cleared (+warning)
...
Changed rcs string to #ident directive
1999-03-24 17:29:12 +00:00
Thomas Jensen
aba8957f51
Added -D__EXTENSIONS__
...
Compile everything but the parser with -Wall -W
1999-03-22 10:57:14 +00:00
Thomas Jensen
d3f766d62e
Added boxes.o to clean target
...
Switched language to ANSI C / POSIX_SOURCE
Added -Wall -W to boxes core compilation
1999-03-19 17:58:14 +00:00
Thomas Jensen
1dd6fcd588
... still programming ...
1999-03-19 17:57:20 +00:00
Thomas Jensen
33c6e9cdc1
... still programming ...
1999-03-19 17:51:19 +00:00
Thomas Jensen
cc3348c999
... still programming ...
1999-03-19 17:44:47 +00:00
Thomas Jensen
8d7db8a263
Initial revision
1999-03-18 15:08:57 +00:00