Makefile.am (SUBDIRS): Remove duplicate intl.
[enscript.git] / states / ChangeLog
1 1999-09-24  Markku Rossi  <mtr@amme.ssh.fi>
2
3         * utils.c (eval_expr): Added filename and linenumber information
4         to some error messages.
5
6 1999-07-19  Markku Rossi  <mtr@amme.ssh.fi>
7
8         * enscript.st (mail_body): Changes by Matthew Weigel
9         <weigel@pitt.edu>.
10
11         * prims.c (prim_sprintf): Implemented `%c' format to print
12         characters.
13
14 1999-07-13  Markku Rossi  <mtr@amme.ssh.fi>
15
16         * utils.c (lookup_var): Fixed memory leaks from the special
17         variable lookup.
18
19 1999-07-08  Markku Rossi  <mtr@amme.ssh.fi>
20
21         * enscript.st: Highlighting rules for TeX/LaTeX.  Thanks to Toni
22         Giorgino <toni@pcape2.pi.infn.it>.
23
24 1999-04-28  Markku Rossi  <mtr@amme.ssh.fi>
25
26         * prims.c (prim_system): Implemented the system() primitive.
27
28 1999-04-01  Markku Rossi  <mtr@amme.ssh.fi>
29
30         * enscript.st (namerules): Changed the `.m' suffix from
31         Objective-C to Matlab.
32         Matlab changes Jack Dunn.
33
34 1999-03-30  Markku Rossi  <mtr@amme.ssh.fi>
35
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>.
39
40 1999-03-12  Markku Rossi  <mtr@amme.ssh.fi>
41
42         * enscript.st (makefile): Added highlighting for Matlab files.
43         Thanks to Jack Dunn <h.j.dunn@larc.nasa.gov>.
44
45 1999-01-07  Markku Rossi  <mtr@amme.ssh.fi>
46
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
50         Buchal.
51
52 1998-10-28  Markku Rossi  <mtr@ngs.fi>
53
54         * process.c (execute_state): Added initialization for the variable
55         `found'.
56
57 1998-10-23  Markku Rossi  <mtr@ngs.fi>
58
59         * Makefile.am: Changed the enscript to use the new highlighting
60         style.  The highlighting definition files are in the `hl'
61         sub-directory.
62
63         * prims.c (prim_calln): New primitive function to call a state by
64         its name.
65         (prim_require_state): New primitive function to check that the
66         arugment state is defined.
67
68         * main.c (main): Use PATH_SEPARATOR when constructing the path.
69
70         * utils.c (autoload_file): Fixed to use PATH_SEPARATOR.
71
72 1998-10-22  Markku Rossi  <mtr@ngs.fi>
73
74         * enscript.st (vrml): Added built-in nodes.  Thanks to James
75         Sørlie.
76
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.
80
81         * enscript.st (vrml): Small fixes by James Sørlie.
82         (overstrike_faces): Fixed to handle newline characters correctly
83         in the bold mode.
84
85 1998-10-21  Markku Rossi  <mtr@ngs.fi>
86
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.
92
93         * process.c: The function lookup_state() was moved to utils.c and
94         made global.
95
96         * main.c: New options -p, --path, -v, --verbose.
97
98         * defs.h: Added `filename' members to all types that report errors
99         from a source file locations.
100         Added support for state autoloading.
101
102         * enscript.st (vrml): Small fixes by James Sørlie.
103
104         * process.c (execute_state): Fixed to execute the BEGIN and END
105         rules of the inherited states.
106
107         * enscript.st (vrml): Added highlighting for the Virtual Reality
108         Modeling Language (VRML97).  Thanks to James Sørlie
109         <sorliej@imm.dtu.dk>.
110
111 1998-10-15  Markku Rossi  <mtr@ngs.fi>
112
113         * gram.y: Added support for state inheritance.
114
115         * lex.l: New keyword `extends'.
116
117         * process.c (lookup_state): New function to lookup a state by its
118         name.  This function is extented in the future to support
119         autoloading.
120         (execute_state): Fixed to support state heritance.
121
122         * utils.c (define_state): Added argument `super' for the super
123         state of our new state.
124
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.
127
128 1998-09-17  Markku Rossi  <mtr@ngs.fi>
129
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>.
133
134 1998-08-03  Markku Rossi  <mtr@ngs.fi>
135
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
140         Sterne.
141
142 1998-07-01  Markku Rossi  <mtr@ngs.fi>
143
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
147         of italic.
148         (start): Changed `type_face_font' to be the `bold_font' instead of
149         `italic_font'.
150
151 1998-06-26  Markku Rossi  <mtr@ngs.fi>
152
153         * enscript.st (c): Added support for the C++'ish //-single line
154         comments.
155
156 1998-06-23  Markku Rossi  <mtr@ngs.fi>
157
158         * enscript.st (html_faces): Cleaned up the HTML faces.
159         (start): Added support for `LucidaSans-Typewriter' font.
160
161         * main.c (main): Changed the name of the stdin to "-".
162
163 1998-06-22  Markku Rossi  <mtr@ngs.fi>
164
165         * main.c (main): Enscript gives the stdin as an empty argument.
166         Fixed the main() to handle it.
167
168 1998-06-11  Markku Rossi  <mtr@ngs.fi>
169
170         * enscript.st: Fixed Python function definition highlighting.
171         Thanks to Andy Eskilsson <andy.eskilsson@telelogic.se>.
172
173 1998-05-29  Markku Rossi  <mtr@ngs.fi>
174
175         * enscript.st (idl): Added highlighting for the CORBA Interface
176         Definition Language IDL.  Thanks to Alexis Layton
177         <alex@InConcert.COM>.
178
179 1998-05-27  Markku Rossi  <mtr@ngs.fi>
180
181         * enscript.st (javascript): Updated the function name regexp.  The
182         function names - and all other symbols - can contain the dollar
183         sign.
184         (javascript): Fixed ''-strings and character constants.
185
186 1998-03-09  Markku Rossi  <mtr@ngs.fi>
187
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.
193
194 1998-02-27  Markku Rossi  <mtr@ngs.fi>
195
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.
199
200 1998-02-11  Markku Rossi  <mtr@ngs.fi>
201
202         * enscript.st (javascript): Initialize from_html to 0 at the
203         global level.  Now we can print JavaScript files that are not
204         embedded to HTML.
205
206 1998-01-29  Markku Rossi  <mtr@ngs.fi>
207
208         * enscript.st (perl): Fixed to handle oddities in OO perl and perl
209         used for cgi scripts.  Thanks to Jim Villani.
210
211 1998-01-28  Markku Rossi  <mtr@ngs.fi>
212
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
216         `#!'.
217
218 1998-01-20  Markku Rossi  <mtr@ngs.fi>
219
220         * enscript.st (awk): Added highlighting for awk.  Thanks to
221         Juergen Kahrs <Juergen.Kahrs@t-online.de>.
222
223 1997-12-31  Markku Rossi  <mtr@ngs.fi>
224
225         * enscript.st (namerules): Added suffix `.pm' for perl mode.
226         (startrules): Fixed perl mode to recognize files which start with
227         `#!...perl'.
228
229 1997-12-30  Markku Rossi  <mtr@ngs.fi>
230
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.
234
235 1997-12-17  Markku Rossi  <mtr@ngs.fi>
236
237         * utils.c (lookup_var): Made special variable `$`' an alias for
238         `$B'.
239
240 1997-12-15  Markku Rossi  <mtr@ngs.fi>
241
242         * enscript.st (html_faces): Added navigation links: top, next,
243         prev.
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
248         Buchal.
249         (html_annotate_mailtos): Fixed addresses which contain '-'
250         characters.
251         (html_annotate_mailtos): Fixed addresses which contain '.'
252         characters in the user name.
253
254 1997-11-13  Markku Rossi  <mtr@ngs.fi>
255
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>.
259
260 Wed Aug 27 14:36:12 1997  Markku Rossi  <mtr@ngs.fi>
261
262         * prims.c (prim_regexp_syntax): New primitive to modify regexp
263         engine's character syntax table.
264
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.
268
269 Mon Aug 11 10:31:55 1997  Markku Rossi  <mtr@ngs.fi>
270
271         * enscript.st (start): Fixed PostScript font resolving to work
272         with the `Souvenir' font.
273
274 Fri Jul 18 10:34:27 1997  Markku Rossi  <mtr@ngs.fi>
275
276         * lex.l: Implemented case-insensitive regular expressions.
277
278 Wed Jul 16 12:50:27 1997  Markku Rossi  <mtr@ngs.fi>
279
280         * enscript.st (sql): Updated Sybase SQL highlighting rules, thanks
281         to Chris Jack <chris_jack@msn.com>.
282
283 Fri Jul  4 09:11:37 1997  Markku Rossi  <mtr@ngs.fi>
284
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.
289
290 Mon Jun 23 09:39:41 1997  Markku Rossi  <mtr@ngs.fi>
291
292         * enscript.st (sql): Added highlighting for SQL language by
293         Chris Jack <chris_jack@msn.com>.
294
295         * utils.c (lookup_var): Renamed special variable `$`' to `$B'.
296
297         * enscript.st (perl): Added highlighting for Perl programming
298         language by Jim Villani, Logistics Management Institute
299         (jvillani@lmi.org).
300
301 Tue Jun 10 10:46:31 1997  Markku Rossi  <mtr@ngs.fi>
302
303         * utils.c (lookup_var): New special variable `$.'.
304         (lookup_var): New special variable `$`'.
305
306 Fri Jun  6 14:05:38 1997  Markku Rossi  <mtr@ngs.fi>
307
308         * prims.c (prim_float): New primitive to convert items to float
309         numbers.
310
311 Tue Jun  3 11:23:59 1997  Markku Rossi  <mtr@ngs.fi>
312
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
321         prototypes.
322         (objc): Added highlighting for goto's labels and targets.
323
324 Tue May 20 09:21:05 1997  Markku Rossi  <mtr@ngs.fi>
325
326         * enscript.st (delphi): Added highlighting for Delphi language by
327         Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>.
328
329         * main.c (main): Moved the initialization of `ofp' from the
330         variable declaration to main().
331
332 Fri May  2 10:59:22 1997  Markku Rossi  <mtr@ngs.fi>
333
334         * enscript.el (build-re): Added support for case-insensitive
335         regular expressions.
336
337         * enscript.st (fortran): Added highlighting for Fortran77
338         language.
339         Re-generated case-insensitive keyword regular expressions with the
340         new build-re function.
341
342 Fri Apr 25 09:24:34 1997  Markku Rossi  <mtr@ngs.fi>
343
344         * enscript.st (pascal): Added highlighting for Pascal language by
345         Michael Van Canneyt <michael@tfdec1.fys.kuleuven.ac.be>.
346
347 Wed Apr 16 10:14:39 1997  Markku Rossi  <mtr@ngs.fi>
348
349         * gram.y: Implemented expressions: +=, -=, *=, div=.
350
351 Mon Apr 14 17:08:00 1997  Markku Rossi  <mtr@ngs.fi>
352
353         * gram.y: Implemented prefix and postfix increment (++) and
354         decrement (--) operators.
355
356 Fri Apr  4 09:20:20 1997  Markku Rossi  <mtr@ngs.fi>
357
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.
361
362 Thu Apr  3 10:24:32 1997  Markku Rossi  <mtr@ngs.fi>
363
364         * prims.c (prim_range): New primitive to fetch sub-ranges from
365         lists and strings.
366         Changed all primitives' error messages to be in format
367         `FILE:LINE: MESSAGE'.
368
369 Tue Mar 25 12:40:56 1997  Markku Rossi  <mtr@ngs.fi>
370
371         * prims.c (prim_regexp): New primitive to create regular
372         expressions from strings.
373         (prim_split): New primitive to split string to list.
374
375 Fri Mar 21 11:37:18 1997  Markku Rossi  <mtr@ngs.fi>
376
377         * enscript.st (html): Added support for nested scripts.
378         (javascript): Added highlighting for JavaScript.
379
380 Wed Mar 19 12:02:17 1997  Markku Rossi  <mtr@ngs.fi>
381
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
388         specials.
389
390         * main.c (main): New built-in variable `argv' which holds input
391         file names.
392
393 Mon Mar 17 09:46:45 1997  Markku Rossi  <mtr@ngs.fi>
394
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!'.
401
402 Tue Mar 11 16:20:12 1997  Markku Rossi  <mtr@ngs.fi>
403
404         * enscript.st (states): Updated keyword list.
405         Implemented highlighting for built-in functions.
406         Added highlighting for function names.
407
408 Mon Mar 10 11:50:04 1997  Markku Rossi  <mtr@ngs.fi>
409
410         * enscript.st (postscript): Added highlighting for PostScript
411         language by Dave Hylands <DHylands@creo.com>.
412         Sorted highlighting states according to their names.
413
414 Thu Mar  6 11:05:13 1997  Markku Rossi  <mtr@ngs.fi>
415
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.
419
420 Tue Mar  4 11:40:40 1997  Markku Rossi  <mtr@ngs.fi>
421
422         * enscript.st (ada): Added highlighting for the Ada95 programming
423         language by Rolf Ebert <ebert@waporo.muc.de>.
424
425 Mon Mar  3 12:03:16 1997  Markku Rossi  <mtr@ngs.fi>
426
427         * enscript.st (start): Cleaned bold, italic and bold-italic font
428         resolving.
429         (makefile): Fixed highlighting to handle nested (){} structures.
430         (scheme): Updated to highlight function names and ':'-started
431         function arguments.
432
433 Thu Feb 27 09:34:49 1997  Markku Rossi  <mtr@ngs.fi>
434
435         * enscript.st: Implemented new type faces: `builtin_face' and
436         `type_face'.
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
440         to obey them.
441         Implemented new documentation state `describe_languages_html'
442         which will create a HTML report about all supported highlighting
443         formats.
444 \f
445 Wed Feb 26 09:42:52 1997  Markku Rossi  <mtr@ngs.fi>
446
447         * Release enscript-1.5.0.
448
449 Fri Feb 21 09:48:04 1997  Markku Rossi  <mtr@ngs.fi>
450
451         * gram.y: Implemented logical operators `not', `and' and `or'.
452
453         * main.c: New option -W, --warning to set the warning level.
454
455         * Added test subdirectory and tests for States.
456
457 Wed Feb 19 14:58:36 1997  Markku Rossi  <mtr@ngs.fi>
458
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.
463
464 Tue Feb 18 08:59:46 1997  Markku Rossi  <mtr@ngs.fi>
465
466         * enscript.st: Added guidelines for new highlighting rules.
467         (vhdl): Added VHDL highlighting by Brian Silveira
468         (brian@nortel.ca).
469
470 Tue Feb 11 14:08:25 1997  Markku Rossi  <mtr@ngs.fi>
471
472         * enscript.st (verilog): Added new '`' keywords.
473         (verilog): Added highlighting for references of the pre-processor
474         defined things.
475
476 Wed Feb  5 10:29:07 1997  Markku Rossi  <mtr@ngs.fi>
477
478         * prims.c (prim_tointeger): Renamed primitive `tonumber' to
479         `int'.
480         (prim_string): Renamed primitive `tostring' to `string'.
481         (prim_sprintf): New primitive to create formatted strings.
482
483         * utils.c (eval_expr): Implemented integer and real values and
484         expressions and conversions betweeen them.
485
486         * prims.c (prim_concat): Renamed primitive `strcat' to `concat'.
487
488 Tue Feb  4 16:40:23 1997  Markku Rossi  <mtr@ngs.fi>
489
490         * prims.c (prim_list): New primitive `list' to create lists.
491         (prim_length): Renamed primitive `strlen' to `length'.
492
493         * gram.y: Implemented array references and assignments for lists
494         and strings.
495
496         * lex.l: Implemented C's character constants ('a').
497
498 Mon Feb  3 11:34:14 1997  Markku Rossi  <mtr@ngs.fi>
499
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
504         and file formats.
505         Changed start state resolving to check the startrules before the
506         namerules.
507         Added colors for HTML target.
508
509         * Fixed bugs encountered with enscript-1.4.4.
510         Updated developement tools: flex-2.5.4 and bison-1.25.
511
512 Fri Jan 31 15:24:44 1997  Markku Rossi  <mtr@ngs.fi>
513
514         * prims.c (prim_prereq): New primitive to check that a recent
515         enough version of States is being used.
516
517 Sat Jan 25 17:27:50 1997  Markku Rossi  <mtr@ngs.fi>
518
519         * enscript.st (changelog): Implemented ChangeLog highlighting.
520
521         * enscript.el: Emacs lisp commands to help enscript.st editing.
522
523         * enscript.st (objc): Implemented Objective-C highlighting.
524         Regenerated keyword regular expressions with the Emacs-lisp
525         build-re command.
526
527 Fri Jan 24 19:13:38 1997  Markku Rossi  <mtr@ngs.fi>
528
529         * prims.c: New primitives: regmatch, regsub and regsuball.
530
531 Thu Jan 23 11:49:25 1997  Markku Rossi  <mtr@ngs.fi>
532
533         * prims.c (prim_getenv): New primitive: getenv.
534
535         * Makefile.am: Moved libcompat.a before libintl.a so intl library
536         can use alloca.
537
538         * De-ANSI-fied states sources since bison generated gram.c is
539         already in K&R.
540
541 Wed Jan 22 00:57:09 1997  Markku Rossi  <mtr@ngs.fi>
542
543         * Makefile.am: Added many2html script.
544
545         * enscript.st: Added support for multiple output languages and
546         implemented HTML target for all supported input languages.
547
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.
553
554 Mon Jan 20 01:14:02 1997  Markku Rossi  <mtr@ngs.fi>
555
556         * enscript.st (tcl): Implemented Tcl highlighting.
557
558         * defs.h (struct environment_st): Changed procedure call's
559         environment from StringHash to linked list, this gives major
560         speedup.
561
562         * Version 0.9 of States, this is an early beta.