Extend functionality MANPATH in man(1) to followup with apropos(1) from
mandoc. If MANPATH begins with a colon, it is appended to the default list; if it ends with a colon, it is prepended to the default list; or if it contains two adjacent colons, the standard search path is inserted between the colons. If none of these conditions are met, it overrides the standard search path. Import the MANPATH description from mandoc into the man(1) man page Reported by: kargl MFC after: 1 week
This commit is contained in:
parent
61d5f2d162
commit
b2394e73fc
@ -25,7 +25,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd January 28, 2017
|
||||
.Dd March 11, 2017
|
||||
.Dt MAN 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -295,13 +295,22 @@ Corresponds to the
|
||||
.Fl m
|
||||
option.
|
||||
.It Ev MANPATH
|
||||
Used to find the location of the manual files.
|
||||
See
|
||||
.Xr manpath 1
|
||||
for additional information.
|
||||
Corresponds to the
|
||||
.Fl M
|
||||
option.
|
||||
The standard search path used by
|
||||
.Xr man 1
|
||||
may be changed by specifying a path in the
|
||||
.Ev MANPATH
|
||||
environment variable.
|
||||
Invalid paths, or paths without manual databases, are ignored.
|
||||
Overridden by
|
||||
.Fl M .
|
||||
If
|
||||
.Ev MANPATH
|
||||
begins with a colon, it is appended to the default list;
|
||||
if it ends with a colon, it is prepended to the default list;
|
||||
or if it contains two adjacent colons,
|
||||
the standard search path is inserted between the colons.
|
||||
If none of these conditions are met, it overrides the
|
||||
standard search path.
|
||||
.It Ev MANROFFSEQ
|
||||
Used to determine the preprocessors for the manual source before running
|
||||
.Xr nroff 1
|
||||
|
@ -68,7 +68,23 @@ build_manpath() {
|
||||
|
||||
# If the user has set a manpath, who are we to argue.
|
||||
if [ -n "$MANPATH" ]; then
|
||||
return
|
||||
case "$MANPATH" in
|
||||
*:) PREPEND_MANPATH=${MANPATH} ;;
|
||||
:*) APPEND_MANPATH=${MANPATH} ;;
|
||||
*::*)
|
||||
PREPEND_MANPATH=${MANPATH%%::*}
|
||||
APPEND_MANPATH=${MANPATH#*::}
|
||||
;;
|
||||
*) return ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ -n "$PREPEND_MANPATH" ]; then
|
||||
IFS=:
|
||||
for path in $PREPEND_MANPATH; do
|
||||
add_to_manpath "$path"
|
||||
done
|
||||
unset IFS
|
||||
fi
|
||||
|
||||
search_path
|
||||
@ -82,6 +98,13 @@ build_manpath() {
|
||||
|
||||
parse_configs
|
||||
|
||||
if [ -n "$APPEND_MANPATH" ]; then
|
||||
IFS=:
|
||||
for path in $APPEND_MANPATH; do
|
||||
add_to_manpath "$path"
|
||||
done
|
||||
unset IFS
|
||||
fi
|
||||
# Trim leading colon
|
||||
MANPATH=${manpath#:}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user