ChangeLog   [plain text]

1999-09-24  Markku Rossi  <>

	* utils.c (eval_expr): Added filename and linenumber information
	to some error messages.

1999-07-19  Markku Rossi  <>

	* (mail_body): Changes by Matthew Weigel

	* prims.c (prim_sprintf): Implemented `%c' format to print

1999-07-13  Markku Rossi  <>

	* utils.c (lookup_var): Fixed memory leaks from the special
	variable lookup.

1999-07-08  Markku Rossi  <>

	* Highlighting rules for TeX/LaTeX.  Thanks to Toni
	Giorgino <>.

1999-04-28  Markku Rossi  <>

	* prims.c (prim_system): Implemented the system() primitive.

1999-04-01  Markku Rossi  <>

	* (namerules): Changed the `.m' suffix from
	Objective-C to Matlab.
	Matlab changes Jack Dunn.

1999-03-30  Markku Rossi  <>

	* (ansi_faces): New output language ANSI for color
	xterms.  It should be used with the `tty' style.  Thanks to Bill
	Petheram <>.

1999-03-12  Markku Rossi  <>

	* (makefile): Added highlighting for Matlab files.
	Thanks to Jack Dunn <>.

1999-01-07  Markku Rossi  <>

	* (ksh): In ${#text}, the '#' character does not start
	a comment.  Thanks to Tobias Buchal <>.
	(cpp): Allow '&' characters in function names.  Thans to Tobias

1998-10-28  Markku Rossi  <>

	* process.c (execute_state): Added initialization for the variable

1998-10-23  Markku Rossi  <>

	* Changed the enscript to use the new highlighting
	style.  The highlighting definition files are in the `hl'

	* prims.c (prim_calln): New primitive function to call a state by
	its name.
	(prim_require_state): New primitive function to check that the
	arugment state is defined.

	* main.c (main): Use PATH_SEPARATOR when constructing the path.

	* utils.c (autoload_file): Fixed to use PATH_SEPARATOR.

1998-10-22  Markku Rossi  <>

	* (vrml): Added built-in nodes.  Thanks to James

	* utils.c (load_states_file): The `global_stmts' must be
	initialized to list() instead of NULL.
	(autoload_file): Send verbose messages to stderr.

	* (vrml): Small fixes by James Sørlie.
	(overstrike_faces): Fixed to handle newline characters correctly
	in the bold mode.

1998-10-21  Markku Rossi  <>

	* utils.c: Changed all input file related error messages to use
	the correct file name.
	(load_states_file): New function to load a states file.
	(autoload_file): New function to autoload a feature.
	(lookup_state): Moved here from process.c.

	* process.c: The function lookup_state() was moved to utils.c and
	made global.

	* main.c: New options -p, --path, -v, --verbose.

	* defs.h: Added `filename' members to all types that report errors
	from a source file locations.
	Added support for state autoloading.

	* (vrml): Small fixes by James Sørlie.

	* process.c (execute_state): Fixed to execute the BEGIN and END
	rules of the inherited states.

	* (vrml): Added highlighting for the Virtual Reality
	Modeling Language (VRML97).  Thanks to James Sørlie

1998-10-15  Markku Rossi  <>

	* gram.y: Added support for state inheritance.

	* lex.l: New keyword `extends'.

	* process.c (lookup_state): New function to lookup a state by its
	name.  This function is extented in the future to support
	(execute_state): Fixed to support state heritance.

	* utils.c (define_state): Added argument `super' for the super
	state of our new state.

	* defs.h (struct state_st): New type for the states.  The states
	can be ~inherited, so we can't use the basic list anymore.

1998-09-17  Markku Rossi  <>

	* Updated C, C++, and Objective-C mode highlightings
	to support bitfields in structure definitions.  Thanks to Chris
	Jepeway <>.

1998-08-03  Markku Rossi  <>

	* New highlighting rules for: bash, csh, ksh, m4,
	skill, tcsh, and zsh.  Thanks to Jean-Marc Calvez
	(fortran): Some fortran highlighting fixes.  Thanks to Philip

1998-07-01  Markku Rossi  <>

	* (c, cpp, objc): Major updates.  Now these are pretty
	close to Emacs' font-lock mode.
	(html_faces): Changed type faces to be printed in boldface instead
	of italic.
	(start): Changed `type_face_font' to be the `bold_font' instead of

1998-06-26  Markku Rossi  <>

	* (c): Added support for the C++'ish //-single line

