[94dc7a]: ChangeLog Maximize Restore History

Download this file

ChangeLog    497 lines (346 with data), 18.8 kB

2005-08-18  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Fix handling of path names as topic selectors on Win32.

	* src/man.c (main): Handle non-option arguments as possible
	POSIX_STYLE_PATH specifications, converted as required for Win32.
	(man): Use IS_ABSOLUTE_PATH macro to check if `name' argument is an
	absolute path name, so we catch both POSIX and Win32 style path names;
	make `fullname' a POSIX_STYLE_PATH.

	* src/compat.h, src/win32/winposix.c (win32path_transform): Remove
	`const' qualifier from function return type.

2005-08-16  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Add NLS support hooks for autoconf managed configure.

	* aclocal.m4 (MAN_NLS_HEADERS, MAN_NLS_FUNCTIONS):...
	(MAN_NLS_PREREQUSITES): New macros; check for prerequisite header
	files and library functions for NLS support.
	(MAN_NLS_LOCALE_DIRECTORY): New macro; identify the root of the
	message catalogue repository.
	(MAN_NLS_LOCALE_CACHE_INIT, MAN_NLS_LOCALE_CACHE_OVERRIDE): New
	macros; used internally by MAN_NLS_LOCALE_DIRECTORY only.
	(MAN_NLS_LANGUAGE_SELECTION): New macro; implement the
	`--with-languages=LIST' option for `configure'.
	(MAN_LANGUAGE_LIST, MAN_LANGUAGE_HELP_STRING):...
	(MAN_LANGUAGES_AVAILABLE): New macros; used internally by
	MAN_NLS_LANGUAGE_SELECTION to deduce and display the list of available
	languages, by inspecting the content of the `man' directory in the
	distributed package.
	(MAN_AS_HELP_DEFAULT, SQ, MAN_AS_HELP_APPEND): New `m4' macros;
	complement AS_HELP_STRING, for displaying default choices, single
	quoted literals, and extended help messages.
	(MAN_CONFDIR, MAN_CONFIG_FILE, MAN_FILTER_PREFERRED): Minor `help'
	string changes.
	(MAN_NROFF_SGR_CHECK): Remove semicolon from `result' string.

	* configure.ac (MAN_NLS_LOCALE_DIRECTORY, MAN_NLS_LANGUAGE_SELECTION):
	Deploy; (these also force the MAN_NLS_PREREQUISITES check).

	* configure: Regenerated.

	* src/compat.h (NONLS): Leave config.h to specify it.

	* config.h.in: Regenerated.

	* man/Makefile.in: Add VPATH support; use ${srcdir} references to make
	it work.

2005-08-05  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* man/ja/man.man (@man_config_fils@): Typing error; corrected...
	(@man_config_file@): ...to this.

2005-07-27  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Set compiled location for `apropos' and `whatis'.

	* src/Makefile.in (bindir, sbindir, prefix, exec_prefix): Defined.
	(stamp.h): Add substitution for ${bindir}.

	* src/paths.h.in (APROPOS, WHATIS): Define in terms of ${bindir}.

2005-07-27  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Configure compression and decompression filters.

	* aclocal.m4 (MAN_COMPRESS_WITH): New macro.
	(MAN_SET_DEFAULT_DECOMPRESSION_FILTER): New macro.

	* configure.ac (COMPRESS): Define using MAN_COMPRESS_WITH; this sets
	the @compress@ and @compress_ext@ substitutions.
	(MAN_SET_DEFAULT_DECOMPRESSION_FILTER): Use it to define DO_COMPRESS
	symbol and @decompress@ substitution.
	(GUNZIP, BZIP2, PCAT, ZCAT, FCAT, UNYABBA): Define using
	MAN_FILTER_PREFERRED.
	(MAN_GREP_SILENT): Relocate; add comment.

	* configure, config.h.in: Regenerated.

2005-07-26  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Avoid using `col' in conjunction with `groff'.

	* aclocal.m4 (MAN_DISABLE_COL_WITH_GROFF): New macro...
	* configure.ac: Use it.

	* configure: Regenerated.

	* src/man.conf.in (@nocol@): Redundant substitution; removed.

