zsh-workers
 help / color / mirror / code / Atom feed
* 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).