1998-06-23  Markku Rossi  <>

	* (html_faces): Cleaned up the HTML faces.
	(start): Added support for `LucidaSans-Typewriter' font.

	* main.c (main): Changed the name of the stdin to "-".

1998-06-22  Markku Rossi  <>

	* main.c (main): Enscript gives the stdin as an empty argument.
	Fixed the main() to handle it.

1998-06-11  Markku Rossi  <>

	* Fixed Python function definition highlighting.
	Thanks to Andy Eskilsson <>.

1998-05-29  Markku Rossi  <>

	* (idl): Added highlighting for the CORBA Interface
	Definition Language IDL.  Thanks to Alexis Layton

1998-05-27  Markku Rossi  <>

	* (javascript): Updated the function name regexp.  The
	function names - and all other symbols - can contain the dollar
	(javascript): Fixed ''-strings and character constants.

1998-03-09  Markku Rossi  <>

	* (vba): Added highlighting for Visual Basic (for
	Applications).  Thanks to Kevin Grover <>.
	Added new output language RTF (Rich Text Format).  Thanks to Kevin
	Grover <>.
	(python): Updated Python highlighting rules.

1998-02-27  Markku Rossi  <>

	* (python): Added highlighting for the Python
	language.  Thanks to Andy Eskilsson <>.
	(asm): Added highlighting rules for Assembler listings.

1998-02-11  Markku Rossi  <>

	* (javascript): Initialize from_html to 0 at the
	global level.  Now we can print JavaScript files that are not
	embedded to HTML.

1998-01-29  Markku Rossi  <>

	* (perl): Fixed to handle oddities in OO perl and perl
	used for cgi scripts.  Thanks to Jim Villani.

1998-01-28  Markku Rossi  <>

	* (sh): Added highlighting for bourne shell scripts.
	Thanks to Juergen Kahrs <>.
	(startrules): Fixed perl and awk rules to accept space after

1998-01-20  Markku Rossi  <>

	* (awk): Added highlighting for awk.  Thanks to
	Juergen Kahrs <>.

1997-12-31  Markku Rossi  <>

	* (namerules): Added suffix `.pm' for perl mode.
	(startrules): Fixed perl mode to recognize files which start with

1997-12-30  Markku Rossi  <>

	* Added colors `cadet blue' and `orchid'.
	Fixed `emacs' color model to conform the emacs' defaults.
	(changelog): Updated ChangeLog highlighting to conform emacs.

1997-12-17  Markku Rossi  <>

	* utils.c (lookup_var): Made special variable `$`' an alias for

1997-12-15  Markku Rossi  <>

	* (html_faces): Added navigation links: top, next,
	(start): New colormode `ifh'.  Thanks to Tobias Buchal
	(diff): Added highlighting for diffs.  Thanks to Tobias Buchal.
	(diffu): Added highlighting for unified diffs.  Thanks to Tobias
	(html_annotate_mailtos): Fixed addresses which contain '-'
	(html_annotate_mailtos): Fixed addresses which contain '.'
	characters in the user name.

1997-11-13  Markku Rossi  <>

	* (delphi): Added support for C++ style comments.
	(fortran): Updated Fortran highlighting.  Thanks to Keith Refson

Wed Aug 27 14:36:12 1997  Markku Rossi  <>

	* prims.c (prim_regexp_syntax): New primitive to modify regexp
	engine's character syntax table.

	* (scheme): Improved keyword highlighting, thanks to
	the new regexp_syntax() primitive which can be used to modify
	regexp character syntax table.

Mon Aug 11 10:31:55 1997  Markku Rossi  <>

	* (start): Fixed PostScript font resolving to work
	with the `Souvenir' font.

Fri Jul 18 10:34:27 1997  Markku Rossi  <>

	* lex.l: Implemented case-insensitive regular expressions.

Wed Jul 16 12:50:27 1997  Markku Rossi  <>

	* (sql): Updated Sybase SQL highlighting rules, thanks
	to Chris Jack <>.

Fri Jul  4 09:11:37 1997  Markku Rossi  <>

	* utils.c (compile_regexp): New function to handle regular
 	expression compilations.
	(compile_regexp): Added fastmaps for regexps, this speeds up the
 	processing noticeably.

Mon Jun 23 09:39:41 1997  Markku Rossi  <>

	* (sql): Added highlighting for SQL language by
	Chris Jack <>.

	* utils.c (lookup_var): Renamed special variable `$`' to `$B'.

	* (perl): Added highlighting for Perl programming
 	language by Jim Villani, Logistics Management Institute

