On Sun Aug 14 11, Test Rat wrote:
> Gordon Tetlow <gor...@freebsd.org> writes:
> 
> > Author: gordon
> > Date: Thu Oct  7 06:34:47 2010
> > New Revision: 213507
> > URL: http://svn.freebsd.org/changeset/base/213507
> >
> > Log:
> >   Add the ability to display specific manual pages if passed on the
> >   commandline. This mirrors the old (undocumented) GNU man functionality.
> >   Also document this feature in the implementation notes section of
> >   the manpage.
> >
> >   Submitted by:     arundel
> >   Approved by:      wes (mentor implicit)
> 
> Why the limitation? It's rather painful to prefix manpages with $PWD
> on command line. And a useful case of displaying generated on-the-fly
> manpages is missed, too, irrespective of GNU man.

at the time my issue was that something like

'man /usr/src/share/man/man1/intro.1'

didn't work and gordon fixed that to restore gnu man behavior. i never really
tried or needed something like in your example to be honest. ;)

but if it makes peoples lives easier and doesn't cause any collisions with
gnu man behaviour, then i'm in. ;)

cheers.
alex

> 
>   $ man dup.2
>   $ texi2pod.pl ffmpeg.texi | pod2man | man
> 
> %%
> Index: usr.bin/man/man.sh
> ===================================================================
> --- usr.bin/man/man.sh        (revision 224842)
> +++ usr.bin/man/man.sh        (working copy)
> @@ -403,10 +403,9 @@
>  man_find_and_display() {
>       local found_page locpath p path sect
>  
> -     # Check to see if it's a file. But only if it has a '/' in
> -     # the filename.
> -     case "$1" in
> -     */*)    if [ -f "$1" -a -r "$1" ]; then
> +     # Check to see if it's a troff file.
> +     case $(file --brief --mime-type "$1") in
> +     text/troff)     if [ -f "$1" -a -r "$1" ]; then
>                       decho "Found a usable page, displaying that"
>                       unset use_cat
>                       manpage="$1"
> @@ -898,12 +897,16 @@
>  
>  do_man() {
>       man_parse_args "$@"
> -     if [ -z "$pages" ]; then
> +     if [ -z "$pages" -a -t 0 ]; then
>               echo 'What manual page do you want?' >&2
>               exit 1
>       fi
>       man_setup
>  
> +     if [ ! -t 0 ]; then
> +         man_display_page
> +     fi
> +
>       for page in $pages; do
>               decho "Searching for $page"
>               man_find_and_display "$page"
> Index: usr.bin/man/man.1
> ===================================================================
> --- usr.bin/man/man.1 (revision 224842)
> +++ usr.bin/man/man.1 (working copy)
> @@ -232,9 +232,7 @@
>  The
>  .Nm
>  utility also supports displaying a specific manual page if passed a path
> -to the file as long as it contains a
> -.Ql /
> -character.
> +to the file as long as it's a troff file.
>  .Sh ENVIRONMENT
>  The following environment variables affect the execution of
>  .Nm :
> %%
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to