1 2008-01-02 Tim Retout <diocles@gnu.org>
3 * main.c (main): Use PACKAGE_STRING to produce version string.
5 2008-01-01 Tim Retout <diocles@gnu.org>
7 * ChangeLog: Run M-x change-log-redate. Add copyright notice at end.
9 1999-09-24 Markku Rossi <mtr@amme.ssh.fi>
11 * utils.c (eval_expr): Added filename and linenumber information
12 to some error messages.
14 1999-07-19 Markku Rossi <mtr@amme.ssh.fi>
16 * enscript.st (mail_body): Changes by Matthew Weigel
19 * prims.c (prim_sprintf): Implemented `%c' format to print
22 1999-07-13 Markku Rossi <mtr@amme.ssh.fi>
24 * utils.c (lookup_var): Fixed memory leaks from the special
27 1999-07-08 Markku Rossi <mtr@amme.ssh.fi>
29 * enscript.st: Highlighting rules for TeX/LaTeX. Thanks to Toni
30 Giorgino <toni@pcape2.pi.infn.it>.
32 1999-04-28 Markku Rossi <mtr@amme.ssh.fi>
34 * prims.c (prim_system): Implemented the system() primitive.
36 1999-04-01 Markku Rossi <mtr@amme.ssh.fi>
38 * enscript.st (namerules): Changed the `.m' suffix from
39 Objective-C to Matlab.
40 Matlab changes Jack Dunn.
42 1999-03-30 Markku Rossi <mtr@amme.ssh.fi>
44 * enscript.st (ansi_faces): New output language ANSI for color
45 xterms. It should be used with the `tty' style. Thanks to Bill
46 Petheram <petheram@acm.org>.
48 1999-03-12 Markku Rossi <mtr@amme.ssh.fi>
50 * enscript.st (makefile): Added highlighting for Matlab files.
51 Thanks to Jack Dunn <h.j.dunn@larc.nasa.gov>.
53 1999-01-07 Markku Rossi <mtr@amme.ssh.fi>
55 * enscript.st (ksh): In ${#text}, the '#' character does not start
56 a comment. Thanks to Tobias Buchal <buchal41@che41a0.der.edf.fr>.
57 (cpp): Allow '&' characters in function names. Thans to Tobias
60 1998-10-28 Markku Rossi <mtr@ngs.fi>
62 * process.c (execute_state): Added initialization for the variable
65 1998-10-23 Markku Rossi <mtr@ngs.fi>
67 * Makefile.am: Changed the enscript to use the new highlighting
68 style. The highlighting definition files are in the `hl'
71 * prims.c (prim_calln): New primitive function to call a state by
73 (prim_require_state): New primitive function to check that the
74 arugment state is defined.
76 * main.c (main): Use PATH_SEPARATOR when constructing the path.
78 * utils.c (autoload_file): Fixed to use PATH_SEPARATOR.
80 1998-10-22 Markku Rossi <mtr@ngs.fi>
82 * enscript.st (vrml): Added built-in nodes. Thanks to James
85 * utils.c (load_states_file): The `global_stmts' must be
86 initialized to list() instead of NULL.
87 (autoload_file): Send verbose messages to stderr.
89 * enscript.st (vrml): Small fixes by James Sørlie.
90 (overstrike_faces): Fixed to handle newline characters correctly
93 1998-10-21 Markku Rossi <mtr@ngs.fi>
95 * utils.c: Changed all input file related error messages to use
96 the correct file name.
97 (load_states_file): New function to load a states file.
98 (autoload_file): New function to autoload a feature.
99 (lookup_state): Moved here from process.c.
101 * process.c: The function lookup_state() was moved to utils.c and
104 * main.c: New options -p, --path, -v, --verbose.
106 * defs.h: Added `filename' members to all types that report errors
107 from a source file locations.
108 Added support for state autoloading.
110 * enscript.st (vrml): Small fixes by James Sørlie.
112 * process.c (execute_state): Fixed to execute the BEGIN and END
113 rules of the inherited states.
115 * enscript.st (vrml): Added highlighting for the Virtual Reality
116 Modeling Language (VRML97). Thanks to James Sørlie
117 <sorliej@imm.dtu.dk>.
119 1998-10-15 Markku Rossi <mtr@ngs.fi>
121 * gram.y: Added support for state inheritance.
123 * lex.l: New keyword `extends'.
125 * process.c (lookup_state): New function to lookup a state by its
126 name. This function is extented in the future to support
128 (execute_state): Fixed to support state heritance.
130 * utils.c (define_state): Added argument `super' for the super
131 state of our new state.
133 * defs.h (struct state_st): New type for the states. The states
134 can be ~inherited, so we can't use the basic list anymore.
136 1998-09-17 Markku Rossi <mtr@ngs.fi>
138 * enscript.st: Updated C, C++, and Objective-C mode highlightings
139 to support bitfields in structure definitions. Thanks to Chris
140 Jepeway <jepeway@cs.utk.edu>.
142 1998-08-03 Markku Rossi <mtr@ngs.fi>
144 * enscript.st: New highlighting rules for: bash, csh, ksh, m4,
145 skill, tcsh, and zsh. Thanks to Jean-Marc Calvez
146 <jean-marc.calvez@st.com>.
147 (fortran): Some fortran highlighting fixes. Thanks to Philip
150 1998-07-01 Markku Rossi <mtr@ngs.fi>
152 * enscript.st (c, cpp, objc): Major updates. Now these are pretty
153 close to Emacs' font-lock mode.
154 (html_faces): Changed type faces to be printed in boldface instead
156 (start): Changed `type_face_font' to be the `bold_font' instead of
159 1998-06-26 Markku Rossi <mtr@ngs.fi>
161 * enscript.st (c): Added support for the C++'ish //-single line
164 1998-06-23 Markku Rossi <mtr@ngs.fi>
166 * enscript.st (html_faces): Cleaned up the HTML faces.
167 (start): Added support for `LucidaSans-Typewriter' font.
169 * main.c (main): Changed the name of the stdin to "-".
171 1998-06-22 Markku Rossi <mtr@ngs.fi>
173 * main.c (main): Enscript gives the stdin as an empty argument.
174 Fixed the main() to handle it.
176 1998-06-11 Markku Rossi <mtr@ngs.fi>
178 * enscript.st: Fixed Python function definition highlighting.
179 Thanks to Andy Eskilsson <andy.eskilsson@telelogic.se>.
181 1998-05-29 Markku Rossi <mtr@ngs.fi>
183 * enscript.st (idl): Added highlighting for the CORBA Interface
184 Definition Language IDL. Thanks to Alexis Layton
185 <alex@InConcert.COM>.
187 1998-05-27 Markku Rossi <mtr@ngs.fi>
189 * enscript.st (javascript): Updated the function name regexp. The
190 function names - and all other symbols - can contain the dollar
192 (javascript): Fixed ''-strings and character constants.
194 1998-03-09 Markku Rossi <mtr@ngs.fi>
196 * enscript.st (vba): Added highlighting for Visual Basic (for
197 Applications). Thanks to Kevin Grover <grover@wizard.com>.
198 Added new output language RTF (Rich Text Format). Thanks to Kevin
199 Grover <grover@wizard.com>.
200 (python): Updated Python highlighting rules.
202 1998-02-27 Markku Rossi <mtr@ngs.fi>
204 * enscript.st (python): Added highlighting for the Python
205 language. Thanks to Andy Eskilsson <andy.eskilsson@telelogic.se>.
206 (asm): Added highlighting rules for Assembler listings.
208 1998-02-11 Markku Rossi <mtr@ngs.fi>
210 * enscript.st (javascript): Initialize from_html to 0 at the
211 global level. Now we can print JavaScript files that are not
214 1998-01-29 Markku Rossi <mtr@ngs.fi>
216 * enscript.st (perl): Fixed to handle oddities in OO perl and perl
217 used for cgi scripts. Thanks to Jim Villani.
219 1998-01-28 Markku Rossi <mtr@ngs.fi>
221 * enscript.st (sh): Added highlighting for bourne shell scripts.
222 Thanks to Juergen Kahrs <Juergen.Kahrs@t-online.de>.
223 (startrules): Fixed perl and awk rules to accept space after
226 1998-01-20 Markku Rossi <mtr@ngs.fi>
228 * enscript.st (awk): Added highlighting for awk. Thanks to
229 Juergen Kahrs <Juergen.Kahrs@t-online.de>.
231 1997-12-31 Markku Rossi <mtr@ngs.fi>
233 * enscript.st (namerules): Added suffix `.pm' for perl mode.
234 (startrules): Fixed perl mode to recognize files which start with
237 1997-12-30 Markku Rossi <mtr@ngs.fi>
239 * enscript.st: Added colors `cadet blue' and `orchid'.
240 Fixed `emacs' color model to conform the emacs' defaults.
241 (changelog): Updated ChangeLog highlighting to conform emacs.
243 1997-12-17 Markku Rossi <mtr@ngs.fi>
245 * utils.c (lookup_var): Made special variable `$`' an alias for
248 1997-12-15 Markku Rossi <mtr@ngs.fi>
250 * enscript.st (html_faces): Added navigation links: top, next,
252 (start): New colormode `ifh'. Thanks to Tobias Buchal
253 <buch@ifh.bau-verm.uni-karlsruhe.de>
254 (diff): Added highlighting for diffs. Thanks to Tobias Buchal.
255 (diffu): Added highlighting for unified diffs. Thanks to Tobias
257 (html_annotate_mailtos): Fixed addresses which contain '-'
259 (html_annotate_mailtos): Fixed addresses which contain '.'
260 characters in the user name.
262 1997-11-13 Markku Rossi <mtr@ngs.fi>
264 * enscript.st (delphi): Added support for C++ style comments.
265 (fortran): Updated Fortran highlighting. Thanks to Keith Refson
266 <Keith.Refson@earth.ox.ac.uk>.
268 1997-08-27 Markku Rossi <mtr@ngs.fi>
270 * prims.c (prim_regexp_syntax): New primitive to modify regexp
271 engine's character syntax table.
273 * enscript.st (scheme): Improved keyword highlighting, thanks to
274 the new regexp_syntax() primitive which can be used to modify
275 regexp character syntax table.
277 1997-08-11 Markku Rossi <mtr@ngs.fi>
279 * enscript.st (start): Fixed PostScript font resolving to work
280 with the `Souvenir' font.
282 1997-07-18 Markku Rossi <mtr@ngs.fi>
284 * lex.l: Implemented case-insensitive regular expressions.
286 1997-07-16 Markku Rossi <mtr@ngs.fi>
288 * enscript.st (sql): Updated Sybase SQL highlighting rules, thanks
289 to Chris Jack <chris_jack@msn.com>.
291 1997-07-04 Markku Rossi <mtr@ngs.fi>
293 * utils.c (compile_regexp): New function to handle regular
294 expression compilations.
295 (compile_regexp): Added fastmaps for regexps, this speeds up the
296 processing noticeably.
298 1997-06-23 Markku Rossi <mtr@ngs.fi>
300 * enscript.st (sql): Added highlighting for SQL language by
301 Chris Jack <chris_jack@msn.com>.
303 * utils.c (lookup_var): Renamed special variable `$`' to `$B'.
305 * enscript.st (perl): Added highlighting for Perl programming
306 language by Jim Villani, Logistics Management Institute
309 1997-06-10 Markku Rossi <mtr@ngs.fi>
311 * utils.c (lookup_var): New special variable `$.'.
312 (lookup_var): New special variable `$`'.
314 1997-06-06 Markku Rossi <mtr@ngs.fi>
316 * prims.c (prim_float): New primitive to convert items to float
319 1997-06-03 Markku Rossi <mtr@ngs.fi>
321 * enscript.st (c): Improved C pre-processor line highlighting to
322 highlights also string and character constansts.
323 (c): Added highlighting for goto's labels and targets.
324 (c): Added highlighting for function definitions and prototypes.
325 (changelog): Added highlighting for description entries with
326 function name but without file name.
327 (cpp): Added highlighting for goto's labels and targes.
328 (cpp): Added highlighting for function definitions and
330 (objc): Added highlighting for goto's labels and targets.
332 1997-05-20 Markku Rossi <mtr@ngs.fi>
334 * enscript.st (delphi): Added highlighting for Delphi language by
335 Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>.
337 * main.c (main): Moved the initialization of `ofp' from the
338 variable declaration to main().
340 1997-05-02 Markku Rossi <mtr@ngs.fi>
342 * enscript.el (build-re): Added support for case-insensitive
345 * enscript.st (fortran): Added highlighting for Fortran77
347 Re-generated case-insensitive keyword regular expressions with the
348 new build-re function.
350 1997-04-25 Markku Rossi <mtr@ngs.fi>
352 * enscript.st (pascal): Added highlighting for Pascal language by
353 Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>.
355 1997-04-16 Markku Rossi <mtr@ngs.fi>
357 * gram.y: Implemented expressions: +=, -=, *=, div=.
359 1997-04-14 Markku Rossi <mtr@ngs.fi>
361 * gram.y: Implemented prefix and postfix increment (++) and
362 decrement (--) operators.
364 1997-04-04 Markku Rossi <mtr@ngs.fi>
366 * enscript.st (java): Added highlighting for Java language by Paul
367 Fisher <pnfisher@eos.ncsu.edu>.
368 (html_faces): Fixed 1.5.0 compatibility bug.
370 1997-04-03 Markku Rossi <mtr@ngs.fi>
372 * prims.c (prim_range): New primitive to fetch sub-ranges from
374 Changed all primitives' error messages to be in format
375 `FILE:LINE: MESSAGE'.
377 1997-03-25 Markku Rossi <mtr@ngs.fi>
379 * prims.c (prim_regexp): New primitive to create regular
380 expressions from strings.
381 (prim_split): New primitive to split string to list.
383 1997-03-21 Markku Rossi <mtr@ngs.fi>
385 * enscript.st (html): Added support for nested scripts.
386 (javascript): Added highlighting for JavaScript.
388 1997-03-19 Markku Rossi <mtr@ngs.fi>
390 * enscript.st (need_version): New help subroutine to check that a
391 specified version of the states program is in use.
392 (html_faces): Changed HTML output language to co-operate with
393 enscript's new --language option.
394 (passthrough): New state which simply pass its input to output
395 preserving only face specific headers, footers and language
398 * main.c (main): New built-in variable `argv' which holds input
401 1997-03-17 Markku Rossi <mtr@ngs.fi>
403 * enscript.st (elisp): Added highlighting for Emacs Lisp.
404 (overstrike_faces): New output language `overstrike' for line
405 printers and less by François Pinard.
406 (tcl): Updated Tcl and Tk keywords from Tcl/Tk 8.0a1.
407 Added highlighting for procedure names and variable names.
408 (scheme): Fixed keywords to recognize `set!'.
410 1997-03-11 Markku Rossi <mtr@ngs.fi>
412 * enscript.st (states): Updated keyword list.
413 Implemented highlighting for built-in functions.
414 Added highlighting for function names.
416 1997-03-10 Markku Rossi <mtr@ngs.fi>
418 * enscript.st (postscript): Added highlighting for PostScript
419 language by Dave Hylands <DHylands@creo.com>.
420 Sorted highlighting states according to their names.
422 1997-03-06 Markku Rossi <mtr@ngs.fi>
424 * enscript.st: Implemented new `variable_name_face' typeface.
425 (c_ppline): Implemented a smarter C preprocessor line highlighting
426 support. Now it should be identical with Emacs's highlight.
428 1997-03-04 Markku Rossi <mtr@ngs.fi>
430 * enscript.st (ada): Added highlighting for the Ada95 programming
431 language by Rolf Ebert <ebert@waporo.muc.de>.
433 1997-03-03 Markku Rossi <mtr@ngs.fi>
435 * enscript.st (start): Cleaned bold, italic and bold-italic font
437 (makefile): Fixed highlighting to handle nested (){} structures.
438 (scheme): Updated to highlight function names and ':'-started
441 1997-02-27 Markku Rossi <mtr@ngs.fi>
443 * enscript.st: Implemented new type faces: `builtin_face' and
445 (haskell): Added highlighting for the Haskell programming language
446 by Hans-Wolfgang Loidl <hwloidl@dcs.gla.ac.uk>.
447 Updated highlighting rule guidelines and updated all current rules
449 Implemented new documentation state `describe_languages_html'
450 which will create a HTML report about all supported highlighting
453 1997-02-26 Markku Rossi <mtr@ngs.fi>
455 * Release enscript-1.5.0.
457 1997-02-21 Markku Rossi <mtr@ngs.fi>
459 * gram.y: Implemented logical operators `not', `and' and `or'.
461 * main.c: New option -W, --warning to set the warning level.
463 * Added test subdirectory and tests for States.
465 1997-02-19 Markku Rossi <mtr@ngs.fi>
467 * enscript.st (synopsys): Added highlighting for the Synopsys DC
468 Shell scripting language by Brian Silveira (brian@nortel.ca) and
469 Hartley Horwitz (harts@nortel.ca).
470 (synopsys): New synopsys mode with some minor fixes.
472 1997-02-18 Markku Rossi <mtr@ngs.fi>
474 * enscript.st: Added guidelines for new highlighting rules.
475 (vhdl): Added VHDL highlighting by Brian Silveira
478 1997-02-11 Markku Rossi <mtr@ngs.fi>
480 * enscript.st (verilog): Added new '`' keywords.
481 (verilog): Added highlighting for references of the pre-processor
484 1997-02-05 Markku Rossi <mtr@ngs.fi>
486 * prims.c (prim_tointeger): Renamed primitive `tonumber' to
488 (prim_string): Renamed primitive `tostring' to `string'.
489 (prim_sprintf): New primitive to create formatted strings.
491 * utils.c (eval_expr): Implemented integer and real values and
492 expressions and conversions betweeen them.
494 * prims.c (prim_concat): Renamed primitive `strcat' to `concat'.
496 1997-02-04 Markku Rossi <mtr@ngs.fi>
498 * prims.c (prim_list): New primitive `list' to create lists.
499 (prim_length): Renamed primitive `strlen' to `length'.
501 * gram.y: Implemented array references and assignments for lists
504 * lex.l: Implemented C's character constants ('a').
506 1997-02-03 Markku Rossi <mtr@ngs.fi>
508 * enscript.st: Added `describe_languages' state which can be used
509 to extract information about the supported --pretty-print
510 languages from the enscript.st file.
511 Added documentation comments (/** */) to all supported languages
513 Changed start state resolving to check the startrules before the
515 Added colors for HTML target.
517 * Fixed bugs encountered with enscript-1.4.4.
518 Updated developement tools: flex-2.5.4 and bison-1.25.
520 1997-01-31 Markku Rossi <mtr@ngs.fi>
522 * prims.c (prim_prereq): New primitive to check that a recent
523 enough version of States is being used.
525 1997-01-25 Markku Rossi <mtr@ngs.fi>
527 * enscript.st (changelog): Implemented ChangeLog highlighting.
529 * enscript.el: Emacs lisp commands to help enscript.st editing.
531 * enscript.st (objc): Implemented Objective-C highlighting.
532 Regenerated keyword regular expressions with the Emacs-lisp
535 1997-01-24 Markku Rossi <mtr@ngs.fi>
537 * prims.c: New primitives: regmatch, regsub and regsuball.
539 1997-01-23 Markku Rossi <mtr@ngs.fi>
541 * prims.c (prim_getenv): New primitive: getenv.
543 * Makefile.am: Moved libcompat.a before libintl.a so intl library
546 * De-ANSI-fied states sources since bison generated gram.c is
549 1997-01-22 Markku Rossi <mtr@ngs.fi>
551 * Makefile.am: Added many2html script.
553 * enscript.st: Added support for multiple output languages and
554 implemented HTML target for all supported input languages.
556 * gram.y: changed top-level expressions to statements and moved
557 subroutine definition from top-level to statements. This allows
558 conditional subroutine definitions.
559 added tSYMBOL for state rule's expr part. This allows
560 user-definable matches.
562 1997-01-20 Markku Rossi <mtr@ngs.fi>
564 * enscript.st (tcl): Implemented Tcl highlighting.
566 * defs.h (struct environment_st): Changed procedure call's
567 environment from StringHash to linked list, this gives major
570 * Version 0.9 of States, this is an early beta.
573 Copyright (C) 1997, 1998, 1999, 2008 Free Software Foundation, Inc.
575 Copying and distribution of this file, with or without modification,
576 are permitted in any medium without royalty provided the copyright
577 notice and this notice are preserved.