Tue Jun 10 10:46:31 1997  Markku Rossi  <>

	* utils.c (lookup_var): New special variable `$.'.
	(lookup_var): New special variable `$`'.

Fri Jun  6 14:05:38 1997  Markku Rossi  <>

	* prims.c (prim_float): New primitive to convert items to float

Tue Jun  3 11:23:59 1997  Markku Rossi  <>

	* (c): Improved C pre-processor line highlighting to
 	highlights also string and character constansts.
	(c): Added highlighting for goto's labels and targets.
	(c): Added highlighting for function definitions and prototypes.
	(changelog): Added highlighting for description entries with
 	function name but without file name.
	(cpp): Added highlighting for goto's labels and targes.
	(cpp): Added highlighting for function definitions and
	(objc): Added highlighting for goto's labels and targets.

Tue May 20 09:21:05 1997  Markku Rossi  <>

	* (delphi): Added highlighting for Delphi language by
 	Michael Van Canneyt <>.

	* main.c (main): Moved the initialization of `ofp' from the
 	variable declaration to main().

Fri May  2 10:59:22 1997  Markku Rossi  <>

	* enscript.el (build-re): Added support for case-insensitive
	regular expressions.

	* (fortran): Added highlighting for Fortran77
	Re-generated case-insensitive keyword regular expressions with the
	new build-re function.

Fri Apr 25 09:24:34 1997  Markku Rossi  <>

	* (pascal): Added highlighting for Pascal language by
	Michael Van Canneyt <>.

Wed Apr 16 10:14:39 1997  Markku Rossi  <>

	* gram.y: Implemented expressions: +=, -=, *=, div=.

Mon Apr 14 17:08:00 1997  Markku Rossi  <>

	* gram.y: Implemented prefix and postfix increment (++) and
	decrement (--) operators.

Fri Apr  4 09:20:20 1997  Markku Rossi  <>

	* (java): Added highlighting for Java language by Paul
	Fisher <>.
	(html_faces): Fixed 1.5.0 compatibility bug.

Thu Apr  3 10:24:32 1997  Markku Rossi  <>

	* prims.c (prim_range): New primitive to fetch sub-ranges from
	lists and strings.
	Changed all primitives' error messages to be in format

Tue Mar 25 12:40:56 1997  Markku Rossi  <>

	* prims.c (prim_regexp): New primitive to create regular
	expressions from strings.
	(prim_split): New primitive to split string to list.

Fri Mar 21 11:37:18 1997  Markku Rossi  <>

	* (html): Added support for nested scripts.
	(javascript): Added highlighting for JavaScript.

Wed Mar 19 12:02:17 1997  Markku Rossi  <>

	* (need_version): New help subroutine to check that a
	specified version of the states program is in use.
	(html_faces): Changed HTML output language to co-operate with
	enscript's new --language option.
	(passthrough): New state which simply pass its input to output
	preserving only face specific headers, footers and language

	* main.c (main): New built-in variable `argv' which holds input
 	file names.

Mon Mar 17 09:46:45 1997  Markku Rossi  <>

	* (elisp): Added highlighting for Emacs Lisp.
	(overstrike_faces): New output language `overstrike' for line
	printers and less by François Pinard.
	(tcl): Updated Tcl and Tk keywords from Tcl/Tk 8.0a1.
	Added highlighting for procedure names and variable names.
	(scheme): Fixed keywords to recognize `set!'.

Tue Mar 11 16:20:12 1997  Markku Rossi  <>

	* (states): Updated keyword list.
	Implemented highlighting for built-in functions.
	Added highlighting for function names.

Mon Mar 10 11:50:04 1997  Markku Rossi  <>

	* (postscript): Added highlighting for PostScript
	language by Dave Hylands <>.
	Sorted highlighting states according to their names.

Thu Mar  6 11:05:13 1997  Markku Rossi  <>

	* Implemented new `variable_name_face' typeface.
	(c_ppline): Implemented a smarter C preprocessor line highlighting
	support.  Now it should be identical with Emacs's highlight.

Tue Mar  4 11:40:40 1997  Markku Rossi  <>

	* (ada): Added highlighting for the Ada95 programming
	language by Rolf Ebert <>.

