1 1999-09-24 Markku Rossi <mtr@amme.ssh.fi>
3 * utils.c (eval_expr): Added filename and linenumber information
4 to some error messages.
6 1999-07-19 Markku Rossi <mtr@amme.ssh.fi>
8 * enscript.st (mail_body): Changes by Matthew Weigel
11 * prims.c (prim_sprintf): Implemented `%c' format to print
14 1999-07-13 Markku Rossi <mtr@amme.ssh.fi>
16 * utils.c (lookup_var): Fixed memory leaks from the special
19 1999-07-08 Markku Rossi <mtr@amme.ssh.fi>
21 * enscript.st: Highlighting rules for TeX/LaTeX. Thanks to Toni
22 Giorgino <toni@pcape2.pi.infn.it>.
24 1999-04-28 Markku Rossi <mtr@amme.ssh.fi>
26 * prims.c (prim_system): Implemented the system() primitive.
28 1999-04-01 Markku Rossi <mtr@amme.ssh.fi>
30 * enscript.st (namerules): Changed the `.m' suffix from
31 Objective-C to Matlab.
32 Matlab changes Jack Dunn.
34 1999-03-30 Markku Rossi <mtr@amme.ssh.fi>
36 * enscript.st (ansi_faces): New output language ANSI for color
37 xterms. It should be used with the `tty' style. Thanks to Bill
38 Petheram <petheram@acm.org>.
40 1999-03-12 Markku Rossi <mtr@amme.ssh.fi>
42 * enscript.st (makefile): Added highlighting for Matlab files.
43 Thanks to Jack Dunn <h.j.dunn@larc.nasa.gov>.
45 1999-01-07 Markku Rossi <mtr@amme.ssh.fi>
47 * enscript.st (ksh): In ${#text}, the '#' character does not start
48 a comment. Thanks to Tobias Buchal <buchal41@che41a0.der.edf.fr>.
49 (cpp): Allow '&' characters in function names. Thans to Tobias
52 1998-10-28 Markku Rossi <mtr@ngs.fi>
54 * process.c (execute_state): Added initialization for the variable
57 1998-10-23 Markku Rossi <mtr@ngs.fi>
59 * Makefile.am: Changed the enscript to use the new highlighting
60 style. The highlighting definition files are in the `hl'
63 * prims.c (prim_calln): New primitive function to call a state by
65 (prim_require_state): New primitive function to check that the
66 arugment state is defined.
68 * main.c (main): Use PATH_SEPARATOR when constructing the path.
70 * utils.c (autoload_file): Fixed to use PATH_SEPARATOR.
72 1998-10-22 Markku Rossi <mtr@ngs.fi>
74 * enscript.st (vrml): Added built-in nodes. Thanks to James
77 * utils.c (load_states_file): The `global_stmts' must be
78 initialized to list() instead of NULL.
79 (autoload_file): Send verbose messages to stderr.
81 * enscript.st (vrml): Small fixes by James Sørlie.
82 (overstrike_faces): Fixed to handle newline characters correctly
85 1998-10-21 Markku Rossi <mtr@ngs.fi>
87 * utils.c: Changed all input file related error messages to use
88 the correct file name.
89 (load_states_file): New function to load a states file.
90 (autoload_file): New function to autoload a feature.
91 (lookup_state): Moved here from process.c.
93 * process.c: The function lookup_state() was moved to utils.c and
96 * main.c: New options -p, --path, -v, --verbose.
98 * defs.h: Added `filename' members to all types that report errors
99 from a source file locations.
100 Added support for state autoloading.
102 * enscript.st (vrml): Small fixes by James Sørlie.
104 * process.c (execute_state): Fixed to execute the BEGIN and END
105 rules of the inherited states.
107 * enscript.st (vrml): Added highlighting for the Virtual Reality
108 Modeling Language (VRML97). Thanks to James Sørlie
109 <sorliej@imm.dtu.dk>.
111 1998-10-15 Markku Rossi <mtr@ngs.fi>
113 * gram.y: Added support for state inheritance.
115 * lex.l: New keyword `extends'.
117 * process.c (lookup_state): New function to lookup a state by its
118 name. This function is extented in the future to support
120 (execute_state): Fixed to support state heritance.
122 * utils.c (define_state): Added argument `super' for the super
123 state of our new state.
125 * defs.h (struct state_st): New type for the states. The states
126 can be ~inherited, so we can't use the basic list anymore.
128 1998-09-17 Markku Rossi <mtr@ngs.fi>
130 * enscript.st: Updated C, C++, and Objective-C mode highlightings
131 to support bitfields in structure definitions. Thanks to Chris
132 Jepeway <jepeway@cs.utk.edu>.
134 1998-08-03 Markku Rossi <mtr@ngs.fi>
136 * enscript.st: New highlighting rules for: bash, csh, ksh, m4,
137 skill, tcsh, and zsh. Thanks to Jean-Marc Calvez
138 <jean-marc.calvez@st.com>.
139 (fortran): Some fortran highlighting fixes. Thanks to Philip
142 1998-07-01 Markku Rossi <mtr@ngs.fi>
144 * enscript.st (c, cpp, objc): Major updates. Now these are pretty
145 close to Emacs' font-lock mode.
146 (html_faces): Changed type faces to be printed in boldface instead
148 (start): Changed `type_face_font' to be the `bold_font' instead of
151 1998-06-26 Markku Rossi <mtr@ngs.fi>
153 * enscript.st (c): Added support for the C++'ish //-single line
156 1998-06-23 Markku Rossi <mtr@ngs.fi>
158 * enscript.st (html_faces): Cleaned up the HTML faces.
159 (start): Added support for `LucidaSans-Typewriter' font.
161 * main.c (main): Changed the name of the stdin to "-".
163 1998-06-22 Markku Rossi <mtr@ngs.fi>
165 * main.c (main): Enscript gives the stdin as an empty argument.
166 Fixed the main() to handle it.
168 1998-06-11 Markku Rossi <mtr@ngs.fi>
170 * enscript.st: Fixed Python function definition highlighting.
171 Thanks to Andy Eskilsson <andy.eskilsson@telelogic.se>.
173 1998-05-29 Markku Rossi <mtr@ngs.fi>
175 * enscript.st (idl): Added highlighting for the CORBA Interface
176 Definition Language IDL. Thanks to Alexis Layton
177 <alex@InConcert.COM>.
179 1998-05-27 Markku Rossi <mtr@ngs.fi>
181 * enscript.st (javascript): Updated the function name regexp. The
182 function names - and all other symbols - can contain the dollar
184 (javascript): Fixed ''-strings and character constants.
186 1998-03-09 Markku Rossi <mtr@ngs.fi>
188 * enscript.st (vba): Added highlighting for Visual Basic (for
189 Applications). Thanks to Kevin Grover <grover@wizard.com>.
190 Added new output language RTF (Rich Text Format). Thanks to Kevin
191 Grover <grover@wizard.com>.
192 (python): Updated Python highlighting rules.
194 1998-02-27 Markku Rossi <mtr@ngs.fi>
196 * enscript.st (python): Added highlighting for the Python
197 language. Thanks to Andy Eskilsson <andy.eskilsson@telelogic.se>.
198 (asm): Added highlighting rules for Assembler listings.
200 1998-02-11 Markku Rossi <mtr@ngs.fi>
202 * enscript.st (javascript): Initialize from_html to 0 at the
203 global level. Now we can print JavaScript files that are not
206 1998-01-29 Markku Rossi <mtr@ngs.fi>
208 * enscript.st (perl): Fixed to handle oddities in OO perl and perl
209 used for cgi scripts. Thanks to Jim Villani.
211 1998-01-28 Markku Rossi <mtr@ngs.fi>
213 * enscript.st (sh): Added highlighting for bourne shell scripts.
214 Thanks to Juergen Kahrs <Juergen.Kahrs@t-online.de>.
215 (startrules): Fixed perl and awk rules to accept space after
218 1998-01-20 Markku Rossi <mtr@ngs.fi>
220 * enscript.st (awk): Added highlighting for awk. Thanks to
221 Juergen Kahrs <Juergen.Kahrs@t-online.de>.
223 1997-12-31 Markku Rossi <mtr@ngs.fi>
225 * enscript.st (namerules): Added suffix `.pm' for perl mode.
226 (startrules): Fixed perl mode to recognize files which start with
229 1997-12-30 Markku Rossi <mtr@ngs.fi>
231 * enscript.st: Added colors `cadet blue' and `orchid'.
232 Fixed `emacs' color model to conform the emacs' defaults.
233 (changelog): Updated ChangeLog highlighting to conform emacs.
235 1997-12-17 Markku Rossi <mtr@ngs.fi>
237 * utils.c (lookup_var): Made special variable `$`' an alias for
240 1997-12-15 Markku Rossi <mtr@ngs.fi>
242 * enscript.st (html_faces): Added navigation links: top, next,
244 (start): New colormode `ifh'. Thanks to Tobias Buchal
245 <buch@ifh.bau-verm.uni-karlsruhe.de>
246 (diff): Added highlighting for diffs. Thanks to Tobias Buchal.
247 (diffu): Added highlighting for unified diffs. Thanks to Tobias
249 (html_annotate_mailtos): Fixed addresses which contain '-'
251 (html_annotate_mailtos): Fixed addresses which contain '.'
252 characters in the user name.
254 1997-11-13 Markku Rossi <mtr@ngs.fi>
256 * enscript.st (delphi): Added support for C++ style comments.
257 (fortran): Updated Fortran highlighting. Thanks to Keith Refson
258 <Keith.Refson@earth.ox.ac.uk>.
260 Wed Aug 27 14:36:12 1997 Markku Rossi <mtr@ngs.fi>
262 * prims.c (prim_regexp_syntax): New primitive to modify regexp
263 engine's character syntax table.
265 * enscript.st (scheme): Improved keyword highlighting, thanks to
266 the new regexp_syntax() primitive which can be used to modify
267 regexp character syntax table.
269 Mon Aug 11 10:31:55 1997 Markku Rossi <mtr@ngs.fi>
271 * enscript.st (start): Fixed PostScript font resolving to work
272 with the `Souvenir' font.
274 Fri Jul 18 10:34:27 1997 Markku Rossi <mtr@ngs.fi>
276 * lex.l: Implemented case-insensitive regular expressions.
278 Wed Jul 16 12:50:27 1997 Markku Rossi <mtr@ngs.fi>
280 * enscript.st (sql): Updated Sybase SQL highlighting rules, thanks
281 to Chris Jack <chris_jack@msn.com>.
283 Fri Jul 4 09:11:37 1997 Markku Rossi <mtr@ngs.fi>
285 * utils.c (compile_regexp): New function to handle regular
286 expression compilations.
287 (compile_regexp): Added fastmaps for regexps, this speeds up the
288 processing noticeably.
290 Mon Jun 23 09:39:41 1997 Markku Rossi <mtr@ngs.fi>
292 * enscript.st (sql): Added highlighting for SQL language by
293 Chris Jack <chris_jack@msn.com>.
295 * utils.c (lookup_var): Renamed special variable `$`' to `$B'.
297 * enscript.st (perl): Added highlighting for Perl programming
298 language by Jim Villani, Logistics Management Institute
301 Tue Jun 10 10:46:31 1997 Markku Rossi <mtr@ngs.fi>
303 * utils.c (lookup_var): New special variable `$.'.
304 (lookup_var): New special variable `$`'.
306 Fri Jun 6 14:05:38 1997 Markku Rossi <mtr@ngs.fi>
308 * prims.c (prim_float): New primitive to convert items to float
311 Tue Jun 3 11:23:59 1997 Markku Rossi <mtr@ngs.fi>
313 * enscript.st (c): Improved C pre-processor line highlighting to
314 highlights also string and character constansts.
315 (c): Added highlighting for goto's labels and targets.
316 (c): Added highlighting for function definitions and prototypes.
317 (changelog): Added highlighting for description entries with
318 function name but without file name.
319 (cpp): Added highlighting for goto's labels and targes.
320 (cpp): Added highlighting for function definitions and
322 (objc): Added highlighting for goto's labels and targets.
324 Tue May 20 09:21:05 1997 Markku Rossi <mtr@ngs.fi>
326 * enscript.st (delphi): Added highlighting for Delphi language by
327 Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>.
329 * main.c (main): Moved the initialization of `ofp' from the
330 variable declaration to main().
332 Fri May 2 10:59:22 1997 Markku Rossi <mtr@ngs.fi>
334 * enscript.el (build-re): Added support for case-insensitive
337 * enscript.st (fortran): Added highlighting for Fortran77
339 Re-generated case-insensitive keyword regular expressions with the
340 new build-re function.
342 Fri Apr 25 09:24:34 1997 Markku Rossi <mtr@ngs.fi>
344 * enscript.st (pascal): Added highlighting for Pascal language by
345 Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>.
347 Wed Apr 16 10:14:39 1997 Markku Rossi <mtr@ngs.fi>
349 * gram.y: Implemented expressions: +=, -=, *=, div=.
351 Mon Apr 14 17:08:00 1997 Markku Rossi <mtr@ngs.fi>
353 * gram.y: Implemented prefix and postfix increment (++) and
354 decrement (--) operators.
356 Fri Apr 4 09:20:20 1997 Markku Rossi <mtr@ngs.fi>
358 * enscript.st (java): Added highlighting for Java language by Paul
359 Fisher <pnfisher@eos.ncsu.edu>.
360 (html_faces): Fixed 1.5.0 compatibility bug.
362 Thu Apr 3 10:24:32 1997 Markku Rossi <mtr@ngs.fi>
364 * prims.c (prim_range): New primitive to fetch sub-ranges from
366 Changed all primitives' error messages to be in format
367 `FILE:LINE: MESSAGE'.
369 Tue Mar 25 12:40:56 1997 Markku Rossi <mtr@ngs.fi>
371 * prims.c (prim_regexp): New primitive to create regular
372 expressions from strings.
373 (prim_split): New primitive to split string to list.
375 Fri Mar 21 11:37:18 1997 Markku Rossi <mtr@ngs.fi>
377 * enscript.st (html): Added support for nested scripts.
378 (javascript): Added highlighting for JavaScript.
380 Wed Mar 19 12:02:17 1997 Markku Rossi <mtr@ngs.fi>
382 * enscript.st (need_version): New help subroutine to check that a
383 specified version of the states program is in use.
384 (html_faces): Changed HTML output language to co-operate with
385 enscript's new --language option.
386 (passthrough): New state which simply pass its input to output
387 preserving only face specific headers, footers and language
390 * main.c (main): New built-in variable `argv' which holds input
393 Mon Mar 17 09:46:45 1997 Markku Rossi <mtr@ngs.fi>
395 * enscript.st (elisp): Added highlighting for Emacs Lisp.
396 (overstrike_faces): New output language `overstrike' for line
397 printers and less by François Pinard.
398 (tcl): Updated Tcl and Tk keywords from Tcl/Tk 8.0a1.
399 Added highlighting for procedure names and variable names.
400 (scheme): Fixed keywords to recognize `set!'.
402 Tue Mar 11 16:20:12 1997 Markku Rossi <mtr@ngs.fi>
404 * enscript.st (states): Updated keyword list.
405 Implemented highlighting for built-in functions.
406 Added highlighting for function names.
408 Mon Mar 10 11:50:04 1997 Markku Rossi <mtr@ngs.fi>
410 * enscript.st (postscript): Added highlighting for PostScript
411 language by Dave Hylands <DHylands@creo.com>.
412 Sorted highlighting states according to their names.
414 Thu Mar 6 11:05:13 1997 Markku Rossi <mtr@ngs.fi>
416 * enscript.st: Implemented new `variable_name_face' typeface.
417 (c_ppline): Implemented a smarter C preprocessor line highlighting
418 support. Now it should be identical with Emacs's highlight.
420 Tue Mar 4 11:40:40 1997 Markku Rossi <mtr@ngs.fi>
422 * enscript.st (ada): Added highlighting for the Ada95 programming
423 language by Rolf Ebert <ebert@waporo.muc.de>.
425 Mon Mar 3 12:03:16 1997 Markku Rossi <mtr@ngs.fi>
427 * enscript.st (start): Cleaned bold, italic and bold-italic font
429 (makefile): Fixed highlighting to handle nested (){} structures.
430 (scheme): Updated to highlight function names and ':'-started
433 Thu Feb 27 09:34:49 1997 Markku Rossi <mtr@ngs.fi>
435 * enscript.st: Implemented new type faces: `builtin_face' and
437 (haskell): Added highlighting for the Haskell programming language
438 by Hans-Wolfgang Loidl <hwloidl@dcs.gla.ac.uk>.
439 Updated highlighting rule guidelines and updated all current rules
441 Implemented new documentation state `describe_languages_html'
442 which will create a HTML report about all supported highlighting
445 Wed Feb 26 09:42:52 1997 Markku Rossi <mtr@ngs.fi>
447 * Release enscript-1.5.0.
449 Fri Feb 21 09:48:04 1997 Markku Rossi <mtr@ngs.fi>
451 * gram.y: Implemented logical operators `not', `and' and `or'.
453 * main.c: New option -W, --warning to set the warning level.
455 * Added test subdirectory and tests for States.
457 Wed Feb 19 14:58:36 1997 Markku Rossi <mtr@ngs.fi>
459 * enscript.st (synopsys): Added highlighting for the Synopsys DC
460 Shell scripting language by Brian Silveira (brian@nortel.ca) and
461 Hartley Horwitz (harts@nortel.ca).
462 (synopsys): New synopsys mode with some minor fixes.
464 Tue Feb 18 08:59:46 1997 Markku Rossi <mtr@ngs.fi>
466 * enscript.st: Added guidelines for new highlighting rules.
467 (vhdl): Added VHDL highlighting by Brian Silveira
470 Tue Feb 11 14:08:25 1997 Markku Rossi <mtr@ngs.fi>
472 * enscript.st (verilog): Added new '`' keywords.
473 (verilog): Added highlighting for references of the pre-processor
476 Wed Feb 5 10:29:07 1997 Markku Rossi <mtr@ngs.fi>
478 * prims.c (prim_tointeger): Renamed primitive `tonumber' to
480 (prim_string): Renamed primitive `tostring' to `string'.
481 (prim_sprintf): New primitive to create formatted strings.
483 * utils.c (eval_expr): Implemented integer and real values and
484 expressions and conversions betweeen them.
486 * prims.c (prim_concat): Renamed primitive `strcat' to `concat'.
488 Tue Feb 4 16:40:23 1997 Markku Rossi <mtr@ngs.fi>
490 * prims.c (prim_list): New primitive `list' to create lists.
491 (prim_length): Renamed primitive `strlen' to `length'.
493 * gram.y: Implemented array references and assignments for lists
496 * lex.l: Implemented C's character constants ('a').
498 Mon Feb 3 11:34:14 1997 Markku Rossi <mtr@ngs.fi>
500 * enscript.st: Added `describe_languages' state which can be used
501 to extract information about the supported --pretty-print
502 languages from the enscript.st file.
503 Added documentation comments (/** */) to all supported languages
505 Changed start state resolving to check the startrules before the
507 Added colors for HTML target.
509 * Fixed bugs encountered with enscript-1.4.4.
510 Updated developement tools: flex-2.5.4 and bison-1.25.
512 Fri Jan 31 15:24:44 1997 Markku Rossi <mtr@ngs.fi>
514 * prims.c (prim_prereq): New primitive to check that a recent
515 enough version of States is being used.
517 Sat Jan 25 17:27:50 1997 Markku Rossi <mtr@ngs.fi>
519 * enscript.st (changelog): Implemented ChangeLog highlighting.
521 * enscript.el: Emacs lisp commands to help enscript.st editing.
523 * enscript.st (objc): Implemented Objective-C highlighting.
524 Regenerated keyword regular expressions with the Emacs-lisp
527 Fri Jan 24 19:13:38 1997 Markku Rossi <mtr@ngs.fi>
529 * prims.c: New primitives: regmatch, regsub and regsuball.
531 Thu Jan 23 11:49:25 1997 Markku Rossi <mtr@ngs.fi>
533 * prims.c (prim_getenv): New primitive: getenv.
535 * Makefile.am: Moved libcompat.a before libintl.a so intl library
538 * De-ANSI-fied states sources since bison generated gram.c is
541 Wed Jan 22 00:57:09 1997 Markku Rossi <mtr@ngs.fi>
543 * Makefile.am: Added many2html script.
545 * enscript.st: Added support for multiple output languages and
546 implemented HTML target for all supported input languages.
548 * gram.y: changed top-level expressions to statements and moved
549 subroutine definition from top-level to statements. This allows
550 conditional subroutine definitions.
551 added tSYMBOL for state rule's expr part. This allows
552 user-definable matches.
554 Mon Jan 20 01:14:02 1997 Markku Rossi <mtr@ngs.fi>
556 * enscript.st (tcl): Implemented Tcl highlighting.
558 * defs.h (struct environment_st): Changed procedure call's
559 environment from StringHash to linked list, this gives major
562 * Version 0.9 of States, this is an early beta.