* PATCH: _man and manpath
@ 2002-05-31 4:59 Clint Adams
2002-05-31 5:18 ` Bart Schaefer
0 siblings, 1 reply; 3+ messages in thread
From: Clint Adams @ 2002-05-31 4:59 UTC (permalink / raw)
To: zsh-workers
If $MANPATH is set and different from $(manpath), _man will never get
the output of of manpath since $manpath is tied to $MANPATH.
With this patch, it will.
Index: Completion/Unix/Command/_man
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_man,v
retrieving revision 1.5
diff -u -r1.5 _man
--- Completion/Unix/Command/_man 10 Jan 2002 11:00:05 -0000 1.5
+++ Completion/Unix/Command/_man 31 May 2002 04:55:32 -0000
@@ -7,20 +7,24 @@
_files || return 0
fi
- if (( ! $#manpath )); then
+ if (( ! $#_manpath )); then
local mp
- mp=($(manpath 2>/dev/null))
+ mp=( ${(s.:.)$(manpath 2>/dev/null)} )
[[ "$mp" == *:* ]] && mp=( ${(s.:.)mp} )
- manpath=( $mp )
+ if (( $#mp )); then
+ _manpath=( $mp )
+ elif (( $#manpath )); then
+ _manpath=( $manpath )
+ fi
fi
- (( $#manpath )) || manpath=( ${(s.:.)$(manpath 2>/dev/null)} ) ||
- manpath=( /usr/man(-/) /(opt|usr)/(dt|share|X11R6|local)/(cat|)man(-/) )
+ (( $#_manpath )) ||
+ _manpath=( /usr/man(-/) /(opt|usr)/(dt|share|X11R6|local)/(cat|)man(-/) )
# `sman' is the SGML manual directory for Solaris 7.
# 1M is system administrator commands on SVR4
- mrd=(${^manpath/\%L/${LANG:-En_US.ASCII}}/mandb(N))
+ mrd=(${^_manpath/\%L/${LANG:-En_US.ASCII}}/mandb(N))
local sect
if [[ $OSTYPE = solaris* ]]; then
@@ -34,10 +38,10 @@
fi
if [[ $sect = (<->*|1M|l|n) || $sect = \(*\|*\) ]]; then
- dirs=( $^manpath/(sman|man|cat)${~sect}/ )
+ dirs=( $^_manpath/(sman|man|cat)${~sect}/ )
awk="\$2 == \"$sect\" {print \$1}"
else
- dirs=( $^manpath/(sman|man|cat)*/ )
+ dirs=( $^_manpath/(sman|man|cat)*/ )
awk='{print $1}'
fi
if zstyle -t ":completion:${curcontext}:manuals" separate-sections; then
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: PATCH: _man and manpath
2002-05-31 4:59 PATCH: _man and manpath Clint Adams
@ 2002-05-31 5:18 ` Bart Schaefer
2002-05-31 5:24 ` Clint Adams
0 siblings, 1 reply; 3+ messages in thread
From: Bart Schaefer @ 2002-05-31 5:18 UTC (permalink / raw)
To: Clint Adams; +Cc: zsh-workers
On Fri, 31 May 2002, Clint Adams wrote:
> If $MANPATH is set and different from $(manpath), _man will never get
> the output of of manpath since $manpath is tied to $MANPATH.
I thought that was intentional.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: PATCH: _man and manpath
2002-05-31 5:18 ` Bart Schaefer
@ 2002-05-31 5:24 ` Clint Adams
0 siblings, 0 replies; 3+ messages in thread
From: Clint Adams @ 2002-05-31 5:24 UTC (permalink / raw)
To: Bart Schaefer; +Cc: zsh-workers
> I thought that was intentional.
It's possible; however, on Debian's man, at least, they are not
necessarily identical.
In the manpath manpage:
MANPATH
If $MANPATH is set, manpath displays its value
rather than determining it on the fly. If $MANPATH
is prefixed by a colon, then the value of the vari
able is appended to the list determined from the
content of the configuration files. If the colon
comes at the end of the value in the variable, then
the determined list is appended to the content of
the variable. If the value of the variable
contains a double colon (::), then the determined
list is inserted in the middle of the value,
between the two colons.
So if a user sets MANPATH=:~/localmanpages, manpath will return
/usr/local/man:/usr/share/man:/usr/X11R6/man:/usr/man:/home/user/localmanpages
but $manpath will be (/home/user/localmanpages).
In this instance, $(manpath) is more useful. Obviously, if there is a
system where $MANPATH is accurate and $(manpath) isn't, this will be
suboptimal.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-05-31 5:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-31 4:59 PATCH: _man and manpath Clint Adams
2002-05-31 5:18 ` Bart Schaefer
2002-05-31 5:24 ` Clint Adams
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).