diff --git a/share/functions/man.fish b/share/functions/man.fish index 671504c24..918e1f242 100644 --- a/share/functions/man.fish +++ b/share/functions/man.fish @@ -55,10 +55,19 @@ function man --description "Format and display the on-line manual pages" end end + set -l tmpdir if not set -q argv[2] && status list-files "man/man1/$argv[1].1" &>/dev/null - __fish_print_help $argv - return + set tmpdir (__fish_mktemp_relative -d fish-man) + status get-file "man/man1/$argv[1].1" >$tmpdir/$argv.1 + set argv $tmpdir/$argv.1 end command man $argv + set -l saved_status $status + + if set -q tmpdir[1] + rm -r $tmpdir + end + + return $saved_status end