> > You. Man. Are. Genius. > Thanks, but you embarrass me. I just get lucky occasionally. I'm not an expert at man and I know next to nothing about zsh, but based on some personal observations, I think I can answer some of your questions about man and manpath.
> Recently I posted http://article.gmane.org/gmane.os.cygwin/44906 but > found no answer or solution. Suddenly completion started to work again > but on the next day not even calling a single man page was found by > man because of the wrong $MANPATH. > > Now I corrected 'export MANPATH="${X11MANPATH}"' to 'export > MANPATH=":${X11MANPATH}"' in XFree86-man.sh and now everything is > okay. > > Thanks, Thorsten > > ,--- * MANPATH statements in /etc/man.conf > | MANPATH /usr/share/man > | MANPATH /usr/X11R6/man > | MANPATH /usr/local/man > | MANPATH /usr/man > `--- > ,--- * Cygwin host (where it "doesn't work") > | % echo $MANPATH > | :/usr/X11R6/man:/usr/ssl/man > | ^ see the empty path? ($manpath is "'' /usr/X11R6/man /usr/ssl/man") > | % manpath > | /usr/share/man:/usr/X11R6/man:/usr/ssl/man:/usr/man:/usr/local/man > `--- > ,--- * Linux host (where it "works") > | % echo $MANPATH > | /usr/share/man:/usr/local/share/man:/usr/share/gcc-data/i686-pc-linux-gnu/3. 3/man:/usr/ > | X11R6/man::/opt/sun-jdk-1.4.2.03/man:/usr/qt/3/doc/man:/opt/vmware/man > | % manpath > | zsh: command not found: manpath > `--- > /etc/zprofile and /etc/profile.d/zshell.zsh don't contain man > settings. When I manually do "export MANPATH=/usr/share/man" then zsh > does the man completion. > > My questions are (I know they might not be specifically Cygwin > related): > > 1. Where and how is $MANPATH assembled? It's a combination of things. In my case, I run the pdksh shell. MANPATH is set in /etc/profile and further modified by .sh scripts in /etc/profile.d. It looks to me like zsh runs the same scripts as part of /etc/zprofile. > 2. Where does the path that the "manpath" command shows come from? I'm not positive about this, but I believe manpath takes $MANPATH and, assuming $MANPATH has an empty path in it, adds any paths specified in the man.conf file, but eliminates any paths which do not actually have man pages. > 3. Why does $MANPATH and "manpath" output differ? I think manpath eliminates any paths which do not actually contain man pages (see previous answer) and adds paths from man.conf. > 4. Why is /usr/share/man not in $MANPATH? Because there is an empty path in $MANPATH, it is picked up from the man.conf file. > 5. Why is the first entry in $MANPATH empty? >From my tests, an empty path, whether at the end or beginning or somewhere in between (::) is what tells man to include the paths from man.conf. If there is not an empty path, man and manpath use only what is in $MANPATH > 6. How and where can I fix this? Hopefully, this is done. HTH > Thanks to all that can help, > Thorsten -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/