2005-07-26  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Handle nroff SGR output quirks for groff >= 1.18.

	* aclocal.m4 (MAN_NROFF_SGR_CHECK): New macro; used by...
	(MAN_DISABLE_NROFF_SGR): New macro.
	(MAN_FILTER_PREFERRED): Modified `help' string.
	(MAN_AC_PATH_COMMAND_RESOLVE): Use braces in ${#}, ${@}.

	* configure.ac (MAN_DISABLE_NROFF_SGR): Use it.

	* configure: Regenerated.

	* src/man.conf.in: Update note about groff colour support.

2005-07-08  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Implement autoconf checks for filter programs.

	* aclocal.m4 (MAN_AC_PATH_PROG_CHECKING, MAN_AC_PATH_RESOLVE)...
	(MAN_AC_PATH_COMMAND_RESOLVE, MAN_AC_PATH_PROG_RESULT): New macros;
	use them to implement...
	(MAN_AC_PATH_COMMAND, MAN_AC_PATH_COMMAND_OVERRIDE_CACHE): New macros;
	they provide a modified reimplementation of autoconf's AC_PATH_PROG,
	but preserving arguments which follow the resolved path, and offering
	the capability to override any previously cached result.  Use them to
	implement...
	(MAN_FILTER_CONFIGURE_PREFERRED, MAN_FILTER_CONFIGURE_ALTERNATE): New
	internal macros; use them to implement...
	(MAN_FILTER_PREFERRED, MAN_FILTER_ALTERNATE): New macros.

	* configure.ac (MAN_FILTER_PREFERRED, MAN_FILTER_ALTERNATE): Use them
	to specify filter command substitutions for src/man.conf and
	src/paths.h.

	* configure: Regenerated.

2005-07-08  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* Makefile.in: add accreditation for original authors.

2005-07-04  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Define MANPATH_MAP and other general comment improvements.

	* aclocal.m4 (MAN_STANDARD_ENABLE): Improve comments.
	Use PREFIX instead of ${prefix}, in help string.
	(MANSECT_SEARCH_ORDER): Add comment.  Simplify help string.
	(MANPATH_DEFAULT_INCLUDE): Add comment.
	(MANPATH_DEFAULT_SUBST): MAP argument removed.  Add comment.  Improve
	text of "checking" message.
	(MANPATH_MAP_DEFAULT, MANPATH_MAP_ALIAS): New macros.
	(MANPATH_MAP_CANONICAL, MANPATH_MAP_DEFINE, MANPATH_MAP_CACHE_ASSIGN):
	New internal macros; they facilitate the implementation of
	MANPATH_MAP_DEFAULT.
	(MANPATH_REMAP): New internal macro; it facilitates the implementation
	of MANPATH_MAP_ALIAS.

	* configure.ac (MANPATH_MAP_DEFAULT, MANPATH_MAP_ALIAS): Deploy them
	to define the default MANPATH_MAP, with FHS specific remap of /usr/man
	to /usr/share/man.

	* configure: Regenerated.

	* src/man.conf.in (MANPATH_MAP): Define autoconf substitutions.

2005-06-27  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* aclocal.m4 (MAN_STANDARD_ENABLE): New macro; used by...
	(MAN_FHS_ENABLE, MAN_FSSTND_ENABLE): New macros; they request
	FHS or FSSTND conformance, when configured with `--enable-fhs'
	or `--enable-fsstnd' respectively, (subject to `--enable-fhs'
	overriding `--enable-fsstnd').

	* configure.ac (MAN_FHS_ENABLE, MAN_FSSTND_ENABLE): Invoke them.

	* configure: Regenerated.

	* src/man.conf.in (FHS, FSSTND): New syntax.
	(MANBIN, MANPATH): Tidy column alignment.
	(MANBIN): Resolve location according to `${prefix}'.

