[Bug 271830] man: ignores MANSECT and -S
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 271830] man: ignores MANSECT and -S"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 05 Jun 2023 09:46:19 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271830 --- Comment #4 from Mohamed Akram <mohd.akram@outlook.com> --- Comment on attachment 242606 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=242606 patch to fix the issue --- man.sh.orig 2023-06-05 09:11:06.617877000 +0000 +++ man.sh 2023-06-05 09:43:16.432524000 +0000 @@ -562,7 +562,7 @@ P) MANPAGER=$OPTARG ;; S) MANSECT=$OPTARG ;; a) aflag=aflag ;; - d) debug=$(( $debug + 1 )) ;; + d) ;; # handled in man_setup f) fflag=fflag ;; h) man_usage 0 ;; k) kflag=kflag ;; @@ -603,7 +603,7 @@ fi IFS=: - for sect in $man_default_sections; do + for sect in $MANSECT; do if [ "$sect" = "$1" ]; then decho "Detected manual section as first arg: $1" MANSECT="$1" @@ -619,6 +619,15 @@ # Usage: man_setup # Setup various trivial but essential variables. man_setup() { + local cmd_arg + # Parse the debug flag prior to everything + OPTIND=1 + while getopts ':d' cmd_arg; do + case "${cmd_arg}" in + d) debug=$(( $debug + 1 )) ;; + esac + done + # Setup machine and architecture variables. if [ -n "$mflag" ]; then MACHINE_ARCH=${mflag%%:*} @@ -787,8 +796,8 @@ trim "${line#MANCONFIG}" config_local="$tstr" ;; - # Set variables in the form of FOO_BAR - *_*[\ \ ]*) var="${line%%[\ \ ]*}" + # Set other variables + *[\ \ ]*) var="${line%%[\ \ ]*}" trim "${line#$var}" eval "$var=\"$tstr\"" decho " Parsed $var" 3 @@ -1008,12 +1017,12 @@ } do_man() { + man_setup "$@" man_parse_args "$@" if [ -z "$pages" -a -z "${Kflag}" ]; then echo 'What manual page do you want?' >&2 exit 1 fi - man_setup if [ ! -z "${Kflag}" ]; then # Short circuit because -K flag does a sufficiently -- You are receiving this mail because: You are the assignee for the bug.