diff options
author | Nemo Inis <nemoinis@hotmail.com> | 2018-12-21 12:16:48 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@debian.org> | 2018-12-21 12:16:48 +0000 |
commit | 13c0ff556759662b67c20fc12b9d31f041024da2 (patch) | |
tree | 64fb4897ca5ed44f06b85f25ff099ffa9f486f5a | |
parent | Update ChangeLog (diff) | |
download | w3m-13c0ff556759662b67c20fc12b9d31f041024da2.tar.gz w3m-13c0ff556759662b67c20fc12b9d31f041024da2.zip |
w3mman support for section number during keyword search
Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916968#5
-rw-r--r-- | scripts/w3mman/w3mman.1.in | 2 | ||||
-rw-r--r-- | scripts/w3mman/w3mman.in | 13 | ||||
-rw-r--r-- | scripts/w3mman/w3mman2html.cgi.in | 20 |
3 files changed, 22 insertions, 13 deletions
diff --git a/scripts/w3mman/w3mman.1.in b/scripts/w3mman/w3mman.1.in index 8c433a7..b85b0a0 100644 --- a/scripts/w3mman/w3mman.1.in +++ b/scripts/w3mman/w3mman.1.in @@ -30,6 +30,8 @@ w3mman \- an interface to the on-line reference manuals via w3m(1) .B w3mman [ .BI \-M " path" +] [ +.I section ] .BI \-k " keyword" .br diff --git a/scripts/w3mman/w3mman.in b/scripts/w3mman/w3mman.in index 6a27e70..2a33438 100644 --- a/scripts/w3mman/w3mman.in +++ b/scripts/w3mman/w3mman.in @@ -6,8 +6,8 @@ $SCRIPT = 'file:///$LIB/w3mman2html.cgi'; sub usage { ($_ = $0) =~ s@.*/@@; - print STDERR "$_ [-M <path>] [[<section>] <command>]\n"; - print STDERR "$_ [-M <path>] [-k <keyword>]\n"; + print STDERR "$_ [-M <path>] [<section>] <command>]\n"; + print STDERR "$_ [-M <path>] [<section>] [-k <keyword>]\n"; print STDERR "$_ [-l <file>]\n"; exit 1; } @@ -20,7 +20,8 @@ while (@ARGV) { $ENV{'MANPATH'} = shift @ARGV; } elsif (/^-k$/) { @ARGV || &usage(); - $query = "?keyword=" . &form_encode(shift @ARGV); + if ( $query eq "" ) { $query = "?quit=ok"; } + $query .= "&keyword=" . &form_encode(shift @ARGV); } elsif (/^-l$/) { @ARGV || &usage(); $query = "?quit=ok&local=" . &form_encode(shift @ARGV); @@ -28,11 +29,11 @@ while (@ARGV) { } elsif (/^-/) { &usage(); } elsif (/^\d/ || $_ eq 'n') { - @ARGV || &usage(); - $query = "?quit=ok&man=" . &form_encode(shift @ARGV); + if ( $query eq "" ) { $query = "?quit=ok"; } $query .= "§ion=" . &form_encode($_); } else { - $query = "?quit=ok&man=" . &form_encode($_); + if ( $query eq "" ) { $query = "?quit=ok"; } + $query .= "&man=" . &form_encode($_); } } diff --git a/scripts/w3mman/w3mman2html.cgi.in b/scripts/w3mman/w3mman2html.cgi.in index 2cd00f9..d660681 100644 --- a/scripts/w3mman/w3mman2html.cgi.in +++ b/scripts/w3mman/w3mman2html.cgi.in @@ -23,17 +23,23 @@ if ((! $query{"man"}) && (! $query{"local"})) { if ($query{"keyword"}) { $keyword = $query{"keyword"}; $k = &html_quote($keyword); + if ($query{"section"}) { + $section = $query{"section"}; + $sectionopt = "-s $section "; + } else { + $sectionopt = ""; + } print <<EOF; Content-Type: text/html <html> -<head><title>man -k $k</title></head> +<head><title>man $sectionopt-k $k</title></head> <body> -<h2>man -k <b>$k</b></h2> +<h2>man $sectionopt-k <b>$k</b></h2> <ul> EOF $keyword =~ s:([^-\w\200-\377.,])::g; - open(F, "$MAN -k $keyword 2> /dev/null |"); + open(F, "$MAN $sectionopt -k $keyword 2> /dev/null |"); while(<F>) { chop; $_ = &html_quote($_); @@ -58,10 +64,10 @@ Content-Type: text/html <body> <form action="$CGI"> <table> -<tr><td>Manual:<td><input name=man> -<tr><td>Section:<td><input name=section> -<tr><td>Keyword:<td><input name=keyword> -<tr><td><td><input type=submit> <input type=reset> +<tr><td>Manual:<td><input name=man /> +<tr><td>Section:<td><input name=section /> +<tr><td>Keyword:<td><input name=keyword /> +<tr><td><td><input type=submit /> <input type=reset /> </table> </form> </body> |