Mon Mar  3 12:03:16 1997  Markku Rossi  <>

	* (start): Cleaned bold, italic and bold-italic font
	(makefile): Fixed highlighting to handle nested (){} structures.
	(scheme): Updated to highlight function names and ':'-started
	function arguments.

Thu Feb 27 09:34:49 1997  Markku Rossi  <>

	* Implemented new type faces: `builtin_face' and
	(haskell): Added highlighting for the Haskell programming language
	by Hans-Wolfgang Loidl <>.
	Updated highlighting rule guidelines and updated all current rules
	to obey them.
	Implemented new documentation state `describe_languages_html'
	which will create a HTML report about all supported highlighting
Wed Feb 26 09:42:52 1997  Markku Rossi  <>

	* Release enscript-1.5.0.

Fri Feb 21 09:48:04 1997  Markku Rossi  <>

	* gram.y: Implemented logical operators `not', `and' and `or'.

	* main.c: New option -W, --warning to set the warning level.

	* Added test subdirectory and tests for States.

Wed Feb 19 14:58:36 1997  Markku Rossi  <>

	* (synopsys): Added highlighting for the Synopsys DC
	Shell scripting language by Brian Silveira ( and
	Hartley Horwitz (
	(synopsys): New synopsys mode with some minor fixes.

Tue Feb 18 08:59:46 1997  Markku Rossi  <>

	* Added guidelines for new highlighting rules.
	(vhdl): Added VHDL highlighting by Brian Silveira

Tue Feb 11 14:08:25 1997  Markku Rossi  <>

	* (verilog): Added new '`' keywords.
	(verilog): Added highlighting for references of the pre-processor
	defined things.

Wed Feb  5 10:29:07 1997  Markku Rossi  <>

	* prims.c (prim_tointeger): Renamed primitive `tonumber' to
	(prim_string): Renamed primitive `tostring' to `string'.
	(prim_sprintf): New primitive to create formatted strings.

	* utils.c (eval_expr): Implemented integer and real values and
	expressions and conversions betweeen them.

	* prims.c (prim_concat): Renamed primitive `strcat' to `concat'.

Tue Feb  4 16:40:23 1997  Markku Rossi  <>

	* prims.c (prim_list): New primitive `list' to create lists.
	(prim_length): Renamed primitive `strlen' to `length'.

	* gram.y: Implemented array references and assignments for lists
	and strings.

	* lex.l: Implemented C's character constants ('a').

Mon Feb  3 11:34:14 1997  Markku Rossi  <>

	* Added `describe_languages' state which can be used
	to extract information about the supported --pretty-print
	languages from the file.
	Added documentation comments (/** */) to all supported languages
	and file formats.
	Changed start state resolving to check the startrules before the
	Added colors for HTML target.

	* Fixed bugs encountered with enscript-1.4.4.
	Updated developement tools: flex-2.5.4 and bison-1.25.

Fri Jan 31 15:24:44 1997  Markku Rossi  <>

	* prims.c (prim_prereq): New primitive to check that a recent
	enough version of States is being used.

Sat Jan 25 17:27:50 1997  Markku Rossi  <>

	* (changelog): Implemented ChangeLog highlighting.

	* enscript.el: Emacs lisp commands to help editing.

	* (objc): Implemented Objective-C highlighting.
	Regenerated keyword regular expressions with the Emacs-lisp
	build-re command.

Fri Jan 24 19:13:38 1997  Markku Rossi  <>

	* prims.c: New primitives: regmatch, regsub and regsuball.

Thu Jan 23 11:49:25 1997  Markku Rossi  <>

	* prims.c (prim_getenv): New primitive: getenv.

	* Moved libcompat.a before libintl.a so intl library
	can use alloca.

	* De-ANSI-fied states sources since bison generated gram.c is
	already in K&R.

Wed Jan 22 00:57:09 1997  Markku Rossi  <>

	* Added many2html script.

	* Added support for multiple output languages and
	implemented HTML target for all supported input languages.

	* gram.y: changed top-level expressions to statements and moved
	subroutine definition from top-level to statements.  This allows
	conditional subroutine definitions.
	added tSYMBOL for state rule's expr part.  This allows
	user-definable matches.

Mon Jan 20 01:14:02 1997  Markku Rossi  <>

	* (tcl): Implemented Tcl highlighting.

	* defs.h (struct environment_st): Changed procedure call's
	environment from StringHash to linked list, this gives major

	* Version 0.9 of States, this is an early beta.