Fix some typos.
[enscript.git] / NEWS
1
2                       What's new in GNU enscript
3                       --------------------------
4
5 Summary of changes in enscript version 1.6.5.2:
6
7 * Fix CFG_FATAL macro in util.c; this prevents a segmentation fault
8   when the configuration file contains unknown parameters. (Savannah
9   bug #28769)
10
11 * Fix segmentation fault with line lengths over 90 characters.
12   (Savannah bug #29198)
13
14 Summary of changes in enscript version 1.6.5.1:
15
16 * Typo corrections in the manual pages.
17
18 * Reorganise source tree to use a single ChangeLog file.
19
20 * Actually ship f90.st in the tarball.
21
22 * Reorganise INSTALL and README.
23
24 \f
25 Noteworthy changes in enscript version 1.6.5:
26
27 * New maintainer.
28
29 * Licensing change: GNU Enscript is now distributed under version 3 or
30   later of the GNU GPL.
31
32 * Build system fixes - distcheck now passes.
33
34 * At least four security bug fixes:
35   - CAN-2004-1184
36   - CAN-2004-1185
37   - CAN-2004-1186
38   - CVE-2008-3863, CVE-2008-4306
39
40 * Syntax highlighting fixes.
41   - shell escaping rules from Shawn McMahon.
42   - JavaScript regexps now recognised.
43   - New highlighting rules for Fortran 90 from David Bowler.
44
45 See changelogs for more detailed notes.
46
47 \f
48 Noteworthy changes in enscript version 1.6.4:
49
50 * Unknown - to be filled in at a later date.
51
52 \f
53 Noteworthy changes in enscript version 1.6.3:
54
55 * Changes in the highlighting / pretty printing
56
57   - The `States*' config file options have changed.  The new options
58     are:
59       - StatesBinary            specify an absolute path for `states'
60       - StatesColor             use colors in the highlighting outputs?
61       - StatesConfigFile        config file name (enscript.st)
62       - StatesHighlightStyle    highlighting style
63       - StatesPath              path from which the states is looking
64                                 up the state definition files (.st)
65
66   - Support for user defined local highlighting definitions and styles.
67   - new option `--style=STYLE' to specify the highlighting style
68   - Verbose highlighting for the C, C++, and Objective-C languages.
69     In the verbose highlighting, some mathematical constructs (&&, ||,
70     !=, etc.) are replaced with the corresponding mathematical symbols
71     (logical and, logical or, not equal, etc.).  The mode can be
72     enabled with option `--style=emacs_verbose'.
73   - renamed `--pretty-print' and `--help-pretty-print' options to
74     `--highlight' and `--help-highlight'
75
76 * states:
77
78   - Support for state inheritance.
79
80 * new highlighting rules:
81
82   - bash, csh, ksh, tcsh, zsh
83                 Unix shells
84   - m4          m4 macro preprocessor
85   - skill       Cadence Design Systems lispy language
86   - vrml        Virtual Reality Modeling Language (VRML97)
87   - rfc         fix broken page breaks in RFCs and in Internet Drafts
88   - inf         GUI INF Script language
89   - matlab      Matlab files
90   - outline     Emacs' outline text
91   - tex         TeX/LaTeX source files.
92   - diffs       side diff files
93   - fortran_pp  fortran 77 with preprocessor
94   - wmlscript   WMLScript language
95
96   - new output language `ansi' to print color outputs on color xterm,
97     etc.
98
99 * new encodings:
100
101   - 88599       ISO-8859-9 (ISO Latin5)
102   - 885910      ISO-8859-10 (ISO Latin6)
103
104 * new options:
105
106   - -3, -4, -5, -6, -7, -8, -9  select 3-9 columns
107   - --nup-columnwise            layout pages in the N-up printing
108                                 columnwise
109   - --swap-even-page-margins    swap left and right side margins for
110                                 even numbered pages
111   - --extended-return-values    encode more status information in the
112                                 return value of the program
113   - --footer=STRING             specify the page footer string
114
115 * misc:
116
117   - It is possible to specify the font encoding in the ^@font{}
118     escape.  But, it allows only `ps' or the enscript's global input
119     encoding values.  For example, ^@font{Symbol@7:ps}b^@font{default}
120     prints the beta symbol
121   - New escape ^@bgcolor{} to change the text background color.
122   - New fancy headers `squeeze' and `enscript-color'.
123   - Minor fixes in the 88593 and 88594 encodings.
124   - New highlighting style `msvc'.
125   - Support for the matrix printers.  Try `enscript -fMatrix10' ;-)
126   - Fixed some buffer overrun bugs.  Now all buffer space for unknown
127     items (filenames, user-supplied tokens, etc.) is allocated
128     dynamically.
129   - Removed the `--list-options' option.  It was an old debugging
130     option.  I can remember when I have used or updated it.
131
132 \f
133 Noteworthy changes in enscript version 1.6.1:
134
135 * new options:
136
137   - --ps-level=LEVEL, PostScriptLevel
138                         set the PostScript language level that
139                         enscript should use for its output
140   - --rotate-even-pages
141                         Rotate each even-numbered page 180 degrees.
142
143 * misc
144
145   - updated C, C++, and Objective-C highlighting
146   - set the states to process the stdin if argument "-" is given
147   - bug and portability fixes
148
149 \f
150 Noteworthy changes in enscript version 1.6:
151
152 * new options:
153
154   - StatesPath          define absolute path for the states program
155   - GeneratePageSize    specify wheter the PageSize page device
156                         setting is generated to the output
157   - -C, --line-numbers  option takes an optional argument to specify
158                         the number of the first line in the input
159   - -W, --language=LANG set ouput language to LANG
160   - --h-column-height=HEIGHT
161                         set the horizontal column height to HEIGHT
162                         PostScript points
163   - --mark-wrapped-lines[=STYLE], MarkWrappedLines
164                         mark wrapped lines in the printout with STYLE
165   - --margins=LEFT:RIGHT:TOP:BOTTOM
166                         adjust page marginals
167   - --nup-xpad=NUM      set the page x-padding of N-up printing to NUM
168   - --nup-ypad=NUM      set the page y-padding of N-up printing to NUM
169   - --word-wrap         wrap long lines from word boundaries
170
171 * new highlighting rules:
172
173   - ada         Ada95 programming language
174   - asm         assembler listings
175   - awk         awk scripting language
176   - delphi      Delphi programming language
177   - diff        diff files
178   - diffu       unified diff files
179   - elisp       Emacs Lisp
180   - fortran     Fortran77 programming language
181   - haskell     Haskell programming language
182   - idl         CORBA interface definition language
183   - java        Java programming language
184   - javascript  JavaScript language
185   - pascal      Pascal programming language
186   - perl        Perl programming language
187   - postscript  PostScript
188   - python      Python programming language
189   - sh          Bourne shell scripts
190   - sql         Sybase 11 SQL
191   - vba         Visual Basic (for Applications)
192
193   - improved C, C++ and Objective-C highlighting
194
195 * new special escapes:
196
197   - ^@bggray{GRAY} change text's background color
198   - ^@escape{CODE} changes the escape character
199
200 * new encodings:
201
202   - 88594       ISO-8859-4 (ISO Latin4)
203   - 88597       ISO-8859-7 (ISO Greek)
204
205 * misc:
206
207   - interpret formatting escapes from the page header strings
208   - page header string can contain left, center and right aligned
209     fields
210   - support for HTML, RTF (Rich Text Format) and overstrike output
211     languages
212   - fixed tabulator character handling with variable width fonts
213   - added support for regular expression character syntax tables in
214     the states program
215   - generates the PageSize page device setting to the PostScript
216     output -- this should make the printer to select the correct paper
217     tray automatically
218   - replaced all stdarg functions with macros
219   - fixed N-up printing to cooperate with the page margins
220   - renamed the ISO-8859-* input encoding names to conform their
221     ISO names
222 \f
223 Noteworthy changes in enscript version 1.5:
224
225 * new options:
226
227   -A ALIGN, --file-align=ALIGN
228                         align separate input files to even ALIGN page
229                         count
230   -E, --pretty-print    pretty print program source files with states
231   -U NUM, --nup=NUM     print NUM logical pages on each output page
232                         (N-up printing)
233   --help-pretty-print   describe all supported --pretty-print
234                         languages and file formats
235   --slice               print vertical slices of input files
236   --toc                 print table of contents
237
238 * config file options:
239
240   - TOCFormat           set the table-of-contents line format
241   - NoJobHeaderSwitch   set the spooler switch which disables job
242                         header (-h)
243   - OutputFirstLine     set output's fist line
244   - StatesColorModel    define color model for states
245   - StatesConfigFile    set states' config file
246   - StatesHighlightLevel
247                         define highlight level for states
248
249 * new utilities:
250
251   - sliceprint  print documents with long lines
252   - states      awk like state machine to highlight program listings
253   - many2html   convert files to HTML.  Program supports all file
254                 formats which can be pretty-printed with enscript.
255
256 * new encodings:
257
258   - koi8                Adobe Standard Cyrillic Font KOI8 charset
259   - 88595               ISO-8859-5 (ISO Cyrillic)
260   - asciifise           7 bit ascii with fi and se encodings for {|}[\]
261                         (old asciiscands)
262   - asciidkno           7 bit ascii with dk and no encodings for {|}[\]
263
264 * misc
265
266   - ^@color{r g b} special escape
267   - if input file (all input files) does not exist, enscript doesn't
268     generate any output
269   - -E, --pretty-print highlighting for: C, ChangeLog, C++, mail,
270     Makefile, nroff output, Objective-C, Scheme, States, Synopsys,
271     Tcl, Verilog, VHDL
272
273 \f
274 Noteworthy changes in enscript version 1.4:
275
276 * new and changed options:
277
278   -a, --pages           select pages to print
279   -e, --escapes         option takes an optional argument which
280                         changes the escape character
281   -h, --no-job-header   supress the job header page
282   --title               sets the name of stdin
283   -I, --filter          set input filter
284   -j, --borders         print borders around columns
285   -k, --page-prefeed    enable page prefeed
286   -K, --no-page-prefeed disable page prefeed
287   --highlight-bars      enable highlight bars
288   --highlight-bar-gray  set the gray-level for highlight bars
289   --printer-options     pass extra options to the printer command
290   --ul-style            specify how the underlay strings are printed
291
292   - renamed option `--page-header' to `--header'
293   - renamed option `--pass-through-ps-files' to `--pass-through'
294
295 * config file options:
296
297   - AcceptCompositeCharacters
298   - AppendCtrlD
299   - FormFeedType        what to do when a formfeed character is
300                         encountered from input
301   - EscapeChar          specify the escape character
302   - UnderlayStyle       how underlays are printed: outline / filled
303
304 * new fancy headers: mp, frame
305
306 * escapes:
307
308   - font        works now over page boundaries
309   - ps          include raw PostScript code to the output
310   - shade       new escape to highlight text regions
311   - setfilename
312   - setpagenumber
313   - newpage
314
315 * new encodings:
316   - hp8         HP Roman-8
317
318 * internationalization support with the GNU gettext
319
320 * changed to use GNU Automake
321
322 * program renamed from genscript to enscript
323
324 * new utility scripts:
325   - diffpp - pretty-print diff outputs
326
327 \f
328 Noteworthy changes in enscript version 1.3:
329
330 * new encodings:
331   - 88593       ISO-8859-3
332   - pslatin1    PostScript interpreter's ISOLatin1Encoding
333
334 * new fancy header: edd, a2ps
335
336 * option changes:
337   - option -Z, --pass-through-ps-files no longer wraps PS document
338     inside enscript prolog and epilog.
339
340   - renamed some options to conform the GNU coding standards:
341       --output-file     =>      --output
342       --queue           =>      --printer
343       --tab-size        =>      --tabsize
344
345   - new command line / config file options:
346     -z, --no-formfeed
347     --ul-angle                  UnderlayAngle
348     --ul-position               UnderlayPosition
349     --non-printable-format      NonPrintableFormat
350
351 * added some customization options to header description files:
352     %Format             format and define string constants according
353                         to format string
354     %HeaderHeight       explicit set the fancy header height
355     %FooterHeight       allocate space for the page footer
356
357   Note!  If you have defined your own fancy header, it will probably
358   not work on enscript-1.3 without modifications.  Following constants
359   are removed from the enscript prolog so you must define them with
360   the `%Format' comment:
361
362     usadatestr = %Format: usadatestr    %W
363     eurdatestr = %Format: eurdatestr    %E
364     findatestr = %Format: findatestr    %F
365     timestr    = %Format: timestr       %C
366     fmodstr    = %Format: fmodstr       $D{%a %b %e %T %Y}
367
368   Check `lib/*.hdr' to see them in action.
369
370 * the library directory has changed from `<prefix>/lib/enscript' to
371   `<prefix>/share/enscript'
372
373 * new Makefile targets: check, uninstall
374
375 * enscript must no longer be installed before it can be tested; you
376   can print files directly after you have compiled enscript.
377
378 * support for Windows95/NT via the Win32 api