Add w3mman -l <file> command line argument for viewing of local man files.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
.TH W3MMAN 1 "Mar 14, 2002"
|
.TH W3MMAN 1 "Nov 5, 2005"
|
||||||
.\" Please adjust this date whenever revising the manpage.
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
.\"
|
.\"
|
||||||
.\" Some roff macros, for reference:
|
.\" Some roff macros, for reference:
|
||||||
@@ -19,6 +19,9 @@ w3mman \- an interface to the on-line reference manuals by w3m(1)
|
|||||||
.br
|
.br
|
||||||
.B w3mman
|
.B w3mman
|
||||||
.RI "[-M " path "] -k " keyword
|
.RI "[-M " path "] -k " keyword
|
||||||
|
.br
|
||||||
|
.B w3mman
|
||||||
|
.RI -l " file
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.B w3mman
|
.B w3mman
|
||||||
is the system's manual pager by
|
is the system's manual pager by
|
||||||
@@ -31,9 +34,13 @@ Specify
|
|||||||
.I path
|
.I path
|
||||||
as MANPATH.
|
as MANPATH.
|
||||||
.TP
|
.TP
|
||||||
.B \-k " keyword"
|
.BI \-k " keyword"
|
||||||
Specify
|
Specify
|
||||||
.I keyword.
|
.I keyword.
|
||||||
|
.TP
|
||||||
|
.BI \-l " file"
|
||||||
|
Specify a
|
||||||
|
.I file.
|
||||||
.SH ENVIRONMENT
|
.SH ENVIRONMENT
|
||||||
.TP
|
.TP
|
||||||
.B W3MMAN_W3M
|
.B W3MMAN_W3M
|
||||||
|
@@ -8,6 +8,7 @@ sub usage {
|
|||||||
($_ = $0) =~ s@.*/@@;
|
($_ = $0) =~ s@.*/@@;
|
||||||
print STDERR "$_ [-M <path>] [[<section>] <command>]\n";
|
print STDERR "$_ [-M <path>] [[<section>] <command>]\n";
|
||||||
print STDERR "$_ [-M <path>] [-k <keyword>]\n";
|
print STDERR "$_ [-M <path>] [-k <keyword>]\n";
|
||||||
|
print STDERR "$_ [-l <file>]\n";
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -20,6 +21,10 @@ while (@ARGV) {
|
|||||||
} elsif (/^-k$/) {
|
} elsif (/^-k$/) {
|
||||||
@ARGV || &usage();
|
@ARGV || &usage();
|
||||||
$query = "?keyword=" . &form_encode(shift @ARGV);
|
$query = "?keyword=" . &form_encode(shift @ARGV);
|
||||||
|
} elsif (/^-l$/) {
|
||||||
|
@ARGV || &usage();
|
||||||
|
$query = "?quit=ok&local=" . &form_encode(shift @ARGV);
|
||||||
|
$query .= "&pwd=" . &form_encode($ENV{'PWD'});
|
||||||
} elsif (/^-/) {
|
} elsif (/^-/) {
|
||||||
&usage();
|
&usage();
|
||||||
} elsif (/^\d/ || $_ eq 'n') {
|
} elsif (/^\d/ || $_ eq 'n') {
|
||||||
|
@@ -19,7 +19,7 @@ if ($QUERY =~ /\=/) {
|
|||||||
$query{"man"} = &form_decode($QUERY);
|
$query{"man"} = &form_decode($QUERY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $query{"man"}) {
|
if ((! $query{"man"}) && (! $query{"local"})) {
|
||||||
if ($query{"keyword"}) {
|
if ($query{"keyword"}) {
|
||||||
$keyword = $query{"keyword"};
|
$keyword = $query{"keyword"};
|
||||||
$k = &html_quote($keyword);
|
$k = &html_quote($keyword);
|
||||||
@@ -71,21 +71,29 @@ EOF
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$man = $query{"man"};
|
if ($query{"local"}) {
|
||||||
if ($man =~ s/\((\w+)\)$//) {
|
$file = $query{"local"};
|
||||||
$section = $1;
|
if (! ($file =~ /^\//)) {
|
||||||
$man_section = "$man($1)";
|
$file = $query{"pwd"} . '/' . $file;
|
||||||
} elsif ($query{"section"}) {
|
}
|
||||||
$section = $query{"section"};
|
open(F, "$MAN -l $file 2> /dev/null |");
|
||||||
$man_section = "$man($section)";
|
|
||||||
} else {
|
} else {
|
||||||
$section = "";
|
$man = $query{"man"};
|
||||||
$man_section = "$man";
|
if ($man =~ s/\((\w+)\)$//) {
|
||||||
}
|
$section = $1;
|
||||||
|
$man_section = "$man($1)";
|
||||||
|
} elsif ($query{"section"}) {
|
||||||
|
$section = $query{"section"};
|
||||||
|
$man_section = "$man($section)";
|
||||||
|
} else {
|
||||||
|
$section = "";
|
||||||
|
$man_section = "$man";
|
||||||
|
}
|
||||||
|
|
||||||
$section =~ s:([^-\w\200-\377.,])::g;
|
$section =~ s:([^-\w\200-\377.,])::g;
|
||||||
$man =~ s:([^-\w\200-\377.,])::g;
|
$man =~ s:([^-\w\200-\377.,])::g;
|
||||||
open(F, "$MAN $section $man 2> /dev/null |");
|
open(F, "$MAN $section $man 2> /dev/null |");
|
||||||
|
}
|
||||||
$ok = 0;
|
$ok = 0;
|
||||||
undef $header;
|
undef $header;
|
||||||
$blank = -1;
|
$blank = -1;
|
||||||
@@ -176,6 +184,11 @@ if ($prev) {
|
|||||||
close(F);
|
close(F);
|
||||||
if (! $ok) {
|
if (! $ok) {
|
||||||
if ($query{'quit'}) {
|
if ($query{'quit'}) {
|
||||||
|
if ($query{'local'}) {
|
||||||
|
print STDERR "File $file not found.\n";
|
||||||
|
} else {
|
||||||
|
print STDERR "No manual entry for $man_section.\n";
|
||||||
|
}
|
||||||
print STDERR "No manual entry for $man_section.\n";
|
print STDERR "No manual entry for $man_section.\n";
|
||||||
print <<EOF;
|
print <<EOF;
|
||||||
w3m-control: EXIT
|
w3m-control: EXIT
|
||||||
@@ -190,7 +203,11 @@ Content-Type: text/html
|
|||||||
<body>
|
<body>
|
||||||
<pre>
|
<pre>
|
||||||
EOF
|
EOF
|
||||||
print "No manual entry for <B>$man_section</B>.\n";
|
if ($query{'local'}) {
|
||||||
|
print "File <B>$file</B> not found.\n";
|
||||||
|
} else {
|
||||||
|
print "No manual entry for <B>$man_section</B>.\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print <<EOF;
|
print <<EOF;
|
||||||
</pre>
|
</pre>
|
||||||
|
Reference in New Issue
Block a user