* src/preproc/html/pre-html.cpp (make_message): Make it work for
[s-roff.git] / contrib / groffer / ChangeLog
blobbea3e38b64e9853e2457d767f0d5715535b80cf0
1 2004-04-30  Bernd Warken
2         ________________________________________________________________
3         * release of groffer 0.9.7
5         * groffer.sh:
6         - obj(), obj_data(), obj_from_output(), obj_set(): New object
7         oriented functions to minimize complicated `eval' commands.
8         - list_*(): Corrections.
9         - usage(): Streamlining.
10         
11         * groffer.man, README_SH:
12         Corrections.
14 2004-04-27  Bernd Warken
15         ________________________________________________________________
16         * release of groffer 0.9.6
18         This version replaces the license of all files except ChangeLog of
19         the groffer source to the GNU General Public License (GPL) of the
20         version described in files COPYING and LICENSE in the groff top
21         source directory.
23         * groffer.man:
24         Changement from the GNU Free Documentation License (FDL) to
25         the GNU General Public License (GPL).
27         * README, README_SH, TODO:
28         Add license GNU General Public License (GPL).
29         
30         * Makefile.sub, groffer.sh:
31         Keep the GNU General Public License (GPL), but refer to the
32         COPYING and LICENSE files.
34         * ChangeLog: Add a license in the style of Emacs ChangeLog file,
35         which is weaker than the GPL, but has its flavor.
37 2004-04-24  Bernd Warken
38         ________________________________________________________________
39         * release of groffer 0.9.5
41         This version is a rewrite of groffer in many parts, but it is kept
42         in the old single script style.
44         Overview of new options:
45         --text, --mode text, --tty-viewer,
46         --X, --mode X, --X-viewer, --html, --mode html, --html-view,
47         --apropos-data, --apropos-devel, --apropos-progs
49         New file:
50         <groffer-source>/README_SH
52         
53         ******* Extension of the `apropos' handling
55         The output of man's `apropos' has grown immensely meanwhile, so it
56         has become inefficient.  Now `groffer' provides new options to get
57         the a selected information from this output.
59         * groffer.sh:
60         `--apropos-progs': new option for displaying only information
61         on programs (man page sections 1, 6, and 8)
62         `--apropos-data': new option for displaying only information
63         on documented data (man page sections 4, 5 and 7)
64         `--apropos-devel': new option for displaying only information
65         on development documentation (man page sections 2, 3 and 9)
66         `--apropos': still displays just the output of man's `apropos'
67         program.
68         - Specify all of these options as a single argument option; that
69         makes groffer's `--apropos' option slightly different because
70         the corresponding `man' option does not have arguments, but takes
71         all file arguments as apropos targets.  So just ignore the `man'
72         options `-k' and `--apropos' in the parsing of $MANOPT.
73         - Exit after processing one `apropos' call.
76         ******* Quasi object oriented function arguments
78         An object is the name of an environment variable.  The value of
79         this variable contains the object's content.  This allows to
80         specify function arguments and the calling syntax in a simpler way
81         by letting the first argument be a variable name, usable for input
82         or output.
83         
84         Such an object type is `list', the string value of a shell
85         variable arranged in space-separated single-quoted elements, such
86         as $GROFFER_OPT internally.
88         * groffer.sh:
89         - Remove list_from_args(), list_element_from_arg()
90         list_from_lists(), list_length(), and list_prepend().
91         They can be replaced by list_append().
92         - All list*() functions are rearranged such that the first
93         argument is a list object, the name of a variable.
96         ******* Simplification of configuration files
98         The new syntax of the groffer configuration files is
99         - all lines starting with a `-' character are interpreted as
100         command line options for all calls of groffer; they are collected
101         and prepended to the actual value of $GROFFER_OPT; optional
102         spaces at the beginning.of the line are omitted.
103         - all other lines are interpreted as a shell command and executed
104         in the current shell of the groffer call.
105         
106         Precedence:
107         - The command line and the external environment variables such as
108         $GROFFER_OPT of the groffer call have the highest precedence.
109         - This is overwritten by the configuration file in the user's home
110         directory.
111         - The system configuration file in /etc has the lowest
112         precedence.
113         
114         * groffer.sh:   
115         The configuration files are now called after the determination of
116         the temporary files in main_init().
119         ******* Script file name
121         The file name of the script is needed for the several calls during
122         the search for the optimal shell.
124         * groffer.sh:
125         - $_GROFFER_SH: replace $_this by $_GROFFER_SH and use $0 for
126         determining the file name of the script for the following calls,
127         instead of the cumbersome @BINDIR@ construction.
128         - Force the script to be called as an executable file, so $0 must
129         contain the program name.
131         
132         ******* Improved temporary file names
134         Just like groff, groffer mixes all file parameters into a single
135         output file.  Its name is now constructed as a comma-separated
136         list built from the file name arguments without a leading comma.
137         So a leading comma can be used for the internal temporary file
138         names.
139         
140         * groffer.sh:
141         - $_OUTPUT_FILE_NAME: new global variable as basis for the output
142         file name; it is set in main_set_resources().
143         - tmp_create(): use `,name' for temporary files different from
144         output file because the output file name does not start with a
145         comma.  `$$' is not needed anymore.
146         - main_display(): simplification of $_modefile in _do_display()
147         and single display modes.
148         - Add extension `.html' to output file name in html mode.
149         - base_name(): correction for strange positions of `/'.
152         ******* Mode fixes
154         * groffer.sh:
155         - Set the main default mode to `x' with groff's X Window viewer
156         `gxditview'.
157         - Allow 'x' and 'X' in `--mode' for the X Window mode; the same
158         for `--x' and `X', `--x-viewer' and `--X-viewer'.
159         - Make groff's `-X' equivalent to `mode X'.
160         - Fix `--auto', `--mode auto',  and `--default-modes'.
161         - `html' mode: new mode equivalent to `www', add `konqueror' and
162         `lynx' as viewers.
163         - `pdf' mode: fix zoom options for pdf-viewer `xpdf' in
164         main_set_resources(); in main_display() fix the display structure.
165         - Set default X Window resolution to 75dpi.  This is not optimal,
166         but with a higher value the options and resources for some viewers
167         must be optimized.
168         `--text' and `--mode text': new option for text output without a
169         pager.
170         - `--tty-viewer': new option equivalent to `--pager'.
171         - Correct the pagers for `tty' mode.
172         - Fix `groff' mode in main_set_resources() and main_display().
173         - Harmonize `--mode arg' with the equivalent options `--arg'.
176         ******* Fixes for command line options
178         * groffer.sh:
179         - list_from_cmdline(): fix the parsing of options with arguments.
180         - Rename $_OPT_TTY_DEVICE to $_OPT_TEXT_DEVICE.
181         - $_OPTS_X_*: new variables for the inhereted X Window variables.
182         - Improve the distribution of the command line options into
183         $_OPTS_GROFFER_*, $_OPTS_GROFF_*, $_OPTS_X_*, and $_OPTS_MAN_*.
184         - $_OPTS_MANOPT_*: new variables for the parsing of $MANOPT.
185         - Correct $_OPTS_CMDLINE_*.
186         - Remove some unused $_OPTS_*.
187         - `--iconic': new option from `-iconic' of the X Window toolkit.
188         - Correct `--rv' to an option without argument.
189         - Minor fixes of other  X Window toolkit options.
192         ******* Other fixes
194         * groffer.sh:
195         - is_prog(): allow 0 arguments.
196         - is_not_writable(): new function.
197         - is_*(): fix trailing return codes.
198         - Replace most `test' calls by is_*() functions.
199         - man_setup(): due to bugs in `manpath', prefer
200         manpath_set_from_path() for the determination of the man page path.
201         - man_search_section(): correction of some `for' loops.
202         - Remove export of external non-groffer variables.
204         
205         ******* Documentation
206         
207         * groffer.man:
208         - Reorder the option details according to the option origin as
209         groffer, groff, X, and man options.
210         - Add the programming changes information mentioned above.
211         - Support man pages with a dot in their name
213         * README_SH: new file
214         Move large parts of the documentation in `groffer.sh' into this
215         file.
216         
217         * groffer.sh: usage():
218         - Change the output for `--help' to standard output.
219         - Restructure the information for this help output.
220         
222         ******* Removement of the author's email address
223         
224         Because of the extreme spam attacks, the author removed all
225         occurencies of his email address in every file of the groffer
226         source.
228 2003-01-22  Bernd Warken 
229         ________________________________________________________________
230         * release of groffer 0.9.4
232         * groffer.sh: corrections for some restrictive shells
233         - Possible exit codes in actual `ash' are between 0 and 63.  To
234         handle even deeper restrictions, use 7 as maximal code instead
235         of 255 as replacement for error -1.
236         - Remove variables $_BAD2 and $_BAD3.
237         - Replace `trap' argument `EXIT' by 0 and write new fuctions
238         `trap_clean' and `trap_set' to handle the restrictions of `trap'
239         for some shells.
240         - Correct wrong $MANPATH to $_MAN_PATH in function
241         `man_do_filespec'.
242         - Test existence of directory before deleting it in the
243         `clean_up' definitions.
244         - Correct help output in `usage' (called by `--help').
245         
246         * TODO:
247         Remove mention of `shoop' and `apropos'.
249 2002-10-21  Bernd Warken 
250         ________________________________________________________________
251         * release of groffer 0.9.3
253         * groffer.sh: new temporary subdirectory
254         - Generate temporary subdirectory for storing temporary files
255         with better names in future groffer versions (name:
256         "groffer$$" in usual temporary directory).
257         - Use `umask 000' for temporary files to allow cleaning up
258         for everyone after a system break.
259         - Change both clean_up() functions (for normal shell and
260         for main_display() subshell) to handle the new subdirectory.
261         - clean_up_secondary() and $_TMP_PREFIX are unnecessary now, so
262         they were removed.
264         * Makefile.sub: `sed' commands for "groffer:"
265         - Remove "@g@" entry (not used in "groffer.sh").
266         - Add global replace for "@BINDIR@" and "@VERSION@" for future
267         usage.
269         * TODO: think about...
270         - writing part of groffer in C/C++.
271         - handling several files with different macro packages.
272         
273 2002-10-17  Bernd Warken 
274         ________________________________________________________________
275         * fixes of groffer 0.9.2
277         * groffer.sh:
278         Terminate main_parse_MANOPT() if $MANOPT is empty or consists
279         of space characters only.
281         * groffer.man: some fixes in "GROFFER OPTIONS"
282         - New macro ".Header_CB" for CB font in .TP headers; used for
283         definition of variables in option --mode.
284         - Fix some option references to refer to long options.
285         
286         * README:
287         New file for general information on the groffer source; it is
288         not installed.
289         
290 2002-10-14  Bernd Warken 
292         * Makefile.sub:
293         add replacement "@BINDIR@" to "$(bindir)" for "groffer:"
295         * groffer.sh:
296         Define $_this as "@BINDIR@/${_PROGRAM_NAME}" to save the right
297         installation position of groffer for the special shell calling.
299         * groffer.man:
300         Remove double definition of filespec parameters.
302 2002-10-13  Bernd Warken 
303         ________________________________________________________________
304         * release of groffer 0.9.2
306         * groffer.sh: fixes
307         - Fix some 'sed' functions: two in func_stack_dump(), one in
308           base_name(), add 'sed' command in list_from_cmdline().
309         - Finish main_parse_MANOPT() if $MANOPT is empty.
310         - Sort $_OPTS_GROFF_SHORT_NA like groff short options (but
311           unchanged).
312         - Fix some comments.
314         * groffer.man: make it more readable (but no additions)
315         - A shortened section "SYNOPSIS" is followed by a simplified
316           section "DESCRIPTION".
317         - The options from "SYNOPSIS" go to new section "OPTION
318           OVERVIEW" with all groffer options in a single subsection.
319         - The details of all groffer options are described in section
320           "GROFFER OPTIONS".
321         - New macro for file names ".File_name".
322         - "Option Parsing" is moved to section "COMPATIBILITY".
323         - Fix some "EXAMPLES".
324         
325 2002-09-30  Bernd Warken 
326         ________________________________________________________________
327         * release of groffer 0.9.1
328         
329         * TODO: remove done entries
330         - Remove request for different shells.
331         - Remove the 'sed' complaints.
333 2002-07-15  Bernd Warken 
335         * groffer.sh: replace `sed' interface by direct `sed'
336         - This improves the performance of the shell programming parts
337           and shortens the groffer script by about 5%.
338         - Remove functions: string_del_append(), string_del_leading(),
339           string_del_trailing(), string_flatten(), string_get_before(),
340           string_get_leading(), string_replace_all(), string_sed_s(),
341           and their auxiliary functions.
342         - Replace all calls of these functions by direct `sed' commands.
343         - Define variables for special characters to ease `sed' calls.
344         - Remove `$APPEND'.
345         - Restrict list_from_string() to single character separators.
346         - Correct list_check() and base_name().
347         - Add comments to all calls of `sed'.
349         * groffer.sh: add run-time support for several shells
350         - New option `--shell': stop execution and rerun groffer under
351           the shell specified in the argument of `--shell'.
352         - If no shell was specified at run-time, `ash' is tried first;
353           if `ash' is not available continue with the shell with which
354           groffer was called from the command line, or with the shell
355           name in the first line of the script, actually `/bin/sh'.
357 2002-07-12  Bernd Warken 
358         ________________________________________________________________
359         * fixes for groffer 0.9.0
361         * groffer.sh: enhance version information
362         `groffer -v|--version' now print:
363         - groffer's version number and date
364         - the string `is part of '
365         - groff's version information (version number and copyright),
366           but not groff's `called subprograms' information.
367         
368         * groffer.sh: minor fixes
369         - Fix the argument parser to process argument `-' correctly.
370         - Some display programs have trouble with empty input; feed a
371           line consisting of a single space character in this case for
372           all display modes (not for source or groff modes).
374         * TODO:
375         fix entry `shoop' (not 'shopt').
377 2002-06-28  Bernd Warken 
378         ________________________________________________________________
379         * release of groffer 0.9.0
381         * groffer.sh: new mode `pdf'
382         - PDF (Portable Document Format):
383           -> Transform groff `ps' output into pdf using `gs'.
384           -> Pro: PDF viewers provide text searching (!).
385           -> Con: the transformation is quite slow.
386           -> Not suitable as an auto mode.
387         - New options `--pdf', `--pdf-viewer', `--mode pdf'.
388         - Standard pdf viewers `xpdf' and `acroread'.
389         - For `xpdf', choose zoom `z 3' for 100 dpi, `z 2' for 75 dpi.
390         
391         * groffer.sh: support bzip2 decompression
392         - add test for `bzip2' with necessary options
393         - extend functions `catz()' and `save_stdin()'.
395         * TODO
396         remove entry on `bzip' decompression (done).
397         
398         * groffer.man:
399         - Document new `pdf' features.
400         - Document new `bzip2' decompression.
401         - Fix documentation for `--auto-modes'.
402         
403         * groffer.sh: minor fixes
404         - Improve device tests in `tty' and `dvi' modes.
405         - Internally, map mode `auto' to '' to facilitate tests.
406         - Fix auto mode sequence to: `ps,x,tty' as was intended.
408 2002-06-25  Bernd Warken 
410         * groffer.sh:
411         Fix `source' mode.
413         * groffer.man:
414         Fix some indentations.
416 2002-06-23  Bernd Warken 
417         ________________________________________________________________
418         * release of groffer 0.8
420         * Makefile.sub: add copyright section
422         * groffer.man:
423         - Document the new options.
424         - Revise the documentation of the modes.
425         - Document the configuration files in new section `FILES'.
426         - Redesign section `EXAMPLES'.
427         - Remove documentation for `-W'.
428         
429         * groffer.sh: new debugging features
430         - Disabled by default; enabled by environment variables.
431         - Add landmark() to catch typos with quotes.
432         - Add a function call stack for suitable functions; implemented
433           as within the argument checker func_check().
434         - This implies the need to provide `return' with some clean-up
435           facility; implemented as `eval "$_return_..."'.
436         - Add option `--debug' to enable debugging at run-time.
437         - Actually, the groffer script uses only shell builtins found
438           in `ash' (a subset of POSIX) and POSIX `sed' as the only
439           external shell utility.
440                 
441         * groffer.sh: customization of viewers
442         - In `groff' mode, the groffer viewing facilities are disabled.
443         - The postprocessor option `-P' costumizes the viewer only in
444           some situations in the `groff' mode, so a new infrastructure
445           for viewer customization is necessary.
446         - Allow to specify arguments to the viewer programs specified
447           in `--*-viewer()'.
448         - Implement some of the essential X Toolkit resource options in
449           groffer, but with use a leading double minus.
450           -> `--bd': set border color.
451           -> `--bg', `--background': set background color.
452           -> `--bw': set border width.
453           -> `--display': set X display.
454           -> `--geometry': set size and position of viewer window.
455           -> `--fg', `--foreground': set foreground color.
456           -> `--ft', `--font': set font.
457           -> `--resolution': set X resolution in dpi.
458           -> `--title': set viewer window title.
459           -> `--xrm': set X resource.
460         - Remove misnamed option `--xrdb'.
461         
462         * groffer.sh: new mode structure
463         - New Postcript mode `ps' (`--ps'):
464           -> default viewers: gv,ghostview,gs_x11,gs;
465           -> `--ps-viewer' sets the Postscript viewer.
466         - New mode `www' (`--www') for displaying in a web browser:
467           -> default browsers: mozilla,netscape,opera,amaya,arena;
468           -> `--www-viewer' sets the web browser.
469         - New dvi mode (`--dvi'); default viewer `xdvi':
470           -> default viewers: xdvi,dvilx;
471           -> `--dvi-viewer' sets the dvi viewer.
472         - New mode `auto':
473           -> active if no other mode is given or by new option `--auto';
474           -> selects from a sequence of modes that are tested until one
475             of them succeeds.
476           -> the default mode sequence is actually `ps', `x', `tty'.
477           -> `--default-modes' sets this mode sequence as a comma
478              separated string of program names, optionally each one
479              with arguments).
480         - New mode `groff':
481           -> process input like groff, ignore viewing options.
482           -> activated by new option `--groff'.
483           -> automatically active with one of `-V', `-X', `-Z'.
484         - Revise `tty' mode:
485           -> allow several text devices.
486           -> 
487         - Reorganize the mode management:
488           -> new mode setting option `--mode'.
489           -> logically separate source, groff, and display modes.
490           -> intermediate output mode is now part of mode groff; remove
491              any special features around `-Z'.
492         - Update usage() to reflect the new option structure.
494         * groffer.sh: add configuration files
495         - `/etc/groff/groffer.conf' system-wide configuration.
496         - `${HOME}/.groff/groffer.conf' user configuration.
497         - The configuration file are shell scripts for now; later
498           implementations can identify this from the `#! /bin/sh' line.
499         
500         * groffer.sh: new data structure `list':
501         - Implement a `list' data structure as a string consisting of
502           single-quoted elements, separated by a space character;
503           embedded single-quotes are escaped.
505         * groffer.sh: new option parser based on `list':
506         - Write new option parser based on `list', compatible to both
507           POSIX getopts() and GNU getopt().
508         - Long options are now available on GNU and non-GNU systems.
509         - Get rid of POSIX getopts() and GNU getopt().
510         - the `-W--longopt' construct is now obsolete; remove it.
511         - add test/function for `unset'.
512         - Option strings are now implemented as `list's in order to
513           allow unusual characters in options.
514         - Parse $MANOPT first; translate essential arguments into
515           groffer options.
516         
517         * groffer.man:
518         - determine prompt length for `.Shell_cmd'* dynamically.
519         - naming scheme for static strings and registers changed to
520           `namespace:macro.variable'.
522         
523 2002-06-16  Werner Lemberg  <wl@gnu.org>
525         * groffer.sh:
526         Implement man option `--ascii' by `-mtty-char'.
527            
529 2002-05-31  Werner LEMBERG  <wl@gnu.org>
531         * groffer.man (@.Shell_cmd_width):
532         Increase to 4m (we use `sh#' as the prompt).
535 2002-05-31  Bernd Warken 
536         ________________________________________________________________
537         * release of groffer 0.7
539         * groffer.sh: remove incompatibilities with the `ash' shell:
540         - do not use `!command':
541           -> use `else'
542           -> write `_not_' equivalents for some functions
543         - do not use `[^]' in `case':
544           ->  restructure some functions.
545         - only single-character names for loop variables:
546           -> spoils the paradigm of leading `_' for local variables.
547         - spurious trouble with `for i in ${var}':
548           -> use `eval set -- ${var}' and `for i in "$@"'
549         - do not change or use $IFS:
550           -> define new functions string_split() and `path_split()'.
551           -> result must be processed by `eval set --'.
552           -> solve conflicts with existing positional parameters.
553         - trouble with exporting external `$GROFF_*' variables:
554           -> hope that they were exported in the calling shell.
555         - not smart about additional blanks:
556           -> remove unnecessary white space.
558         * groffer.sh: improve run-time speed:
559         - `ash' more than doubles the speed of `bash'.
560         - speed-up `man_setup()'.
563 2002-05-30  Werner Lemberg  <wl@gnu.org>
565         * groffer.man:
566         - remove some wrong `\:'.
567         - rename macro names that start with a `[' (clashes with refer).
568         - fix TP_header.
571 2002-05-28  Bernd Warken 
572         ________________________________________________________________
573         * release of groffer 0.6
575         This is almost a complete rewrite since groffer 0.5 .
576         ________________________________________________________________
577         * Documentation
578         
579         * groffer.man:
580         - Apply the changes done in www.tmac (.URL and .MTO)
581         - Replace \fP by \f[].
582         - Redesign and rewrite most macros.
583         - Include the documentation for the new features.
584         - Greatly enlarge section ENVIRONMENT
585         - Add examples.
587         * TODO:
588         - Start a TODO file with several sections.
590         * ChangeLog:
591         Due to the many changes, shorten and rearrange the entries
592         since groffer 0.5 .
593         ________________________________________________________________
594         * Shell compatibility
596         * groffer.sh:
597         - Due to possible conflicts in old BSD versions, `[]' was
598           replaced by `test'; the `test' options `-a' and `-o' were
599           replaced by multiple calls of `test'.
600         - Write interface to the `sed' command `s' to become
601           independent of the delimiter character.  Rewrite all text
602           manipulating function to use this new scheme.  The new
603           functions are named `string_*'.
604         - `tr' is not needed any longer, replaced by `sed'.
605         - `grep' is not needed any longer, mostly replaced by `case'.
606         - Revision of test for `getopt'.
607         - Remove `set -a'; explicitly export variables.
608         - The only external programs used are POSIX `sed' and the
609           fallback to `apropos'.  All other program calls were
610           replaced by shell builtins and functions.
611         
612         ________________________________________________________________
613         * Cosmetics
615         * groffer.sh:
616         - Implement a prefix based naming scheme for local variables
617           and functions (OOP-like).
618         - Introduce variables for white space (better readability with
619           $IFS).
620         - Store the names of the processed filespecs into a variable
621           instead of a temporary file.
622         - Error-prone shell constructions were replaced by functions
623           with a simple interface.
624         - To avoid too long pipes, replace supercat() by do_fileargs();
625           every input file is handled independently.
627         ________________________________________________________________
628         * New features:
629         - Add support for more X devices (e.g. X75-12 and X100-12).
630         - Add long option `--intermediate_output' to `-Z'.
631         - Make the options for mode selection clobber each other.
632         - Add option `--mode' with an argument having the following
633           values:
634           `X': force displaying in X, same as options `-X';
635           `tty': display with a pager on text terminal; same as `--tty';
636           `source', `default', `auto', etc.
637         - Make the handling of the X mode like in groff (e.g. -X -Tps).
638         - Make resolution for gxditview behave like groff (default
639           75 dpi).
640         - Add environment variable $GROFFER_OPT to preset groffer
641           options.
643         ________________________________________________________________
644         * implement most of the functionality of GNU `man'.
646         - Add all `man' long options to groffer.
647         - Add all `man' environment variables.
648         - Parse and use content of `$MANOPT'.
649         - The precedence of the options and environment variables
650           is regulated like in GNU `man'.
651         - Force the option `--manpath' to have a colon-separated
652           argument like GNU `man'.
653         - Support `man section name' calling convention.
654         - Remove all dependencies on `man -w'.
656         * groffer.sh:
657         - Add the new features above.
658         - Rewrite the search algorithm for man pages.
659         - Remove searching with `man -w' (problems with space
660           characters in file names).
661         - Fix and complement usage().
662         - The filespec parsers gets a function of its own do_manpage().
663         
664         
665 2002-01-08  Bernd Warken 
666         
667         * groffer 0.5 (beta) released
669         * groffer.man:
670         - Fix hyphenation problems with macros describing options.
671         - Fix the handling of some `-' characters.
672         - Examples of shell commands now print in font CR instead of CB.
673         - Remove documentation for option `-X'.
674         - Add documentation for option `--dpi'.
675         
676         * groffer.sh:
677         - New method for creating temporary files, based on process
678           IDs.  This is reliable enough and suitable for GNU and POSIX.
679         - Run gxditview in a new shell instantiation for having a clean
680           handling of the temporary files when running in the
681           background.
682         - Revision of the retrieving method for the window title.
683         - Empty input is now tolerated.
684         - Export the variables that are set before the call of `set -a'.
685         - Function usage() corrected and updated.
686         - Unnecessary stuff removed.
687         - Comments adjusted.
688         - Pass option `-X' to groff, i.e. force X output with 75 dpi.
689         - Implement option `--dpi' for setting the resolution for the X
690           viewer, which had already been documented in earlier versions.
692 2002-01-07  Bernd Warken 
694         * groffer 0.4 (beta) released (as groff `contrib')
695         
696         * groffer.man:
697         - New features documented.
698         - Macros stream-lined.
699         - Section EXAMPLES added.
700         
701         * groffer.sh:
702         - System tests added/optimized.
703         - Speed/memory optimizations by defining some shell functions
704           alternatively depending on the text results.
705         - Use `gzip' for decompression instead of `zcat'.
706         - Signal handling added for clean exiting by `trap'.
707         - Temporary files exist only as long as necessary.
708         - Setup of path for man-pages moved after the option parsing.
709         - Fixed a bug in determining the path for man-pages.
710         - Fixed a bug in the handling of non-groffer options.
712         * New features:
713         - New option --tty for forcing paging on text terminal.
714         - New option --no-man for disabling the man-page feature.
715         - Implement reserved POSIX -W feature to simulate long options.
716         - gxditview is now run as a background process.
718 2002-01-05  Werner LEMBERG  <wl@gnu.org>
720         * Integrate groffer into groff's `contrib' tree.
722         * Makefile: Replaced by...
723         Makefile.sub: New file.
725         * groffer: Replaced by...
726         groffer.sh: New file.
728         * groffer.man (OptDef): Add missing backslashes.
729         Update copyright.
731 2001-12-15  Bernd Warken 
733         * groffer 0.3 (alpha) released (still stand-alone package).
735         * GNU and POSIX are supported (POSIX without long options).
737         * New options : --man, --mandb, --title, --xrdb
739         * Support for command line arguments with embedded single space
740         characters (GNU only) .
742         * Several search methods for man-pages when no `man -w' is
743         available ($MANPATH, mandb, a default path).
745         * Language support for man-pages.
747         * Recognize the following filespecs as man-page parameters:
748           man:name(section), man:name, name.section, name.
749         
750 2001-12-03  Bernd Warken 
752         * Stand-alone package for groffer 0.2 (alpha) created
753         Files: groffer, groffer.man, Makefile, TODO, ChangeLog
754         
755 2001-12-02  Bernd Warken 
757         * groffer 0.2 (alpha) program released.
759         * Name changed from `groffview' to `groffer'.
761         * Comments added.
762         
763         * Name changed from `groffview' to `groffer'.
765         * Options harmonized with groff.
766         New options : -Q --source, -T --device, -X .
767         Other options known from groff are passed unchanged.
769         * 100 dpi as default, 75 dpi only in emergency situations.
771         * Bugs with temporary files fixed.
773         * Code restructured and comments added.
774         
775 2001-11-28  Bernd Warken 
777         ***** groffview 0.1 (experimental) and groffview.man released
778         (predecessor of groffer, shell script)
780         * Options : -h --help, -v --version
781         
782         * Search for man-pages based on $MANPATH
784         * development of `groffview' shell script started
786 2001-11-28  Bernd Warken
787         ________________________________________________________________
788         License
790         Copyright (C) 2001,2002,2003,2004 Free Software Foundation, Inc.
791         Written by Bernd Warken
792         Copying and distribution of this file, with or without
793         modification, are permitted provided the copyright notice and this
794         notice are preserved.
796         This file is part of groffer, which is part of the groff project.