2 What's new in GNU enscript
3 --------------------------
5 Summary of changes in enscript version 1.6.5.2:
7 * Fix CFG_FATAL macro in util.c; this prevents a segmentation fault
8 when the configuration file contains unknown parameters. (Savannah
11 * Fix segmentation fault with line lengths over 90 characters.
14 Summary of changes in enscript version 1.6.5.1:
16 * Typo corrections in the manual pages.
18 * Reorganise source tree to use a single ChangeLog file.
20 * Actually ship f90.st in the tarball.
22 * Reorganise INSTALL and README.
25 Noteworthy changes in enscript version 1.6.5:
29 * Licensing change: GNU Enscript is now distributed under version 3 or
32 * Build system fixes - distcheck now passes.
34 * At least four security bug fixes:
38 - CVE-2008-3863, CVE-2008-4306
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.
45 See changelogs for more detailed notes.
48 Noteworthy changes in enscript version 1.6.4:
50 * Unknown - to be filled in at a later date.
53 Noteworthy changes in enscript version 1.6.3:
55 * Changes in the highlighting / pretty printing
57 - The `States*' config file options have changed. The new options
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)
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'
78 - Support for state inheritance.
80 * new highlighting rules:
82 - bash, csh, ksh, tcsh, zsh
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
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
96 - new output language `ansi' to print color outputs on color xterm,
101 - 88599 ISO-8859-9 (ISO Latin5)
102 - 885910 ISO-8859-10 (ISO Latin6)
106 - -3, -4, -5, -6, -7, -8, -9 select 3-9 columns
107 - --nup-columnwise layout pages in the N-up printing
109 - --swap-even-page-margins swap left and right side margins for
111 - --extended-return-values encode more status information in the
112 return value of the program
113 - --footer=STRING specify the page footer string
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
129 - Removed the `--list-options' option. It was an old debugging
130 option. I can remember when I have used or updated it.
133 Noteworthy changes in enscript version 1.6.1:
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.
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
150 Noteworthy changes in enscript version 1.6:
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
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
171 * new highlighting rules:
173 - ada Ada95 programming language
174 - asm assembler listings
175 - awk awk scripting language
176 - delphi Delphi programming language
178 - diffu unified diff files
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
191 - vba Visual Basic (for Applications)
193 - improved C, C++ and Objective-C highlighting
195 * new special escapes:
197 - ^@bggray{GRAY} change text's background color
198 - ^@escape{CODE} changes the escape character
202 - 88594 ISO-8859-4 (ISO Latin4)
203 - 88597 ISO-8859-7 (ISO Greek)
207 - interpret formatting escapes from the page header strings
208 - page header string can contain left, center and right aligned
210 - support for HTML, RTF (Rich Text Format) and overstrike output
212 - fixed tabulator character handling with variable width fonts
213 - added support for regular expression character syntax tables in
215 - generates the PageSize page device setting to the PostScript
216 output -- this should make the printer to select the correct paper
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
223 Noteworthy changes in enscript version 1.5:
227 -A ALIGN, --file-align=ALIGN
228 align separate input files to even ALIGN page
230 -E, --pretty-print pretty print program source files with states
231 -U NUM, --nup=NUM print NUM logical pages on each output page
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
238 * config file options:
240 - TOCFormat set the table-of-contents line format
241 - NoJobHeaderSwitch set the spooler switch which disables job
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
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.
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 {|}[\]
262 - asciidkno 7 bit ascii with dk and no encodings for {|}[\]
266 - ^@color{r g b} special escape
267 - if input file (all input files) does not exist, enscript doesn't
269 - -E, --pretty-print highlighting for: C, ChangeLog, C++, mail,
270 Makefile, nroff output, Objective-C, Scheme, States, Synopsys,
274 Noteworthy changes in enscript version 1.4:
276 * new and changed options:
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
292 - renamed option `--page-header' to `--header'
293 - renamed option `--pass-through-ps-files' to `--pass-through'
295 * config file options:
297 - AcceptCompositeCharacters
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
304 * new fancy headers: mp, frame
308 - font works now over page boundaries
309 - ps include raw PostScript code to the output
310 - shade new escape to highlight text regions
318 * internationalization support with the GNU gettext
320 * changed to use GNU Automake
322 * program renamed from genscript to enscript
324 * new utility scripts:
325 - diffpp - pretty-print diff outputs
328 Noteworthy changes in enscript version 1.3:
332 - pslatin1 PostScript interpreter's ISOLatin1Encoding
334 * new fancy header: edd, a2ps
337 - option -Z, --pass-through-ps-files no longer wraps PS document
338 inside enscript prolog and epilog.
340 - renamed some options to conform the GNU coding standards:
341 --output-file => --output
343 --tab-size => --tabsize
345 - new command line / config file options:
347 --ul-angle UnderlayAngle
348 --ul-position UnderlayPosition
349 --non-printable-format NonPrintableFormat
351 * added some customization options to header description files:
352 %Format format and define string constants according
354 %HeaderHeight explicit set the fancy header height
355 %FooterHeight allocate space for the page footer
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:
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}
368 Check `lib/*.hdr' to see them in action.
370 * the library directory has changed from `<prefix>/lib/enscript' to
371 `<prefix>/share/enscript'
373 * new Makefile targets: check, uninstall
375 * enscript must no longer be installed before it can be tested; you
376 can print files directly after you have compiled enscript.
378 * support for Windows95/NT via the Win32 api