2005-06-24  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Configure automatic MANPATH generation feature.

	* aclocal.m4 (MANPATH_DEFAULT_SUBST): New macro; used by...
	(MANPATH_DEFAULT_INCLUDE): New macro.

	* configure.ac (MANPATH_DEFAULT_INCLUDE): Use it to specify the
	standard paths, and the optional paths, which are assigned to MANPATH
	by src/man.conf.in.

	* configure: Regenerated.

	* src/man.conf (MANPATH): Transform the path name entries into
	autoconf substitution fields, to be filled out by configure; add space
	after initial `#', when key is occluded.
	(NOAUTOPATH, NOCACHE, MANDEFOPTIONS): Normally occluded; add space
	after occluding `#'.

	* src/Makefile.in (stamp.h): Add dependency on src/man.conf;
	adapt sed script, in associated commands, to clean up __undef__(path)
	substitutions specified by the MANPATH_DEFAULT_INCLUDE macro.

2005-06-24  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Configure MANSECT specification.

	* aclocal.m4 (MANSECT_SEARCH_ORDER): New macro.

	* configure.ac (MANSECT_SEARCH_ORDER): Use it to specify the default
	man sections search order, as defined by the MANSECT key in
	src/man.conf.in and src/paths.h.in.

	* configure: Regenerated.

2005-06-24  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* src/paths.h.in: Tidy layout.

