Handle missing groff macro in __fish_print_help

The Xcode installation of Fish is missing the groff macro used by
`__fish_print_help`. This caused e.g. `status -h` to stop working.

Fixes #4058.

(cherry picked from commit 9bc1b44b0d)
This commit is contained in:
Kevin Ballard 2017-05-23 19:57:18 -07:00 committed by David Adam
parent 80afc31ff8
commit 8d4d47b548

View file

@ -40,10 +40,14 @@ function __fish_print_help --description "Print help message for the specified f
set rLL -rLL=$cols[1]n
end
set -lx GROFF_TMAC_PATH $__fish_datadir/groff
set -l mfish
if test -e $GROFF_TMAC_PATH/fish.tmac
set mfish -mfish
end
if test -e "$__fish_datadir/man/man1/$item.1"
set help (nroff -c -man -mfish -t $rLL "$__fish_datadir/man/man1/$item.1" ^/dev/null)
set help (nroff -c -man $mfish -t $rLL "$__fish_datadir/man/man1/$item.1" ^/dev/null)
else if test -e "$__fish_datadir/man/man1/$item.1.gz"
set help (gunzip -c "$__fish_datadir/man/man1/$item.1.gz" ^/dev/null | nroff -c -man -mfish -t $rLL ^/dev/null)
set help (gunzip -c "$__fish_datadir/man/man1/$item.1.gz" ^/dev/null | nroff -c -man $mfish -t $rLL ^/dev/null)
end
# The original implementation trimmed off the top 5 lines and bottom 3 lines