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