2005-06-14  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Add support for Win32 command invocation using a UNIXy shell.

	* src/win32: New directory.

	* src/winposix.c: Removed...
	* src/win32/winposix.c: ...and relocated to here.

	* src/win32/wincmds.c: New file; it spawns a UNIXy shell to execute a
	specified command sequence.

	* src/win32/quotearg.c: New file; adapted from "groff" code, it
	ensures that all arguments passed in a Win32 spawn or exec function
	call are properly quoted; (Microsoft's default behaviour is broken).

	* src/win32/execvw.c: New file; compile it to generate a wrapper for
	the "spawnvp" function, which ensures that all arguments are properly
	quoted.

	* src/win32/execlw.c: New file; compile it to generate a wrapper for
	the "spawnlp" function, redirecting its action through the wrapped
	"spawnvp" function.

	* src/win32/getenvp.c: New file; included for completness, it is
	required by execlw.c, when generating wrapper functions which pass an
	explicit "envp" argument; it is not required by "man".

	* src/win32/winexec.h: New file; it transparently redirects all calls
	to Microsoft's spawn and exec functions through appropriate wrappers,
	to ensure proper argument quoting.

	* src/win32/Makefile.in: New file; processed by configure to generate
	Makefile, it defines the rules for building a library of Win32 wrapper
	functions.

	* src/Makefile.in (win32/libexec.a): New target; use it to build a
	Win32 support function library in src/win32.
	(WIN32LIBS): New variable; it specifies the support libraries to be
	linked in a Win32 build.
	(WIN32LIBEXEC): New variable; it sets the name for the support
	library, (libexec.a), to be built in src/win32.
	(WIN32LIBOBJS): New variable; use it to define the list of object
	modules to include in WIN32LIBEXEC.
	(FORCE): New dummy target; use it to force building of WIN32LIBEXEC.

	* src/compat.h (RUN_COMMAND_SEQUENCE): New macro; it invokes the
	"win32run_command_sequence" function to spawn commands on Win32
	platforms, or the "system" function otherwise.

	* src/util.c (system1): Use RUN_COMMAND_SEQUENCE macro.

	* configure.ac (process.h): Add check for header; it is required to
	use the Win32 spawn and exec functions.

	* configure: Regenerated.

2005-06-10  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Configure silent output capability for "grep" command.

	* aclocal.m4 (MAN_GREP_SILENT): New macro.
	(WIN32_AC_NULLDEV): New macro; MAN_GREP_SILENT uses it to identify the
	name of the null device, used for redirection of discarded output from
	grep; this should be `nul' for Win32, or `/dev/null' elsewhere.

	* configure.ac: Invoke MAN_GREP_SILENT.

	* configure: Regenerated.

	* src/Makefile.in (GREPSILENT): Correct quoting.

2005-06-09  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Add autoconf support for configuration file specification.

	* aclocal.m4: New file; it defines package specific autoconf macros.

	* configure.ac: Add specification for man configuration file; it is
	defined using the MAN_CONFIG_FILE macro, and optionally also the
	MAN_CONFIG_FILE_DEFAULT and MAN_CONFDIR_DEFAULT macros from
	aclocal.m4.

	* configure: Regenerated.

	* src/Makefile.in (INCLUDES): Pass them to $(CC) in $(DEFS).
	(stamp.h): New dummy target; use it to update paths.h.

2005-06-06  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* src/manpath.c (prmanpath): Use PATH_SEPARATOR_CHAR; previously it
	always used ':' to separate MANPATH components.

2005-06-06  Keith Marshall  <keithmarshall@users.sourceforge.net>

	WinPOSIX bug fixes and API enhancements.

	* src/winposix (win32posix): Function renamed...
	(win32path_transform): ...to this.
	(win32path_is_absolute): New function; it checks if a specified Win32
	path name is absolute.

	* src/compat.h (isabspath): Macro renamed...
	(IS_ABSOLUTE_PATH): ...to this.
	(POSIX_STYLE_PATH): New macro; use it to invoke the
	win32path_transform function, when required.
	(PATH_SEPARATOR_CHAR): Fix it, for non-Win32 hosts; had ';',
	should be ':'.

	* src/manpath.c: Use POSIX_STYLE_PATH and IS_ABSOLUTE_PATH macros.

	* src/util.c: Use POSIX_STYLE_PATH macro.

2005-06-03  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* man2html/Makefile.in (top_builddir): New identifier; have autoconf
	supply its value.
	(CWARN): New identifier; define it as the warning flags, which were
	previously included in CFLAGS.
	(CFLAGS): Redefined; include $(CWARN), add -I$(top_builddir)/src
	(man2html): Make it depend on $(top_builddir)/src/version.h, rather
	than ../src/version.h.
	(hman): Locate hman.sh in $(srcdir).

	* man2html/man2html.c (version.h): Don't specify path.

2005-06-03  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Set package versioning from configure.ac.

	* configure.ac (AC_INIT): Supply PACKAGE_NAME and PACKAGE_VERSION
	parameter values; PACKAGE_NAME=man, PACKAGE_VALUE=1.5m3.

	* configure: Regenerated.

	* version: Redundant file; removed.

	* src/Makefile.in (package, version): New identifiers; initialise them
	from PACKAGE_NAME and PACKAGE_VERSION respectively.
	(version.h): Make it depend on configure.ac; insert $(version).
	(apropos, whatis, makewhatis): Identify as $(package)-$(version).

	* src/man.conf.in: Identify as PACKAGE_NAME-PACKAGE_VERSION.

	* man2html/Makefile.in (package, version): New identifiers; initialise
	them from PACKAGE_NAME and PACKAGE_VERSION.
	(hman): Identify as $(package)-$(version).
	(VPATH): Defined to autoconf specified $(srcdir).

2005-06-02  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Make code in src directory compile on Win32/MinGW platform.

	* configure.ac (AC_CONFIG_FILES): add src/man.conf.

	* configure: Regenerated.

	* src/Makefile.in (apropos.sh): Use $(srcdir) to find it.

	* src/compat.h: New file; it defines platform specific dependencies
	for use within C compilation units.

	* src/makemsg.c (compat.h): Include unconditionally.
	(stdlib.h, unistd.h, string.h): Include conditionally.

	* src/man.c (compat.h): Include unconditionally.
	(locale.h, stdlib.h, string.h, sys/file.h, sys/stat.h, unistd.h):
	Previously included unconditionally; make them conditional.
	(strings.h): Include conditionally, unless we already have string.h.
	(GREPSILENT): Change from single character definition to string;
	format it using "%s".  (Rationale: UNIX SysV grep can't use -q or -s
	to suppress output; must redirect to null device stream).
	(setlocale): Some platforms don't define LC_MESSAGES; don't use it
	when we don't have it.  Similarly for LC_CTYPE.

	* src/manpath.c (compat.h): Include unconditionally.
	(stdlib.h, string.h, sys/types.h, sys/stat.h, unistd.h): Previously
	included unconditionally; make them conditional.
	(split, split2): Use win32posix() function to ensure that Win32 path
	names include only slashes, and no backslashes;
	Use PATH_SEPARATOR_CHAR, defined in compat.h, to locate point at which
	to split a path list; previously these assumed splitting at a colon.
	(add_to_list): Use isabspath(dir) macro, defined in compat.h, to check
	if dir is specified with absolute path name; previously required first
	character to be a slash.

	* src/man-config.c, src/to_cat.c (compat.h): Include unconditionally.
	(stdlib.h, string.h): Include conditionally; were previously included
	unconditionally.

	* src/man-getopt.c (compat.h): Include unconditionally.
	(stdlib.h, string.h, unistd.h): Include conditionally; were previously
	included unconditionally.
	(man_getopt): Use setenv() if configure defined HAVE_SETENV; else use
	putenv(); previously used dedicated logic for specific platforms.

	* src/gripes.c (compat.h): Include unconditionally.
	(stdarg.h, stdlib.h): Include conditionally; were previously included
	unconditionally.
	(mantexts): Don't declare it when NONLS is in effect.

	* src/glob.c (compat.h): Include unconditionally.
	(config.h): Included by compat.h; don't care if SHELL defined.

	* src/util.c (compat.h): Include unconditionally.
	(stdarg.h, stdlib.h, string.h, unistd.h): Include conditionally; were
	previously included unconditionally.
	(sys/stat.h, sys/types.h, sys/wait.h): Likewise.
	(man-config.h): Include unconditionally; previously not included.  It
	prototypes the getval() function, used to get the name of the SHELL,
	which _WIN32 will spawnlp() in system1().
	(winexec.h): Include it when configure says HAVE_PROCESS_H; it is a
	wrapper for process.h, to work around an argument parsing bug in
	Win32's spawnlp(), and similar functions.
	(mkprogname): Use win32posix() to avoid backslashes in Win32 style
	path names.
	(noprivileges): Don't call setreuid() or setregid() in _WIN32.
	(system1): Use spawnlp() rather than system(), in _WIN32, to invoke
	the man command pipeline.
	(my_system): Never use fork() in _WIN32; never run asynchronous _WIN32
	pipelines, therefore no need to call wait().
	(my_popen): FILE variable `r' unused in _WIN32; don't declare it.

	* src/winposix.c: New file; it defines the win32posix() function, used
	to replace backslashes with slashes, in Win32 path names.

2005-06-02  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* src/Makefile.in (INCLUDES): Add "-I.".
	(top_srcdir): Correct definition, and...
	(msg.c, gripedefs.h): ...use it to locate msgs/mess.en.
	(man.c, glob.c): Use $(srcdir) to locate source.

2005-06-01  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Adaptation to autoconf configuration and build framework.

	* install-sh: New file;  autoconf generated configure requires it;
	source it from autoconf 2.59 distribution.

	* Makefile.in, src/Makefile.in: Add comments in file headers,
	to bring them up to a GPL conforming standard.
	Add standard autoconf path name substitutions; use them.
	(OBJEXT, EXEEXT): Added autoconf substitutions; use them.
	(VPATH): Defined to autoconf specified $(srcdir).

	* gencat/Makefile: Renamed...
	* gencat/Makefile.in: ...to this; need it so for VPATH support.

2005-05-31  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* All files: Tagged MAN-1-5M2-AC; this is the starting point for
	autoconf managed implementation.

2005-05-31  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Switch to autoconf management of configure script.

	* All files: Tagged MAN-1-5M2-PRE-AC prior to switch.

	* configure.ac: New file; generated by autoscan; reorganised, and
	copyright notice added.

	* config.h.in: New file; generated by autoheader.

	* configure: Regenerated.

2005-05-31  Keith Marshall  <keithmarshall@users.sourceforge.net>

	* man/it/makewhatis.8 ($Id$): make it match man-1.5m2 release.

2005-05-26  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Started recording ChangeLog entries.
	
	* ChangeLog: New file.

2005-05-26  Keith Marshall  <keithmarshall@users.sourceforge.net>

	Initial import based on man-1.5m2 distribution.

	* All files (MAN-IMPORT): Tag assigned for `vendor' branch.
	(MAN-1-5M2-MINGW): Tag assigned for initial state of `trunk'.