diff options
author | wl <wl> | 2006-10-14 05:59:54 +0000 |
---|---|---|
committer | wl <wl> | 2006-10-14 05:59:54 +0000 |
commit | f48fe77e2589a337a3dce4f7bf6c275623560369 (patch) | |
tree | 7f4bb1a49c1b3222cbb964fdcdb9bf5e95bc3587 /contrib/groffer/ChangeLog | |
parent | 383a374fa7dd927cdb74cc4c0f1e3b0cbb34c4ee (diff) | |
download | groff-f48fe77e2589a337a3dce4f7bf6c275623560369.tar.gz |
* release of groffer 1.0.0
Changements of the shell version since 0.9.31
* shell/groffer.sh: Use version.sh in the upper directory.
The groffer versions 1.* have two kinds of program, a shell
version and a Perl version.
The shell version is kept from the old shell only versions of
groffer 0.*. Most of the former files in the main groffer
directory are now moved to the subdirectoy shell/.
The Perl version of groffer is a complete rewrite; most of its
files are found in the subdirectory perl/.
The Makefile.sub decides whether the shell or Perl version of
groffer is installed. This is done by the program perl_test.pl.
In the following, all files in the groffer directory tree are
mentioned.
* ChangeLog: This file. It contains information for groffer
versions >= 1.0.0 with shell and Perl kinds. For older groffer
versions, see shell/ChangeLog.0 which contains information for the
shell only versions of groffer 0.*.
* Makefile.sub: The old Makefile.sub was extended to support the
shell and the Perl version of groffer at the same time. If the
test of perl_test.pl succeeds the groffer Perl version will be
installed, otherwise the shell version is used.
* perl_test.pl: This is used by Makefile.sub and installed with
the Perl version of groffer. It is a test of the installed perl
version. The installed Perl version should be greater or equal
than the version that is required by this file.
* version.sh: This is the old file kept from the shell version of
groffer. It stores the groffer version, the date of the last
update, and the groff version. It is used and installed for the
shell and Perl version of groffer.
* README: This is the old README file extended by information on
the shell and Perl kinds of groffer.
* perl/: Subdirectory for the Perl version of groffer.
* perl/groffer.pl: This is the groffer script of the Perl
version, a Perl source file that handles the complete groffer
functionality.
* perl/man.pl: This is the collection of functions that are
related to man pages, apropos, and whatis. It is loaded by
perl/groffer.pl.
* perl/func.pl: This is the collection of miscellaneous functions.
It is loaded by perl/groffer.pl.
* perl/split_env.sh: A shell script that is used by
perl/groffer.pl to split a large shell environment variable to a
Perl array.
* perl/groffer.man: This is the man page of the Perl version of
groffer. It is derived from groffer.man of the shell version. It
will only be installed when the Makefile.sub chooses to install
the Perl version of groffer instead of the shell version.
* perl/README_PERL: This file contains information of the Perl
compatibility and details that are special to the Perl version.
* shell/: Subdirectory for the shell version of groffer.
* shell/ChangeLog.0: The former ChangeLog file of the groffer
versions 0.* was moved to this file. It contains information of
the shell only version of groffer 0.*.
* shell/groffer.sh: This is the old groffer.sh file of the shell
version.
* shell/groffer2.sh: This is the old groffer2.sh file of the shell
version.
* shell/groffer.man: This is the old man page groffer.man of the
shell version. The shell version keeps its own man page. It will
only be installed when the Makefile.sub chooses to install the
shell version instead of the Perl version.
* shell/README_SH: This is the old README_SH file of the shell
version containing information of the shell compatibility.
Diffstat (limited to 'contrib/groffer/ChangeLog')
-rw-r--r-- | contrib/groffer/ChangeLog | 2145 |
1 files changed, 72 insertions, 2073 deletions
diff --git a/contrib/groffer/ChangeLog b/contrib/groffer/ChangeLog index 413c99a5..c34e4a93 100644 --- a/contrib/groffer/ChangeLog +++ b/contrib/groffer/ChangeLog @@ -1,2102 +1,102 @@ -2006-10-05 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.31 - - * groffer2.sh: - - _make_pdf(): Fix argument of `obj'. - - to_tmp(): Add option -r to soelim to omit the .lf request. The - new global variable $_SOELIM_R stores the option if it is - available. Use numbers for the names of the `file' and `so' - temporary files, such that the information for each filespec - argument is kept for debug. New global variable $_FILE_NR. - - main_set_resources(): Remove `man' temporary files except for - debug. - - man_get(): Change name in $_TMP_MANSPEC. - - man_is_man(): Change name in $_TMP_MANSPEC. Remove file in - $_TMP_MANPEC if empty. - - _do_display() of main_display(): Add check on empty mode file. - - * groffer.man: Filespec: Add information on the argument - handling of apropos. - - Remove the space characters at the end of line in all files. - -2006-10-03 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.30 - - * groffer2.sh: - - Correct spacing. - - main_do_fileargs(): Distribute special_filespec() in order to - get a better heading for `whatis'. +2006-10-04 Bernd Warken + ________________________________________________________________ + * release of groffer 1.0.0 -2006-10-03 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.29 - - * groffer2.sh: - - --to-stdtout: New option to display the generated mode file - without graphical display. - - _get_prog_args() of main_set_mode(): Make argument upper case. - - usage(): Add --to-stdout, remove -Q, reorder --source. + Changements of the shell version since 0.9.31 - * groffer.man: - - Reorder the default viewers. - - Move `--source' to `groffer' options. - - Remove `-Q'. - - Add `--to-stdout'. - - Reconfigure the sections on filespec arguments. - - Remove information on wildcards. + * shell/groffer.sh: Use version.sh in the upper directory. -2006-10-01 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.28 +2006-10-02 Bernd Warken - * groffer.sh: - - Change all directories to end with `/'. - - In the state before the run of `make', make the script runnable - from each directory using $0 and `pwd'. - - * groffer2.sh: - - main_init(): Change the umask to 0077 to allow only access for - the file owner for the temporary files. This is done for security - reasons. - - version(): Put the whole output under `<<EOF'. - - usage(): Add information on filespec arguments. - - main_do_fileargs(): Rewrite the handling of filespec - parameters. Fix filespec man:name.section. - -2006-09-26 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.27 + The groffer versions 1.* have two kinds of program, a shell + version and a Perl version. - * Makefile.sub: Add Emacs setting at the end of the file. + The shell version is kept from the old shell only versions of + groffer 0.*. Most of the former files in the main groffer + directory are now moved to the subdirectoy shell/. - * TODO: Remove this file because it does not contain any actual - entries. - - * groffer2.sh: - - main_set_mode(): Remove too early test of modes on X. Fix pdf - mode. - - where_is_prog(): Fix this function to detect files in the - current directory. - - _get_prog_args() of main_set_mode(): Fix return; - - _get_first_prog() of main_set_mode(): Fix call of exit_test(). - - cat_z(): Make it a single function and add file test. - - whatis_setup(): Rename whatis_header(). Fix display title to - `whatis'. - - apropos_setup(): Fix display title to `apropos'. - - Globals: Fix this section in the description of several - functions. - - apropos_filespec(): Fix variable $s and the corresponding sed - call. - - man_setup(): Add $EXTENSION. - - _do_man_so() of to_tmp(): Fix variables. - - $_ALL_EXIT: Remove unused variable. - - $_TITLE_ELT: Remove unused variable. - - man_set_resources(): Fix setting of $_DISPLAY_ARGS. - - main_display(): Fix description. Remove $md_options. Let - $MANOPT override system variables. - -2006-09-16 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.26 - - ### Simplification of main_set_mode() - - * groffer2.sh: - - _get_first_prog() of main_set_mode(): Rewrite this function - such that it does not have an output, but set the variables - $_DISPLAY_PROG and $_DISPLAY_ARGS. - - _check_prog_on_list() of main_set_mode(): Rename and rewrite - _check_X_prog(). Suitable for being called for $_VIEWER_<mode>_X - and $_VIEWER_<mode>_TTY. No output, but set the variables - $_DISPLAY_PROG and $_DISPLAY_ARGS. - - _obj_set_vars() of main_set_mode(): Remove this function. It is - no longer necessary because its variables are set by the other - functions. - - _get_prog_args() of main_set_mode(): New function that - simplifies the loop in main_set_mode() and handles both - $_VIEWER_<mode>_X and $_VIEWER_<mode>_TTY. - - _process_mode() of main_set_mode(): Remove this function. - - main_set_mode(): Remove case for calling _process_mode(). In - the loop, use _get_prog_args() for simplification. - - main_parse_args(): Make --<mode>-viewer equivalent to - --<mode>-viewer-tty to make _process_mode() unnecessary. - - $_VIEWER_BACKGROUND: Start with `no'. - - ### Extend the documentation - - * groffer2.sh: - - Environment Variables: Add information on the naming of - variables in functions. - - $_ADDOPTS_POST, $_ADDOPTS_X: Remove these unused variables. - - apropos_setup(), apropos_setup (), base_name(), dir_name(), - echo1(), echo2(), func_check(), func_pop(), func_push(), - is_greater_than(), list_append(), list_from_split(), - _manpath_add_sys() of manpath_add_lang_sys(), rm_tree(), - special_filespec(), special_setup(), tmp_create(), to_tmp_line(), - usage(), version(), where_is_prog(), main_set_mode(): - Fix and extend the description. Many other function descriptions - were just fixed without being mentioned. - - landmark 7: man_*(): Add information on the search of `man' - pages. - - * groffer.man: - - GNU `man' option overview: Add --location, --no-location, and - --where. - - GNU `man' options: Add the GNU `man' long options that are - accepted by `groffer', but just ignored. - - MAN PAGE SEARCHING: Correct and extend this section. - - * TODO: - - Remove entry on function headers. - - Remove entry on GNU `man' options. - - Remove entry on search algorithm for `man' pages. - - ### Other fixes - - * groffer2.sh: - - man_get(): On `man' page search with given name and section - handle also files with extension when no files without extension - are found. - -2006-09-11 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.25 + The Perl version of groffer is a complete rewrite; most of its + files are found in the subdirectory perl/. - ### Version information + The Makefile.sub decides whether the shell or Perl version of + groffer is installed. This is done by the program perl_test.pl. - * groffer2.sh: - - version(): Add groffer to the version information; replace the - call of `groff --version'. + In the following, all files in the groffer directory tree are + mentioned. - ### Configuration Files + * ChangeLog: This file. It contains information for groffer + versions >= 1.0.0 with shell and Perl kinds. For older groffer + versions, see shell/ChangeLog.0 which contains information for the + shell only versions of groffer 0.*. - * groffer.sh: Fix the configuration handling by removing all - quotes. Arguments are ended by the end of the line. + * Makefile.sub: The old Makefile.sub was extended to support the + shell and the Perl version of groffer at the same time. If the + test of perl_test.pl succeeds the groffer Perl version will be + installed, otherwise the shell version is used. - * groffer.man: Fix the section on the configuration files. + * perl_test.pl: This is used by Makefile.sub and installed with + the Perl version of groffer. It is a test of the installed perl + version. The installed Perl version should be greater or equal + than the version that is required by this file. - ### Options + * version.sh: This is the old file kept from the shell version of + groffer. It stores the groffer version, the date of the last + update, and the groff version. It is used and installed for the + shell and Perl version of groffer. - * groffer2.sh: - - $_OPTS_GROFF_SHORT_NA: Add `-k' as new groff option. - - main_pars_args(): Add X options `--ft', `--bordercolor', - `--borderwidth'. - - usage(): Add `--debug-filenames'. Remove `*-viewer-tty'. - Correct first line after call of version(). - - main_parse_MANOPT(): Fix `-h', `-t', and `-u' as options without - argument. + * README: This is the old README file extended by information on + the shell and Perl kinds of groffer. - * groffer.man: - - Add documentation to `--fn', `--ft', `--bordercolor', - `--borderwidth'. - - Remove the `--*-viewer-tty' options. These options are still - supported by the groffer program, but they aren't needed any - more. + * perl/: Subdirectory for the Perl version of groffer. - ### soelim: Allow manpath and compressed files in .so requests, as - ### man does. - - * groffer2.sh: - - $_FILESPEC_IS_MAN: New variable for storing if a filespec is for - searching a man page. - - to_tmp(): Rewrite. For existing file as filespec argument, add - call of `soelim' with the corresponding `-I dir' before the call - of `grog'. For man paged, uncompress and store the files from .so - requests; replace the requests with the stored file names. - - _do_man_so() of to_tmp(): New function to handle the file of a - .so request. - - man_get(): For man pages without extension, add special search - strategy. - - * README: Add the .so handling to the Compatiblity section. - - ### Print file names debug - - * groffer2.sh: - - $_OPT_LOCATION: Replace this variable by - $_DEBUG_PRINT_FILENAMES. - - register_file(): Move file name printing and call to basename to - register_title(). - - _do_man_so() of to_tmp(): Add file name printing for man pages. - - ### modes - - * groffer2.sh: - - $_DEFAULT_MODES: New set of default modes in the sequence 'pdf', - 'html', 'ps', 'x', 'dvi', and 'tty'. That is done because the `x' - mode viewers `gxditview' and `xditview' are very bad programs. - - _make_pdf() of main_display(): If pdf format can not be - generated use Postscript mode (ps) instead for display. - - $_PDF_DID_NOT_WORK, $_PDF_HAS_PS2PDF, $_PDF_HAS_GS: New - variables for pdf mode to avoid several runs. - - $_VIEWER_TTY_TTY, $_VIEWER_TTY_X: Add these variables for the - viewers in tty mode. - - main_display(): Rewrite tty mode by using where_is_prog() to add - options to `less' from the command line. - - * groffer.man: - - Add this information. - - Adjust the viewers in `SEE ALSO'. - - ### Check viewer option for programs running in X Window - - * groffer2.sh: - - _check_X_prog() of main_set_mode(): New function for checking if - a program of a command line argument is in the list for X for this - mode. - - _get_first_prog() of main_set_mode(): Use where_is_prog(); - change the output to the same 3-element list as _check_X_prog(). - - _obj_set_vars() of main_set_mode(): New function for setting - some variables in several modes. Argument is the 3-element list - from _check_X_prog() or _get_first_prog(). - - _process_mode() of main_set_mode(): Remove part with - list_has_not_prog(). This is better done by _check_X_prog(). - - main_set_mode(): Use _check_X_prog() in different modes. - Correct several modes. Add reset of $_VIEWER_BACKGROUND at the - beginning of the loop of default modes. - - ### Allow man pages with space characters - - * groffer2.sh: - - man_is_man(): Fix grep calls. - - list_from_file(): New function that reads the lines of a file as - list elements. - - man_get(): Fix `case' applications by double-quoting all - variables. Use list_from_file() instead of setting with `cat'. - Add further tests. - - _do_man_so() of to_tmp(): Use list_from_file() instead of - setting with `cat'. - - ### Allow program names with space - - * groffer2.sh: - - is_prog(), is_not_program(): Change to exactly one argument with - possible spaces and arguments. Fix all calls. - - where_is_prog(): Change to exactly one argument. Change - variable prefix to `wip'. Rewrite it to support programs with - spaces and arguments. Return a list with 3 elements: the - program's directory, the program name, and the given arguments. - - main_display(): Correct tty mode. - - ### Further fixes - - * groffer2.sh: - - main_setup(): Fix func_check. - - clean_up(): Add variable to avoid several prints. - - where_is_prog(): Remove possible arguments from program - argument. - - obj_from_output(): As return value take the return value of the - called function. - - is_not_empty(): Rename of is_non_emtpy(). - - $_VIEWER_BACKGROUND: Rename $_VIEWER_TERMINAL and reverse its - values. - - list_has_prog(), list_has_not_prog(): Remove these functions, - they are no longer needed. - - * groffer.man: - - Add `--print' in OPTION OVERVIEW. - - Correct many entries with the non-breaking `\%' construct. - -2006-07-28 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.24 - - ### Extent long option abbreviation to abbreviations before each `-'. - - * groffer2.sh: - - list_from_cmdline_with_minus(): New function, the same as - list_from_cmdline() with multiple abbreviations around `-'. - - _search_abbrev(): Subfunction of list_from_cmdline_with_minus(). - - main_parse_args(): Use list_from_cmdline_with_minus() for - getting the double abbreviation, but keep main_parse_MANOPT() - to list_from_cmdline() for simple abbreviation of long options. - - For the debug test at the beginning, add the double abbreviation + * perl/groffer.pl: This is the groffer script of the Perl + version, a Perl source file that handles the complete groffer functionality. - * README_SH, groffer.man: Document the multiple set of - abbreviations by `-'. - - ### Fix handling of `--apropos*' and `--whatis' - - * groffer2.sh: - - apropos_filespec(): Fix handling of `/' and `.' in sed; add `\&' - at the beginning of each non-macro groff line in sed. - - main_parse_args(): Set $_MAN_OPT to `yes' if --whatis is called. - - main_do_fileargs(): Fix dealing with `apropos' for several - cases. - - apropos_*(), special_*(), whatis_*(): Add two different return - values. - - $_SPECIAL_SETUP: New variable to test whether apropos_setup() or - whatis_header() had been run. - - Add language locale to --whatis, the `whatis' program does not - support this. - - ### Handle several macro packages - - * groffer2.sh: - - $_MACROS: New variable to store the actual macro package. - - $_MACRO_PACKAGES: New variable for the full macro packages of - groff (man, mdoc, me, mm, mom, ms). - - to_tmp(): Add test for different macro packages. Ignore files - with a different one. - - main_do_fileargs(): Add different macro check before doing man - pages. - - ### Rewrite the man page search - - * groffer2.sh: - - $_MAN_SEC_CHARS, $_MAN_SEC_LIST: New variables from $_MAN_SEC. - Add these to man_setup(). - - man_get(): New function that finally gets the man page or man - pages for a filespec. Avoid double files. - - man_is_man(): New function that checks whether a name goes as - man page. - - manpath_add_lang_sys(): Fix handling of language addition for - short language names. - - main_parse_args(): Move handling of `-' to main_do_fileargs(). - - do_filearg(), man_do_filespec(), man_register_file(), - man_search_section(): Remove these functions. - - main_do_fileargs(): Rewrite this function together with - the removed functions. - - list_uniq(): New function to remove the multiple elements from a - list. - - ### Version handling. - - * version.sh: New file for $_PROGRAM_VERSION, $_LAST_UPDATE, and - $_GROFF_VERSION_PRESET. - - * groffer.sh: - - Add running of version.sh with `.'. - - Remove $_PROGRAM_VERSION and $_LAST_UPDATE. - - Run groffer2.sh with `.' instead of `exec'. This allows to have - groffer2.sh without executive access permission. - - Determine $_BEFORE_MAKE by @VERSION@, use this variable on more - places. - - * groffer2.sh: - - Remove executive access permission. - - version(): Write a version information without calling groff. - - * Makefile.sub: - - Add version.sh. Use $(INSTALL_DATA) instead of - $(INSTALL_SCRIPT) for version.sh and groffer2.sh. - - Add $(DESTDIR) to some elements of `sed' call in `groffer:'. - - ### viewers for different modes - - * groffer2.sh: - - $_VIEWER_HTML_X: Add `epiphany' as browser. - - $_VIEWER_PDF_X: Add `kpdf' and `evince' as pdf viewer for X. - Make `kpdf', `acroread', `evince', and `xpdf' the first automatic - pdf viewers for X because they support searching. Add `gpdf'. - - $_VIEWER_PS_X: Add `kpdf' and `evince' as ps viewer for X; make - `kpdf' the first automatic ps viewer for X because it supports - searching even for Postscript. - - ### pdf mode - - * groffer2.sh: - - _make_pdf() of main_display(): add `ps2pdf' as secondary - transformer. - - main_set_resources(): Allow setting of resolution for `xpdf' - only if option -z is not set for `xpdf'. - - ### Revise $_VIEWER_* - - * groffer2.sh: - - $_VIEWER_<mode>_TTY: Add this variable to each mode even if it - is only empty. - - $_VIEWER_<mode>_X: Rename $_VIEWER_<mode> to this for each - mode. - - ### Other fixes - - * groffer2.sh: - - is_empty_file(): New function. - - obj_from_output(): Quote arguments by building a list. - - path_list(): Output path list with unique elements. - - where_is_prog(): Rename where_is(). Handle all file names - having a slash somewhere instead of only those that start with a - slash. - - $_REG_TITLE_LIST: Replace $_REGISTERED_TITLE and make it a - list. - - $_OPT_TITLE: Make it a list with at most 1 element. - - Remove double quotes in case patterns. - - _func_test(): For the function test at the beginning, add this - function for output check with $() construct. - - usage(): Add --shell. - - $_VIEWER_HTML_X: Add `firefox' and `mosaic'. - - list_get(): Remove this unused function. - - Fix func_check() calls in all functions. - - * groffer.sh: Adjust groff version to 19.3. - - * README: Add information list of the source files. - -2006-02-26 Claudio Fontana <claudio@gnu.org> - - * Makefile.sub: Add DESTDIR to install and uninstall targets - to support staged installations. - -2005-09-14 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.23 - - ### Increase the speed for the search of man pages - - Run `find' on all man directories and ask this with `grep' instead - of scanning through many `ls'. - - * groffer2.sh: - - $_TMP_MAN: New variable with the name of the file that stores - the `find' of the man path. - - $_TMP_MANSPEC: New variable with the name of the file that - stores the man page file names for each filespec. - - man_setup(): Do the `find' of the man path with $_TMP_MAN. - - man_do_filespec(): Add creation of $_TMP_MANSPEC. - - man_search_section(): Rewrite it to use $_TMP_MANSPEC. - - * TODO: The demand on the increase of speed for man pages is now - removed. - - ### Increase speed by enhancement of debug - - * groffer.sh: $_BEFORE_MAKE: New variable that stores whether the - @...@ constructs are still available or already transformed by - `make'. - - * groffer2.sh: - - $_DEBUG_FUNC_CHECK: New debug variable that regulates the check - calls at the beginning and end of most functions done by the - functions func_<name>(). By default, this is enabled before the - run of `make', and disabled after. $_DEBUG_STACKS and - $_DEBUG_USER_WITH_STACK enable this variable automatically. - - --debug-func: New option for setting $_DEBUG_FUNC_CHECK. - - usage(), main_parse_args(): Add information for --debug-func. - - func_<name>(): Disable these functions if $_DEBUG_FUNC_CHECK is - not `yes'. - - * groffer.man: - - Add information on --debug-func. - - Move the sections on options for development to the end of - option processing. - - ### Fixes of man page search - - - man_search_section(): Repair it such that extensions do not - occur in the directory name. - - manpath_set_from_path(): Rewrite it. Add `.../MAN/...' - subdirectories additionally to `.../man/...'. - - manpath_add_lang_sys(): Rewrite it to overwrite _MAN_PATH by - systems parameter if any. Then _MAN_PATH is prepended by the - language part. - - _manpath_add_sys(): New subfunction of manpath_add_lang_sys() to - handle the sytems part. - - man_search_section: Fix it to handle section names that have - more than one character (an extension). - - $_MAN_PATH: Now stores man path as a list. This is done in - man_setup() and manpath_set_from_path(), and used in - manpath_add_lang_sys(). - - $_MAN_SYS: Now stores man systems parameter as a list. This is - done in man_setup() and used in manpath_add_lang_sys(). - - $_MAN_SEC_DONE, $_MAN_SYS_DONE, $_MAN_LANG_DONE: Remove these - variables. - - ### Reorder the beginning of groffer2.sh - - * groffer2.sh: - - func_<name>(): Move these functions to the functions in - alphabetical order. - - main_init(): Move "Test for compression" to this function. - - Move the "System Test" and function landmark() to the beginning - "Test of rudimentary shell functionality". Change landmarks 1 and - 2 to new positions. - - ### Fix the mode when not in X - - * groffer2.sh: - - main_parse_args(): Accept modes even when not in X, hoping for a - program given by option. Add $_OPT_VIEWER_<MODE>_TTY. Remove - $_VIEWER_TERMINAL. - - main_set_mode(): Add a section to set $_VIEWER_TERMINAL and move - the value of $_OPT_VIEWER_<MODE>_TTY to $_OPT_VIEWER_<MODE>. When - not in X and no terminal programs are set remove $_OPT_MODE. All - unknown programs are treated as terminal programs. - - usage(): Comment out options --<mode>-viewer-tty. They exist - and are handled by `groffer', but they are no longer documented. - - $_OPT_VIEWER_<MODE>_TTY: New variables for option - --<mode>-viewer-tty. - - $_DEFAULT_MODE, $_VIEWER_<MODE>: Change it from , separation to - a list. Rewrite _get_first_prog() of main_set_mode() to get - around with this. - - * groffer.man: Remove information on --<mode>-viewer-tty. - - ### Debug - - * groffer2.sh: - - $_DEBUG_PRINT_FILENAMES: New variable for printing the file - names that are displayed by `groffer'. - - --debug-filenames: The corresponding option. It is used in - man_register_file(), register_file(), and main_parse_args(). - - * groffer.man: Add information on --debug-filenames. - - ### Other changements - - * groffer2.sh: - - is_greater_than(): New function. Use it where suitable. - - lists_combine(): New function to combine several lists to a - single list. - - list_from_split(): Rewrite it to output a list with quoted - elements. - - list_has_prog(), list_has_not_prog(): New functions to check the - list on an element that starts with a given word. - - obj_from_output(): Use this function at many places instead of - `var="$(...)"'; this makes the usage of exit_test() unnecessary. - - path_clean(): Fix assignment. - - path_list(): Rename path_split(). - - tmp_create(): Add check of temporary file. - - usage(): Fix. - - * README_SH: - - Fix section `Error handling'. - - Add section `Speed'. - -2005-08-22 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.22 - - ### `--whatis' - - Produce a `groff' output and allow wild cards on filespec - parameters for `--whatis'. - - * groffer2.sh: - - $_FILESPEC_ARG: New variable for storing the actual filespec - parameter. - - main_do_fileargs(): Set $_FILESPEC_ARG and add - what_is_filespec(). - - main_parse_args(): Add --all to --whatis. - - to_tmp_line(): New function to write the arguments to the - temorary cat file. - - whatis_filename(): Rename of what_is(). Construct a better - printout using $_FILESPEC_ARG. Repair the sed sequneces. - - whatis_filespec(): New function to print the filespec once - during the `whatis' process. - - whatis_header(): New funtion for printing the header of the - `whatis' output. - - * groffer.man: Revise the documentation of --whatis. - - ### `--apropos*' - - Produce `groff' for `--apropos*'. Allow `--sections' for - `--apropos', ignore it with `--apropos-*'. - - * groffer2.sh: - - --apropos*: Make these options without argument. - - $_APROPOS_PROG: New variable for the program that is is used for - `apropos'. - - $_APROPOS_SECTIONS: New variable to determine the sections that - are filtered out of `apropos' output depending on `--apropos-*'. - - apropos_filespec(): Handling of apropos at the filespec level. - - apropos_run(): Remove it. - - apropos_setup(): New function. - - main_set_mode(): Remove handling of $_OPT_APROPOS*. - - * groffer.man: - - Revise the documentation of `--apropos*'. - - Split section 'options for GNU man' into two sections `options - for man pages' and `long options taken over from GNU man'. - - Move `--apropos*', `--whatis', `--man', and `--no-man' to - section `options for man pages'. - - ### special display (apropos and whatis) - - * groffer2.sh: - - special_setup(): New function that chooses the setup between - apropos and whatis. - - special_filespec(): New function that does the output at the - filespec level for apropos or whatis. - - ### handle `--sections' for man page searching - - * groffer2.sh: - - man_do_filespec(): Use $_OPT_SECTIONS of --sections instead of - $_MAN_AUTO_SEC if non-empty. If a section was given on the - filespec parameter $_OPT_SECTIONS is ignored. This differs from - `man' which always uses the restricted sections of --sections. - This function works for both normal man page search and whatis. - - apropos_filespec(): Use --sections for --apropos, but not for - --apropos-* because these provide already their own sections. - - ### wildcards in filespec arguments - - * groffer2.sh: Wildcards are now accepted. In `--apropos*' and - `--whatis' they are interpreted as wildcard search elements; but - in normal display they are only handled as their own character. - - ### development; new option - - * groffer2.sh: - - --print: New option that prints just its argument for parameter - check. - - usage(): Add new option. - - $_OPT_DO_NOTHING: New variable for do_nothing(). Handle it at - the end of main_parse_Args(). - - * groffer.man: Add information on --print. - - ### safe exit - - * groffer2.sh: - - error(): Always exit with $_ERROR. - - exit_test(): New function to exit when first exit was hidden by - (). Call it after each $(). - - ### automatic shell determination - - * groffer.sh: - - If no option --shell is given perform a test of several shells - to automatically start some shell for groffer2.sh. `ksh' is used - first because it can be safely terminated by Ctrl-C. - - This can be cancelled by providing --shell=''. - - Add test on `sed' program. - - * groffer.man: Revise information on --shell. - - ### trap - - * groffer2.sh: - - trap_set(): Remove argument. Instead of $_ALL_EXIT use only - signal 0. - - trap_unset(): Rename trap_clean(). Instead of $_ALL_EXIT use - only signal 0. - - $_ALL_EXIT: Remove this variable. - - Replace all direct `trap' calls by trap_set(). - - * README_SH: New section `Bugs' on `trap'.. - - ### user errors, error output without function stack - - * groffer2.sh: - - error_user(): New function for user errors. - - error(): Remove call of clean_up() because the trap will do it - with the exit. Remove the `kill' commands. Create a temporary - file `.error' that can be tested by exit_test() for a better exit - test (especially for shell `ksh'). - - $_DEBUG_USER_WITH_STACK: New variable to enable function stack - output in error_user(). - - list_from_cmdline(), list_single_from_abbrev(), main_set_mode(): - Use error_user(). - - ### test modes on X and tty - - * groffer2,sh: - - is_X(), is_not_X(): New functions for checking on X Window. - - $_VIEWER_HTML_TTY, $_VIEWER_HTML_X: New variables that split - $_VIEWER_HTML. Add `galeon'. - - main_parse_args(): Allow mode change for graphical modes only - when in X Window. - - _do_display() of main_display(): Create a special run for - viewers that run on the terminal; `lynx' is the only one so far. - - ### add $GROFFER_MODE to command line - - * groffer.sh: - - After the handling of the configuration files integrate - $GROFFER_OPT to the command line. - - This makes a `set' in the shell determination unnecessary. - - * groffer2.sh: - - The debug test gets simpler because quotes are vanished without - $GROFFER_OPT. - - main_parse_MANOPT(): Prepend $mpm_list to the command line. - - main_parse_args(): `set' is unnecessary. - - ### debug; new options - - * groffer2.sh: - - --debug-all, --debug-lm, --debug-params, --debug-shell, - --debug-stacks, --debug-tmpdir, --debug-user: New options. - - --debug: Enable all debug variables except $_DEBUG_STACKS and - $_DEBUG_LM. By the new options the smallest abbreviation is now - `--debug'. - - $_DEBUG_STACKS: Rename $_DEBUG. - - $_DEBUG_PRINT_TMPDIR: New debug variable for printing the name - of the temporary directory in main_init(). - - $_OPT_DEBUG: Remove this variable because debug is handled at - the early part of the script. - - clean_up(): Enlarge $_DEBUG_KEEP_FILES to not deleting the - temporary directory. - - usage(): Move all development options on a section of its own. - - Move the test of rudimentary shell functionality at the - beginning of the script. Add test on `sed'. - - Follow this by the debug section. The determination of all - --debug* options can be done without a function. - - * groffer.man: Revise information on --debug and add new options. - - ### variables - - * groffer.sh: - - $_ERROR: Move the definition of this variable here. - - $_GROFF_VERSION: New variable, is set over @...@ construct. - - $_OUTPUT_FILE_NAME: Move this variable to groffer2.sh. - - * groffer2.sh: - - $_MAN_AUTO_SEC_LIST: Rename $_MAN_AUTO_SEC because it represents - a list. - - $_MAN_AUTO_SEC_CHARS: New read-only variable for storing - $_MAN_AUTO_SEC_LIST in [] construct. Use it in man_do_filespec() - and whatis_filename(). - - $_SPACE_CASE: New read-only variable with [] on space characters - with \ for `case' patterns. Use it in several functions. - - $_SPACE_SED: New read-only variable with [] on space characters - for `sed'. Use it in several functions. - - ### options and display - - * groffer2.sh: - - list_from_cmdline(): Add test whether the same abbreviation is - part of long options with and without arguments. Give handling of - `=' a `case' pattern of its own. - - main_display(): Remove unnecessary calls of `clean_up' in order - to use `mozilla' without problems. In _do_display(): Fix -X by - providing a different process when $_DISPLAY_PROG is empty. - - main_set_mode(): Accept options for viewers as is, without check - for program. Add test whether no program is given for a mode. - This avoids unnecessary empty $_DISPLAY_PROG in main_display(). - - ### viewer programs that run on the terminal (tty); new options - - * groffer2.sh: - - $_VIEWER_TERMINAL: New variable that stores whether a viewer was - supposed to run on tty. - - --dvi-viewer-tty, --html-viewer-tty, --pdf-viewer-tty, - --ps-viewer-tty, --tty-viewer-tty, --X-viewer-tty, --x-viewer-tty, - --www-viewer-tty: New options for viewers that run on a terminal. - - main_parse_args(), _do_display() of main_display(): Use the new - options and the new variable. - - usage(): Add the new options. - - * groffer.man: Add information on options --*-viewer-tty. - - ### other fixes - - * groffer2.sh: - - _do_display() of main_display(): Bear errors of `groff' run. - - is_not_file: Fix to have exactly one argument. - - is_not_prog(): Handle no arguments. - - list_has_not(): Fix. - - main_do_fileargs(): Remove $mdfa_exitcode. - - register_title(): Limit title to 4 elements. - - version(): Print the version information to standard output just - like `groff' does. - - --no-special: New option to disable former calls of `--all', - `--apropos*', and `whatis. - - --title: Make it an option with argument. - -2005-08-07 Keith Marshall <keith.d.marshall@ntlworld.com> - - * contrib/groffer/Makefile.sub (install): Reference groffer2.sh - as $(srcdir)/groffer2.sh, so it will install when building in a - different directory from the source. - -2005-08-02 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.21 - - ### @...@ constructs - - * groffer.sh: - - $_AT: New variable for `@'. - - @...@: Replace the @...@ constructs by variables _AT_..._AT. - These constructs are transformed by `make' to useful information. - Keep all of these constructs in the first part of groffer.sh. For - a run before a `make' call, the script sets these variables to - special values for testing purpose. - - $_GROFFER_LIBDIR: Variable pointing to the groffer library - directory @libdir@/groff/groffer. - - ### Configuration files - - * groffer.sh: - - Add test for `$()' construct. - - Read and transform the configuration files and execute the - emerging commands. The `sed' script was heavily enlarged to - handle line with spaces and quotes. The emerging script is now - called by `eval', so no temporary file is needed. - - $_CONF_FILE_ETC, $_CONF_FILE_HOME: New variables for the config - files. - - $_SQ, $_SP: Move variables for characters before the handling of - the configuration files. Rename $_SQUOTE to $_SQ and $_SPACE to - $_SP. - - $GROFFER_OPT: Remove cleaning of this variable before the - reading of the configuration files. - - * groffer2.sh: - - main_init(): Remove the getting of the configuration files. - - ### Rewrite the shell determination - - * groffer.sh: - - Get rid of all functions in `groffer.sh'. Rewrite the shell - determination with `` and $(). - - --shell: Shortest abbreviation is `--sh'. Allow arguments for - the shell name. - - Allow an empty argument for --shell as shell name to overwrite a - specified shell; an empty shell name gets back to the default - shell. - - The shell determination now inludes the full handling of the - config files. The `--shell' option needs no longer a line - starting with `-'. - - ### Test of unset - - * groffer.sh: - - Remove test of `unset'. - - Remove all calls of `unset'. - - Use one character names for all variables that are meant to be - local in this script. - - * groffer2.sh: - - Move the test of `unset' to the testing of rudimentary shell - functionality without change. - - ### Allow abbreviations for long options - - * groffer2.sh: - - list_has_abbrev(): New function for checking a list having an - element with a given abbreviation. - - list_get_single_from_abbrev(): New function to retrieve the - element having a given abbreviation. - - list_from_cmd_line(): For an option abbreviation determine the - corresponding long option. - - From the man option lists remove the elements that are also in - a groffer list. - - Allow abbreviation for the early test of --debug. - - * groffer.sh: Allow abbreviation for the early test on --shell. - - get_opt_shell(): Rewrite _get_opt_shell() and the shell test - around it. - - test_on_shell(): Rename function _test_on_shell(). - - $_SHELL: global variable for the shell to run groffer2.sh. - - ### Get rid of `sh -c' - - * groffer2.sh: - - main_display(), _do_display(): Remove the `sh -c' calls. Make - the cleanup working without it. - - _do_display(): Extend _do_display() such that it can be used for - the pdf mode as well. - - _make_pdf(): New subfunction of main_display() for running the - additional parts of pdf mode in _do_display(). - - rm_file(), rm_file_with_debug(), rm_tree(): New functions for - removing files and directories. - - ### Change directory - - * groffer2.sh: - - $_START_DIR: New variable to store the directory at the starting - time of the script. - - main_display(): Go to the groffer temporary directory to be able - to process internal `groff' data like pictures. - - clean_up(): Get back to the starting directory. - - ### Compatibility with strange shells - - * groffer2.sh: - - clean_up(): `zsh' and `posh' had difficulties with `eval'. - - is_*(): Add test on empty argument. Some shells return true on - `test -d' etc. with empty argument, while most shells return - false. - - echo1(); New function to print single line `cat <<EOF'. Replace - all `echo x' by `echo1'. - - list_has_abbrev(), list_from_cmdline(): Correction. - - main_parse_MANOPT(): Repair and revise. - - --do-nothing: New option without output (for development). - - Rewrite rudimentary shell functionality near the beginning of - the script. - - * groffer.sh, groffer2.sh: - - Remove `;' after the commands `if', `while', and `until'. - - ### Debugging information - - * groffer2.sh: - - $_DEBUG_PRINT_PARAMS: New variable for printing all parameters - from the config files, $GROFFER_OPT, and command line after they - have been transformed. - - $_DEBUG_PRINT_SHELL: New variable for printing the name of the - shell found in groff.sh. - - main(): Move the landmarks of main-*() into main(). - - ### Further checks and additions - - * groffer.sh, groffer2.sh: - - $_PROGRAM_NAME: Replace this variable by `groffer'. The program - name is now stable. - - $_GROFFER_RUN: Remove this variable. As `groffer.sh' or - `groffer' is no longer rerun, this variable is not necessary any - more. - - * groffer2.sh: - - main_set_resources(): Make the default viewers capable to use - arguments in the list. - - leave(): Add an argument for given exit code. Use it where - suitable in main_*(). - - do_filearg(): Add error messages for non-existing files and man - pages. - - _do_opt_V(): New subfunction of main_display() to handle the - output for option `-V'. `groff -V' is greatly enlarged by - `groffer' specific information. - - register_title(): Handle file names with spaces. Replace spaces - by `_'. - - is_existing(): Add `test -c' for special files. - - usage(): Add `=arg' to the options with an argument. Add option - `--tty-viewer'. - - kghostview: In the default viewer list, add option - `--scale=1.45'. - - $_OPTS_CMDLINE_SHORT_NA: Correct a lacking space. - - * Makefile.sub: Repair the installation instructions for - groffer2.sh. - - * groffer.man: - - Add paragraph on option handling. - - Add option `--do-nothing'. - - Reorder option for development and `groff'. - - Rewrite documentation for option `-V'. - - Expand `--shell'. - - Reformulate sections CONFIGURATION FILES, COMPATIBILITY and SEE - ALSO. - - Make `man' italic where possible. - - .copyleft: Adjust the fonts. - - * README: Update sections `Output' and `Compatibility'. - - * README_SH: - - Add `mksh' as compatible shell. - - Add information on the scripts after the split. - - * TODO: Remove some fulfilled parts. - - * ChangeLog: Remove final spaces. - -2005-07-30 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.20 - - ### Split groffer.sh into two files groffer.sh and groffer2.sh. - - * groffer.sh: - - Remove the second part of this script. It is now in - groffer2.sh. - - $_GROFFER2_SH: New variable to point to the installed position - of `groffer2.sh'. This position is presented using @libdir@. - - * groffer2.sh: New script containing the second part of - groffer.sh. This script will be installed in the groffer library - directory @libdir@/groff/groffer, this might be - /usr/local/lib/groff/groffer/groffer2.sh for example. - - * Makefile.sub: - - `groffer': Add replacement of @libdir@. - - `install_data': Add the installation of the groffer library - directory and groffer2.sh. - - `uninstall_sub': Delete the installed `groffer2.sh' and the - groffer library directory. - - * README_SH: - - Remove the function list. - - Add argument options to the list of used commands. - - Documentation of the splitting of the script. - - Document the possible abbreviation of options. - -2005-07-07 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.19 - - * groffer.sh: extensions - - `mode x': Mode for the equivalent options `--x', `--mode x', - `--X' `--mode X', and the default mode. The default assumes a - resolution of 75 dpi. The default device for a resolution of 75 - dpi is `X75-12', the default device for a resolution of 100 dpi is - `X100'. The default geometry for the resolution of 100 dpi is set - to the width 800 dpi. - - `mode X': New mode for option -X only. - - `-V': Extent the `groff' output of -V by `groffer' specific - information (in main_display()). - - register_file(): Replace title `-' by `stdin'. - - $_DEBUG_KEEP_FILES: If set to `yes' the files in the temporary - directory are not deleted before the end trap. - - * groffer.sh: get `zsh' to work as well - - tmp_create(): Use `: >file' for generating an empty file. - - rmdir: Replace `rmdir' by `rm -f -r'. - - eval: Add `eval' to many commands with variable arguments. - - * groffer.sh: repair `debug' - - Print all debug output to stderr. - - $_FUNC_STACK: Built function call stack even when $_DEBUG is not - set. Now the arguments are not added. - - $_DEBUG: If set to `yes' print 3 call stack events: the function - that is added with its arguments is printed with `+++ ' - (func_push()); the call stack after the addition is printed with - `>>> ' (func_push()); the call stack after the removing is printed - with `<<< ' (func_pop()). - - error(): Always print the function call stack on errors. - - * groffer.sh: Corrections - - $_groffer_run: Rename to $_GROFFER_RUN. - - $unset: Rename to $_UNSET. - - Repair test of `unset'. - - Repair test for `--shell'. The script is now rerun under the - shell specified in the option argument. This can increase the - speed. - - * README_SH: `zsh' now works. - - * groffer.man: - - Reformulate the information for the `groffer' specific details - of option `-V'. - - Add information on the debug process. - - Add information on the default devices in `x mode'. - - Minor corrections. - -2005-07-01 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.18 - - * groffer.sh: further shell compatibility - - `echo': Remove options and possible options of `echo' by - preceding the argument with a character `x' that is removed by - `sed' or replace `echo' by `cat <<EOF'. `echo -n' seems to be not - portable, so it is omitted. - - `for': Remove `;' from within `for' (because of ksh). - - `ls': Old UNIX systems echoed the error message to standard - output. So handle the output with `sed'. If the output contains - `not found' map it to an empty string. - - `true': Replace `true' by command `:'. Remove test of `true' - (because `ash' refuses the redefinition of builtins even in an - unreachable `if' branch). - - `false': Remove test of `false'; it isn't used any more. - - `test': As `test -e' does not exist in Solaris 2.5 replace it by - `test -f || test -d'. - - `unset': `unset' is said to be not portable. As `ash' protests - against the definition of the function `unset()' in the test of - `unset' replace the test by defining `$unset' to `unset' if it - exists and to `:' otherwise. Use `eval $unset' instead of the - direct command `unset'. - - _get_opt_shell(): Replace `for' loop with `shift' by `while'. - - man_search_section(): Replace `for f in filename*' by a test on - the existence of `filename*'. - - `zsh' interprets `$...' as `"$..."'. So `eval' must be called; - This cannot be used in `for i in $f', so it must be rewritten as - `for i in $(eval set x $f; shift; echo "$@")' - - * groffer.sh: - - `--X', `--x', `--mode=X', `--mode=x': Make these options - equivalent to choosing an X device by setting `-TX75-12'. `-X' is - still equivalent to `groff -X'. - - main_init(): Choose the name of the temporary file by adding a - number using `expr' if it exists and cannot be removed. - - main_parse_args():Repair some options by replacing `$mpa_mode' - by `$_OPT_MODE'. - - catz(): Rename it to cat_z() to avoid problem with existing - programs. - - where(): Rename to where_is(). - - $_CONFFILES: Rename to $_CONF_FILES. - - $_HAS_BZIP: export and preset it. - - * groffer.man: - - Document the `X mode' changes. - - Add `@g@' to `troff'. - - * README, README_SH, TODO: - - Add date line `Latest update:'. - - Add `...' quoting to essential terms. - - Add Emacs mode at the end. - - * README_SH: - - Add documentation on the above compatibility changes. - - Add documentation on used commands. - - Mention the tested shells. - - * Makefile.sub: - Readd `@g@'. - -2005-06-23 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.17 - - * groffer.sh: get rid of `local' in functions (it is not POSIX) - - Replace local variables by variable names with a special prefix - that is an abbreviation of the corresponding function name (quasi- - local variables). - - Unset the quasi-local function variables before returning. - - _t_e_s_t_f_u_n_c_(): Remove tests for local and global - variables. - - Add quasi-local variables for saving the content of - single-character variables. - - Remove some unused local and global variables. - - Several variables were forgotten to make local. They are now - made quasi-local. - - * groffer.sh: other corrections - - $return_var: New function (after `eval') for an arbitrary - return value. - - obj*(): Add return modes. - - Rewrite tests for `true' and `false'. - - Add function names to error calls where it was forgotten. - - `for': Replace `for x in "$@"' by `for x'. - - `set': Replace `set -- ...' by `set x ...; shift'. - - `sed': Replace `\|.*|s|...|...|' by `s|...|...|'. - - * README_SH: - - Add information on the removing of `local'. - - New section for non-POSIX shell restrictions. - -2005-06-20 Keith Marshall - - * README-SH: Information of `Portable shells' in info autoconf. - -2005-06-19 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.16 - - * groffer.sh: Place each `then', `else', and `do' on a line of its - own because some shells do not support the mixture mode. - - * groffer.man: Add section `BUGS'. - - * README_SH: - - Add compatibility information. - - Correct documentation for function arguments. + * perl/man.pl: This is the collection of functions that are + related to man pages, apropos, and whatis. It is loaded by + perl/groffer.pl. -2005-06-18 Keith Marshall + * perl/func.pl: This is the collection of miscellaneous functions. + It is loaded by perl/groffer.pl. - * groffer.sh: $_NULL_DEV: Replace /dev/null by $_NULL_DEV which is - either /dev/null or NUL if /dev/null does not exist. + * perl/split_env.sh: A shell script that is used by + perl/groffer.pl to split a large shell environment variable to a + Perl array. -2005-06-17 Zvezdan Petkovic + * perl/groffer.man: This is the man page of the Perl version of + groffer. It is derived from groffer.man of the shell version. It + will only be installed when the Makefile.sub chooses to install + the Perl version of groffer instead of the shell version. - * Makefile.sub: $(RM): Define it to `rm -f' because not all `make' - programs have it predefined. + * perl/README_PERL: This file contains information of the Perl + compatibility and details that are special to the Perl version. -2005-06-16 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.15 - - * Makefile.sub: - - Use `$(RM)'. - - Use `sed -f $(SH_DEPS_SED_SCRIPT)'. - -2005-05-20 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.14 - - * groffer.man: correction of non-hyphenation - -2005-05-17 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.13 - - * groffer.sh: - - $_VIEWER_DVI: Add `kdvi'. - - $_VIEWER_PDF: Add `kghostview', `ggv', and `kpdf'. - - $_VIEWER_PS: Add `kghostview' and `ggv'. - - $_modefile: For the output file name, add extension .ps for ps - mode and .dvi for dvi mode. This exists already for the html and - pdf modes. - - Update some parts of the documentation. - - * README, README_SH: - - Move some parts on usage from README_SH to README. - - Reformulate several parts of both files. - - * groffer.man: update - -2005-05-14 Keith Marshall - - * groffer.sh: - - first line: Add space to `#! /bin/sh'. - -2004-11-15 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.12 - - * groffer.sh: - - main_init(): Rewriting of the creation of the temporary - directory to ensure that it cannot be made writable apart from the - user. If the directory already exists and cannot be removed then - append `X' to the directory name. - - is_non_empty_file(): fix it to use POSIX `test -s'. - - is_existing(): new function. - - POSIX `rm -f -r': use this in `clean_up()' and `main_init()'. - - `--macro-file': remove this unused long option. - - `-V', `--source', `--device': move these from groff options - to groffer options. - - `$_TMP_DIR_SUB': remove this unused variable. - -2004-06-15 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.11 - - * groffer.sh: - - To the search of the `--apropos-*' options, add man pages with a - subsection in their apropos output. - -2004-06-02 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.10 - - * groffer.sh: - - Remove automatic call of `ash' due to inconsistencies of - different ash versions. - - In the first run, add recognition of `--shell' lines in the - groffer configuration files. To configure an external shell in - a configuration file, a line starting with `--shell' is - necessary. - - list_from_cmdline(): Simplify the arguments. - - As $POSIXLY_CORRECT is internally set to `y' by some GNU - `/bin/sh' shells the following 2 fixes are necessary: - -- `sed': Empty patterns are not allowed with $POSIXLY_CORRECT - set; so move the address information before the `s' command to the - pattern after the command, and write `.*' to the address field. - -- list_from_cmdline(): Remove the strange $POSIXLY_CORRECT style - to finish the option processing after the first non-option - argument; use the flexible GNU mixing of options and file names - instead. - - * groffer.man: - - Remove any hints on `ash'. - - Add minus line behavior of `--shell' for configuration and add a - corresponding example. - - Update the information on $POSIXLY_CORRECT. - -2004-05-29 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.9 - - * groffer.sh: - Fix first run section to allow the starting shell to go on if - `ash' is not available. - - * groffer.man: - Remove unnecessary information on groffer version. - -2004-05-12 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.8 - - * groffer.sh: - Fix problems of `test' by adding subs to arguments. - - * groffer.man: - Write the file license as macros that are called in sections - AUTHOR and COPYING. - - * .cvsignore: - Restore this file. - -2004-04-30 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.7 - - * groffer.sh: - - obj(), obj_data(), obj_from_output(), obj_set(): New object - oriented functions to minimize complicated `eval' commands. - - list_*(): Corrections. - - usage(): Streamlining. - - * groffer.man, README_SH: - Corrections. - -2004-04-27 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.6 - - This version replaces the license of all files except ChangeLog of - the groffer source to the GNU General Public License (GPL) of the - version described in files COPYING and LICENSE in the groff top - source directory. - - * groffer.man: - Changement from the GNU Free Documentation License (FDL) to - the GNU General Public License (GPL). - - * README, README_SH, TODO: - Add license GNU General Public License (GPL). - - * Makefile.sub, groffer.sh: - Keep the GNU General Public License (GPL), but refer to the - COPYING and LICENSE files. - - * ChangeLog: Add a license in the style of Emacs ChangeLog file, - which is weaker than the GPL, but has its flavor. - -2004-04-24 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.5 - - This version is a rewrite of groffer in many parts, but it is kept - in the old single script style. - - Overview of new options: - --text, --mode text, --tty-viewer, - --X, --mode X, --X-viewer, --html, --mode html, --html-view, - --apropos-data, --apropos-devel, --apropos-progs - - New file: - <groffer-source>/README_SH - - - ******* Extension of the `apropos' handling - - The output of man's `apropos' has grown immensely meanwhile, so it - has become inefficient. Now `groffer' provides new options to get - the a selected information from this output. - - * groffer.sh: - `--apropos-progs': new option for displaying only information - on programs (man page sections 1, 6, and 8) - `--apropos-data': new option for displaying only information - on documented data (man page sections 4, 5 and 7) - `--apropos-devel': new option for displaying only information - on development documentation (man page sections 2, 3 and 9) - `--apropos': still displays just the output of man's `apropos' - program. - - Specify all of these options as a single argument option; that - makes groffer's `--apropos' option slightly different because - the corresponding `man' option does not have arguments, but takes - all file arguments as apropos targets. So just ignore the `man' - options `-k' and `--apropos' in the parsing of $MANOPT. - - Exit after processing one `apropos' call. - - - ******* Quasi object oriented function arguments - - An object is the name of an environment variable. The value of - this variable contains the object's content. This allows to - specify function arguments and the calling syntax in a simpler way - by letting the first argument be a variable name, usable for input - or output. - - Such an object type is `list', the string value of a shell - variable arranged in space-separated single-quoted elements, such - as $GROFFER_OPT internally. - - * groffer.sh: - - Remove list_from_args(), list_element_from_arg() - list_from_lists(), list_length(), and list_prepend(). - They can be replaced by list_append(). - - All list*() functions are rearranged such that the first - argument is a list object, the name of a variable. - - - ******* Simplification of configuration files - - The new syntax of the groffer configuration files is - - all lines starting with a `-' character are interpreted as - command line options for all calls of groffer; they are collected - and prepended to the actual value of $GROFFER_OPT; optional - spaces at the beginning.of the line are omitted. - - all other lines are interpreted as a shell command and executed - in the current shell of the groffer call. - - Precedence: - - The command line and the external environment variables such as - $GROFFER_OPT of the groffer call have the highest precedence. - - This is overwritten by the configuration file in the user's home - directory. - - The system configuration file in /etc has the lowest - precedence. - - * groffer.sh: - The configuration files are now called after the determination of - the temporary files in main_init(). - - - ******* Script file name - - The file name of the script is needed for the several calls during - the search for the optimal shell. - - * groffer.sh: - - $_GROFFER_SH: replace $_this by $_GROFFER_SH and use $0 for - determining the file name of the script for the following calls, - instead of the cumbersome @BINDIR@ construction. - - Force the script to be called as an executable file, so $0 must - contain the program name. - - - ******* Improved temporary file names - - Just like groff, groffer mixes all file parameters into a single - output file. Its name is now constructed as a comma-separated - list built from the file name arguments without a leading comma. - So a leading comma can be used for the internal temporary file - names. - - * groffer.sh: - - $_OUTPUT_FILE_NAME: new global variable as basis for the output - file name; it is set in main_set_resources(). - - tmp_create(): use `,name' for temporary files different from - output file because the output file name does not start with a - comma. `$$' is not needed anymore. - - main_display(): simplification of $_modefile in _do_display() - and single display modes. - - Add extension `.html' to output file name in html mode. - - base_name(): correction for strange positions of `/'. - - - ******* Mode fixes - - * groffer.sh: - - Set the main default mode to `x' with groff's X Window viewer - `gxditview'. - - Allow 'x' and 'X' in `--mode' for the X Window mode; the same - for `--x' and `X', `--x-viewer' and `--X-viewer'. - - Make groff's `-X' equivalent to `mode X'. - - Fix `--auto', `--mode auto', and `--default-modes'. - - `html' mode: new mode equivalent to `www', add `konqueror' and - `lynx' as viewers. - - `pdf' mode: fix zoom options for pdf-viewer `xpdf' in - main_set_resources(); in main_display() fix the display structure. - - Set default X Window resolution to 75dpi. This is not optimal, - but with a higher value the options and resources for some viewers - must be optimized. - `--text' and `--mode text': new option for text output without a - pager. - - `--tty-viewer': new option equivalent to `--pager'. - - Correct the pagers for `tty' mode. - - Fix `groff' mode in main_set_resources() and main_display(). - - Harmonize `--mode arg' with the equivalent options `--arg'. - - - ******* Fixes for command line options - - * groffer.sh: - - list_from_cmdline(): fix the parsing of options with arguments. - - Rename $_OPT_TTY_DEVICE to $_OPT_TEXT_DEVICE. - - $_OPTS_X_*: new variables for the inhereted X Window variables. - - Improve the distribution of the command line options into - $_OPTS_GROFFER_*, $_OPTS_GROFF_*, $_OPTS_X_*, and $_OPTS_MAN_*. - - $_OPTS_MANOPT_*: new variables for the parsing of $MANOPT. - - Correct $_OPTS_CMDLINE_*. - - Remove some unused $_OPTS_*. - - `--iconic': new option from `-iconic' of the X Window toolkit. - - Correct `--rv' to an option without argument. - - Minor fixes of other X Window toolkit options. - - - ******* Other fixes - - * groffer.sh: - - is_prog(): allow 0 arguments. - - is_not_writable(): new function. - - is_*(): fix trailing return codes. - - Replace most `test' calls by is_*() functions. - - man_setup(): due to bugs in `manpath', prefer - manpath_set_from_path() for the determination of the man page path. - - man_search_section(): correction of some `for' loops. - - Remove export of external non-groffer variables. - - - ******* Documentation - - * groffer.man: - - Reorder the option details according to the option origin as - groffer, groff, X, and man options. - - Add the programming changes information mentioned above. - - Support man pages with a dot in their name - - * README_SH: new file - Move large parts of the documentation in `groffer.sh' into this - file. - - * groffer.sh: usage(): - - Change the output for `--help' to standard output. - - Restructure the information for this help output. - - - ******* Removement of the author's email address - - Because of the extreme spam attacks, the author removed all - occurencies of his email address in every file of the groffer - source. - -2003-01-22 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.4 - - * groffer.sh: corrections for some restrictive shells - - Possible exit codes in actual `ash' are between 0 and 63. To - handle even deeper restrictions, use 7 as maximal code instead - of 255 as replacement for error -1. - - Remove variables $_BAD2 and $_BAD3. - - Replace `trap' argument `EXIT' by 0 and write new fuctions - `trap_clean' and `trap_set' to handle the restrictions of `trap' - for some shells. - - Correct wrong $MANPATH to $_MAN_PATH in function - `man_do_filespec'. - - Test existence of directory before deleting it in the - `clean_up' definitions. - - Correct help output in `usage' (called by `--help'). - - * TODO: - Remove mention of `shoop' and `apropos'. - -2002-10-21 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.3 - - * groffer.sh: new temporary subdirectory - - Generate temporary subdirectory for storing temporary files - with better names in future groffer versions (name: - "groffer$$" in usual temporary directory). - - Use `umask 000' for temporary files to allow cleaning up - for everyone after a system break. - - Change both clean_up() functions (for normal shell and - for main_display() subshell) to handle the new subdirectory. - - clean_up_secondary() and $_TMP_PREFIX are unnecessary now, so - they were removed. - - * Makefile.sub: `sed' commands for "groffer:" - - Remove "@g@" entry (not used in "groffer.sh"). - - Add global replace for "@BINDIR@" and "@VERSION@" for future - usage. - - * TODO: think about... - - writing part of groffer in C/C++. - - handling several files with different macro packages. - -2002-10-17 Bernd Warken - ________________________________________________________________ - * fixes of groffer 0.9.2 - - * groffer.sh: - Terminate main_parse_MANOPT() if $MANOPT is empty or consists - of space characters only. - - * groffer.man: some fixes in "GROFFER OPTIONS" - - New macro ".Header_CB" for CB font in .TP headers; used for - definition of variables in option --mode. - - Fix some option references to refer to long options. - - * README: - New file for general information on the groffer source; it is - not installed. - -2002-10-14 Bernd Warken - - * Makefile.sub: - add replacement "@BINDIR@" to "$(bindir)" for "groffer:" - - * groffer.sh: - Define $_this as "@BINDIR@/${_PROGRAM_NAME}" to save the right - installation position of groffer for the special shell calling. - - * groffer.man: - Remove double definition of filespec parameters. - -2002-10-13 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.2 - - * groffer.sh: fixes - - Fix some 'sed' functions: two in func_stack_dump(), one in - base_name(), add 'sed' command in list_from_cmdline(). - - Finish main_parse_MANOPT() if $MANOPT is empty. - - Sort $_OPTS_GROFF_SHORT_NA like groff short options (but - unchanged). - - Fix some comments. - - * groffer.man: make it more readable (but no additions) - - A shortened section "SYNOPSIS" is followed by a simplified - section "DESCRIPTION". - - The options from "SYNOPSIS" go to new section "OPTION - OVERVIEW" with all groffer options in a single subsection. - - The details of all groffer options are described in section - "GROFFER OPTIONS". - - New macro for file names ".File_name". - - "Option Parsing" is moved to section "COMPATIBILITY". - - Fix some "EXAMPLES". - -2002-09-30 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.1 - - * TODO: remove done entries - - Remove request for different shells. - - Remove the 'sed' complaints. - -2002-07-15 Bernd Warken - - * groffer.sh: replace `sed' interface by direct `sed' - - This improves the performance of the shell programming parts - and shortens the groffer script by about 5%. - - Remove functions: string_del_append(), string_del_leading(), - string_del_trailing(), string_flatten(), string_get_before(), - string_get_leading(), string_replace_all(), string_sed_s(), - and their auxiliary functions. - - Replace all calls of these functions by direct `sed' commands. - - Define variables for special characters to ease `sed' calls. - - Remove `$APPEND'. - - Restrict list_from_string() to single character separators. - - Correct list_check() and base_name(). - - Add comments to all calls of `sed'. - - * groffer.sh: add run-time support for several shells - - New option `--shell': stop execution and rerun groffer under - the shell specified in the argument of `--shell'. - - If no shell was specified at run-time, `ash' is tried first; - if `ash' is not available continue with the shell with which - groffer was called from the command line, or with the shell - name in the first line of the script, actually `/bin/sh'. - -2002-07-12 Bernd Warken - ________________________________________________________________ - * fixes for groffer 0.9.0 - - * groffer.sh: enhance version information - `groffer -v|--version' now print: - - groffer's version number and date - - the string `is part of ' - - groff's version information (version number and copyright), - but not groff's `called subprograms' information. - - * groffer.sh: minor fixes - - Fix the argument parser to process argument `-' correctly. - - Some display programs have trouble with empty input; feed a - line consisting of a single space character in this case for - all display modes (not for source or groff modes). - - * TODO: - fix entry `shoop' (not 'shopt'). - -2002-06-28 Bernd Warken - ________________________________________________________________ - * release of groffer 0.9.0 - - * groffer.sh: new mode `pdf' - - PDF (Portable Document Format): - -> Transform groff `ps' output into pdf using `gs'. - -> Pro: PDF viewers provide text searching (!). - -> Con: the transformation is quite slow. - -> Not suitable as an auto mode. - - New options `--pdf', `--pdf-viewer', `--mode pdf'. - - Standard pdf viewers `xpdf' and `acroread'. - - For `xpdf', choose zoom `z 3' for 100 dpi, `z 2' for 75 dpi. - - * groffer.sh: support bzip2 decompression - - add test for `bzip2' with necessary options - - extend functions `catz()' and `save_stdin()'. - - * TODO - remove entry on `bzip' decompression (done). - - * groffer.man: - - Document new `pdf' features. - - Document new `bzip2' decompression. - - Fix documentation for `--auto-modes'. - - * groffer.sh: minor fixes - - Improve device tests in `tty' and `dvi' modes. - - Internally, map mode `auto' to '' to facilitate tests. - - Fix auto mode sequence to: `ps,x,tty' as was intended. - -2002-06-25 Bernd Warken - - * groffer.sh: - Fix `source' mode. - - * groffer.man: - Fix some indentations. - -2002-06-23 Bernd Warken - ________________________________________________________________ - * release of groffer 0.8 - - * Makefile.sub: add copyright section + * shell/: Subdirectory for the shell version of groffer. - * groffer.man: - - Document the new options. - - Revise the documentation of the modes. - - Document the configuration files in new section `FILES'. - - Redesign section `EXAMPLES'. - - Remove documentation for `-W'. + * shell/ChangeLog.0: The former ChangeLog file of the groffer + versions 0.* was moved to this file. It contains information of + the shell only version of groffer 0.*. - * groffer.sh: new debugging features - - Disabled by default; enabled by environment variables. - - Add landmark() to catch typos with quotes. - - Add a function call stack for suitable functions; implemented - as within the argument checker func_check(). - - This implies the need to provide `return' with some clean-up - facility; implemented as `eval "$_return_..."'. - - Add option `--debug' to enable debugging at run-time. - - Actually, the groffer script uses only shell builtins found - in `ash' (a subset of POSIX) and POSIX `sed' as the only - external shell utility. + * shell/groffer.sh: This is the old groffer.sh file of the shell + version. - * groffer.sh: customization of viewers - - In `groff' mode, the groffer viewing facilities are disabled. - - The postprocessor option `-P' costumizes the viewer only in - some situations in the `groff' mode, so a new infrastructure - for viewer customization is necessary. - - Allow to specify arguments to the viewer programs specified - in `--*-viewer()'. - - Implement some of the essential X Toolkit resource options in - groffer, but with use a leading double minus. - -> `--bd': set border color. - -> `--bg', `--background': set background color. - -> `--bw': set border width. - -> `--display': set X display. - -> `--geometry': set size and position of viewer window. - -> `--fg', `--foreground': set foreground color. - -> `--ft', `--font': set font. - -> `--resolution': set X resolution in dpi. - -> `--title': set viewer window title. - -> `--xrm': set X resource. - - Remove misnamed option `--xrdb'. + * shell/groffer2.sh: This is the old groffer2.sh file of the shell + version. - * groffer.sh: new mode structure - - New Postcript mode `ps' (`--ps'): - -> default viewers: gv,ghostview,gs_x11,gs; - -> `--ps-viewer' sets the Postscript viewer. - - New mode `www' (`--www') for displaying in a web browser: - -> default browsers: mozilla,netscape,opera,amaya,arena; - -> `--www-viewer' sets the web browser. - - New dvi mode (`--dvi'); default viewer `xdvi': - -> default viewers: xdvi,dvilx; - -> `--dvi-viewer' sets the dvi viewer. - - New mode `auto': - -> active if no other mode is given or by new option `--auto'; - -> selects from a sequence of modes that are tested until one - of them succeeds. - -> the default mode sequence is actually `ps', `x', `tty'. - -> `--default-modes' sets this mode sequence as a comma - separated string of program names, optionally each one - with arguments). - - New mode `groff': - -> process input like groff, ignore viewing options. - -> activated by new option `--groff'. - -> automatically active with one of `-V', `-X', `-Z'. - - Revise `tty' mode: - -> allow several text devices. - -> - - Reorganize the mode management: - -> new mode setting option `--mode'. - -> logically separate source, groff, and display modes. - -> intermediate output mode is now part of mode groff; remove - any special features around `-Z'. - - Update usage() to reflect the new option structure. + * shell/groffer.man: This is the old man page groffer.man of the + shell version. The shell version keeps its own man page. It will + only be installed when the Makefile.sub chooses to install the + shell version instead of the Perl version. - * groffer.sh: add configuration files - - `/etc/groff/groffer.conf' system-wide configuration. - - `${HOME}/.groff/groffer.conf' user configuration. - - The configuration file are shell scripts for now; later - implementations can identify this from the `#! /bin/sh' line. - - * groffer.sh: new data structure `list': - - Implement a `list' data structure as a string consisting of - single-quoted elements, separated by a space character; - embedded single-quotes are escaped. - - * groffer.sh: new option parser based on `list': - - Write new option parser based on `list', compatible to both - POSIX getopts() and GNU getopt(). - - Long options are now available on GNU and non-GNU systems. - - Get rid of POSIX getopts() and GNU getopt(). - - the `-W--longopt' construct is now obsolete; remove it. - - add test/function for `unset'. - - Option strings are now implemented as `list's in order to - allow unusual characters in options. - - Parse $MANOPT first; translate essential arguments into - groffer options. - - * groffer.man: - - determine prompt length for `.Shell_cmd'* dynamically. - - naming scheme for static strings and registers changed to - `namespace:macro.variable'. - - -2002-06-16 Werner Lemberg <wl@gnu.org> - - * groffer.sh: - Implement man option `--ascii' by `-mtty-char'. - - -2002-05-31 Werner LEMBERG <wl@gnu.org> - - * groffer.man (@.Shell_cmd_width): - Increase to 4m (we use `sh#' as the prompt). - - -2002-05-31 Bernd Warken - ________________________________________________________________ - * release of groffer 0.7 - - * groffer.sh: remove incompatibilities with the `ash' shell: - - do not use `!command': - -> use `else' - -> write `_not_' equivalents for some functions - - do not use `[^]' in `case': - -> restructure some functions. - - only single-character names for loop variables: - -> spoils the paradigm of leading `_' for local variables. - - spurious trouble with `for i in ${var}': - -> use `eval set -- ${var}' and `for i in "$@"' - - do not change or use $IFS: - -> define new functions string_split() and `path_split()'. - -> result must be processed by `eval set --'. - -> solve conflicts with existing positional parameters. - - trouble with exporting external `$GROFF_*' variables: - -> hope that they were exported in the calling shell. - - not smart about additional blanks: - -> remove unnecessary white space. - - * groffer.sh: improve run-time speed: - - `ash' more than doubles the speed of `bash'. - - speed-up `man_setup()'. - - -2002-05-30 Werner Lemberg <wl@gnu.org> - - * groffer.man: - - remove some wrong `\:'. - - rename macro names that start with a `[' (clashes with refer). - - fix TP_header. - - -2002-05-28 Bernd Warken - ________________________________________________________________ - * release of groffer 0.6 - - This is almost a complete rewrite since groffer 0.5 . - ________________________________________________________________ - * Documentation - - * groffer.man: - - Apply the changes done in www.tmac (.URL and .MTO) - - Replace \fP by \f[]. - - Redesign and rewrite most macros. - - Include the documentation for the new features. - - Greatly enlarge section ENVIRONMENT - - Add examples. - - * TODO: - - Start a TODO file with several sections. - - * ChangeLog: - Due to the many changes, shorten and rearrange the entries - since groffer 0.5 . - ________________________________________________________________ - * Shell compatibility - - * groffer.sh: - - Due to possible conflicts in old BSD versions, `[]' was - replaced by `test'; the `test' options `-a' and `-o' were - replaced by multiple calls of `test'. - - Write interface to the `sed' command `s' to become - independent of the delimiter character. Rewrite all text - manipulating function to use this new scheme. The new - functions are named `string_*'. - - `tr' is not needed any longer, replaced by `sed'. - - `grep' is not needed any longer, mostly replaced by `case'. - - Revision of test for `getopt'. - - Remove `set -a'; explicitly export variables. - - The only external programs used are POSIX `sed' and the - fallback to `apropos'. All other program calls were - replaced by shell builtins and functions. - - ________________________________________________________________ - * Cosmetics - - * groffer.sh: - - Implement a prefix based naming scheme for local variables - and functions (OOP-like). - - Introduce variables for white space (better readability with - $IFS). - - Store the names of the processed filespecs into a variable - instead of a temporary file. - - Error-prone shell constructions were replaced by functions - with a simple interface. - - To avoid too long pipes, replace supercat() by do_fileargs(); - every input file is handled independently. - - ________________________________________________________________ - * New features: - - Add support for more X devices (e.g. X75-12 and X100-12). - - Add long option `--intermediate_output' to `-Z'. - - Make the options for mode selection clobber each other. - - Add option `--mode' with an argument having the following - values: - `X': force displaying in X, same as options `-X'; - `tty': display with a pager on text terminal; same as `--tty'; - `source', `default', `auto', etc. - - Make the handling of the X mode like in groff (e.g. -X -Tps). - - Make resolution for gxditview behave like groff (default - 75 dpi). - - Add environment variable $GROFFER_OPT to preset groffer - options. - - ________________________________________________________________ - * implement most of the functionality of GNU `man'. - - - Add all `man' long options to groffer. - - Add all `man' environment variables. - - Parse and use content of `$MANOPT'. - - The precedence of the options and environment variables - is regulated like in GNU `man'. - - Force the option `--manpath' to have a colon-separated - argument like GNU `man'. - - Support `man section name' calling convention. - - Remove all dependencies on `man -w'. - - * groffer.sh: - - Add the new features above. - - Rewrite the search algorithm for man pages. - - Remove searching with `man -w' (problems with space - characters in file names). - - Fix and complement usage(). - - The filespec parsers gets a function of its own do_manpage(). - - -2002-01-08 Bernd Warken - - * groffer 0.5 (beta) released - - * groffer.man: - - Fix hyphenation problems with macros describing options. - - Fix the handling of some `-' characters. - - Examples of shell commands now print in font CR instead of CB. - - Remove documentation for option `-X'. - - Add documentation for option `--dpi'. - - * groffer.sh: - - New method for creating temporary files, based on process - IDs. This is reliable enough and suitable for GNU and POSIX. - - Run gxditview in a new shell instantiation for having a clean - handling of the temporary files when running in the - background. - - Revision of the retrieving method for the window title. - - Empty input is now tolerated. - - Export the variables that are set before the call of `set -a'. - - Function usage() corrected and updated. - - Unnecessary stuff removed. - - Comments adjusted. - - Pass option `-X' to groff, i.e. force X output with 75 dpi. - - Implement option `--dpi' for setting the resolution for the X - viewer, which had already been documented in earlier versions. - -2002-01-07 Bernd Warken - - * groffer 0.4 (beta) released (as groff `contrib') - - * groffer.man: - - New features documented. - - Macros stream-lined. - - Section EXAMPLES added. - - * groffer.sh: - - System tests added/optimized. - - Speed/memory optimizations by defining some shell functions - alternatively depending on the text results. - - Use `gzip' for decompression instead of `zcat'. - - Signal handling added for clean exiting by `trap'. - - Temporary files exist only as long as necessary. - - Setup of path for man-pages moved after the option parsing. - - Fixed a bug in determining the path for man-pages. - - Fixed a bug in the handling of non-groffer options. - - * New features: - - New option --tty for forcing paging on text terminal. - - New option --no-man for disabling the man-page feature. - - Implement reserved POSIX -W feature to simulate long options. - - gxditview is now run as a background process. - -2002-01-05 Werner LEMBERG <wl@gnu.org> - - * Integrate groffer into groff's `contrib' tree. - - * Makefile: Replaced by... - Makefile.sub: New file. - - * groffer: Replaced by... - groffer.sh: New file. - - * groffer.man (OptDef): Add missing backslashes. - Update copyright. - -2001-12-15 Bernd Warken - - * groffer 0.3 (alpha) released (still stand-alone package). - - * GNU and POSIX are supported (POSIX without long options). - - * New options : --man, --mandb, --title, --xrdb - - * Support for command line arguments with embedded single space - characters (GNU only) . - - * Several search methods for man-pages when no `man -w' is - available ($MANPATH, mandb, a default path). - - * Language support for man-pages. - - * Recognize the following filespecs as man-page parameters: - man:name(section), man:name, name.section, name. - -2001-12-03 Bernd Warken - - * Stand-alone package for groffer 0.2 (alpha) created - Files: groffer, groffer.man, Makefile, TODO, ChangeLog - -2001-12-02 Bernd Warken - - * groffer 0.2 (alpha) program released. - - * Name changed from `groffview' to `groffer'. - - * Comments added. - - * Name changed from `groffview' to `groffer'. - - * Options harmonized with groff. - New options : -Q --source, -T --device, -X . - Other options known from groff are passed unchanged. - - * 100 dpi as default, 75 dpi only in emergency situations. - - * Bugs with temporary files fixed. - - * Code restructured and comments added. - -2001-11-28 Bernd Warken - - ***** groffview 0.1 (experimental) and groffview.man released - (predecessor of groffer, shell script) - - * Options : -h --help, -v --version - - * Search for man-pages based on $MANPATH - - * development of `groffview' shell script started - -2001-11-28 Bernd Warken + * shell/README_SH: This is the old README_SH file of the shell + version containing information of the shell compatibility. +2006-10-01 Bernd Warken ________________________________________________________________ License - Copyright (C) 2001,2002,2003,2004,2005,2006 + Copyright (C) 2006 Free Software Foundation, Inc. Written by Bernd Warken @@ -2107,9 +107,8 @@ This file is part of `groffer', which is part of the `groff' project. + ####### Emacs settings - Emacs settings - - Local Variables: - mode: change-log - End: + Local Variables: + mode: change-log + End: |