\2<\/code>/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/\2<\/tt>/;
+ $_;
}
sub do_cmd_sectcode{ &do_cmd_code(@_); }
@@ -56,11 +56,12 @@ sub do_cmd_cfunction{ &do_cmd_code(@_); }
sub do_cmd_constant{ &do_cmd_code(@_); }
sub do_cmd_method{ &do_cmd_code(@_); }
sub do_cmd_email{ &do_cmd_code(@_); }
+sub do_cmd_program{ &do_cmd_code(@_); }
sub do_cmd_url{
# use the URL as both text and hyperlink
local($_) = @_;
- s/$any_next_pair_pr_rx/\2<\/a><\/code>/;
+ s/$any_next_pair_pr_rx/\2<\/a><\/tt>/;
$_;
}
@@ -84,39 +85,39 @@ sub do_cmd_rfc{
}
sub do_cmd_kbd{
- local($_) = @_;
- s/$any_next_pair_pr_rx/\2<\/kbd>/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/\2<\/kbd>/;
+ $_;
}
sub do_cmd_key{
- local($_) = @_;
- s/$any_next_pair_pr_rx/\2<\/tt>/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/\2<\/tt>/;
+ $_;
}
sub do_cmd_var{
- local($_) = @_;
- s/$any_next_pair_pr_rx/\2<\/em>/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/\2<\/em>/;
+ $_;
}
sub do_cmd_dfn{
- local($_) = @_;
- s/$any_next_pair_pr_rx/\2<\/dfn><\/i>/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/\2<\/dfn><\/i>/;
+ $_;
}
sub do_cmd_emph{
- local($_) = @_;
- s/$any_next_pair_pr_rx/\2<\/em>/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/\2<\/em>/;
+ $_;
}
sub do_cmd_strong{
- local($_) = @_;
- s/$any_next_pair_pr_rx/\2<\/b>/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/\2<\/b>/;
+ $_;
}
# file and samp are at the end of this file since they screw up fontlock.
@@ -133,56 +134,54 @@ sub do_cmd_setindexsubitem{
}
sub do_cmd_indexii{
- local($_) = @_;
- s/$next_pair_pr_rx//o;
- local($br_id1, $str1) = ($1, $2);
- s/$next_pair_pr_rx//o;
- local($br_id2, $str2) = ($1, $2);
- join('', &make_index_entry($br_id1, "$str1 $str2"),
- &make_index_entry($br_id2, "$str2, $str1"), $_);
+ local($_) = @_;
+ s/$next_pair_pr_rx//o;
+ local($br_id1, $str1) = ($1, $2);
+ s/$next_pair_pr_rx//o;
+ local($br_id2, $str2) = ($1, $2);
+ join('', &make_index_entry($br_id1, "$str1 $str2"),
+ &make_index_entry($br_id2, "$str2, $str1"), $_);
}
sub do_cmd_indexiii{
- local($_) = @_;
- s/$next_pair_pr_rx//o;
- local($br_id1, $str1) = ($1, $2);
- s/$next_pair_pr_rx//o;
- local($br_id2, $str2) = ($1, $2);
- s/$next_pair_pr_rx//o;
- local($br_id3, $str3) = ($1, $2);
- join('', &make_index_entry($br_id1, "$str1 $str2 $str3"),
- &make_index_entry($br_id2, "$str2 $str3, $str1"),
- &make_index_entry($br_id3, "$str3, $str1 $str2"),
- $_);
+ local($_) = @_;
+ s/$next_pair_pr_rx//o;
+ local($br_id1, $str1) = ($1, $2);
+ s/$next_pair_pr_rx//o;
+ local($br_id2, $str2) = ($1, $2);
+ s/$next_pair_pr_rx//o;
+ local($br_id3, $str3) = ($1, $2);
+ join('', &make_index_entry($br_id1, "$str1 $str2 $str3"),
+ &make_index_entry($br_id2, "$str2 $str3, $str1"),
+ &make_index_entry($br_id3, "$str3, $str1 $str2"),
+ $_);
}
sub do_cmd_indexiv{
- local($_) = @_;
- s/$next_pair_pr_rx//o;
- local($br_id1, $str1) = ($1, $2);
- s/$next_pair_pr_rx//o;
- local($br_id2, $str2) = ($1, $2);
- s/$next_pair_pr_rx//o;
- local($br_id3, $str3) = ($1, $2);
- s/$next_pair_pr_rx//o;
- local($br_id4, $str4) = ($1, $2);
- join('', &make_index_entry($br_id1, "$str1 $str2 $str3 $str4"),
- &make_index_entry($br_id2, "$str2 $str3 $str4, $str1"),
- &make_index_entry($br_id3, "$str3 $str4, $str1 $str2"),
- &make_index_entry($br_id4, "$str4, $str1 $str2 $str3"),
- $_);
+ local($_) = @_;
+ s/$next_pair_pr_rx//o;
+ local($br_id1, $str1) = ($1, $2);
+ s/$next_pair_pr_rx//o;
+ local($br_id2, $str2) = ($1, $2);
+ s/$next_pair_pr_rx//o;
+ local($br_id3, $str3) = ($1, $2);
+ s/$next_pair_pr_rx//o;
+ local($br_id4, $str4) = ($1, $2);
+ join('', &make_index_entry($br_id1, "$str1 $str2 $str3 $str4"),
+ &make_index_entry($br_id2, "$str2 $str3 $str4, $str1"),
+ &make_index_entry($br_id3, "$str3 $str4, $str1 $str2"),
+ &make_index_entry($br_id4, "$str4, $str1 $str2 $str3"),
+ $_);
}
-sub do_cmd_ttindex{
- &do_cmd_index(@_);
-}
+sub do_cmd_ttindex{ &do_cmd_index(@_); }
sub my_typed_index_helper{
- local($word, $_) = @_;
- s/$next_pair_pr_rx//o;
- local($br_id, $str) = ($1, $2);
- join('', &make_index_entry($br_id, "$str $word"),
- &make_index_entry($br_id, "$word, $str"), $_);
+ local($word, $_) = @_;
+ s/$next_pair_pr_rx//o;
+ local($br_id, $str) = ($1, $2);
+ join('', &make_index_entry($br_id, "$str $word"),
+ &make_index_entry($br_id, "$word, $str"), $_);
}
sub do_cmd_stindex{ &my_typed_index_helper('statement', @_); }
@@ -191,10 +190,10 @@ sub do_cmd_exindex{ &my_typed_index_helper('exception', @_); }
sub do_cmd_obindex{ &my_typed_index_helper('object', @_); }
sub my_parword_index_helper{
- local($word, $_) = @_;
- s/$next_pair_pr_rx//o;
- local($br_id, $str) = ($1, $2);
- &make_index_entry($br_id, "$str ($word)") . $_;
+ local($word, $_) = @_;
+ s/$next_pair_pr_rx//o;
+ local($br_id, $str) = ($1, $2);
+ &make_index_entry($br_id, "$str ($word)") . $_;
}
@@ -226,11 +225,11 @@ sub make_mod_index_entry {
}
sub my_module_index_helper{
- local($word, $_, $define) = @_;
- s/$next_pair_pr_rx//o;
- local($br_id, $str) = ($1, $2);
- &make_mod_index_entry($br_id, "$str ($word module)",
- $define) . $_;
+ local($word, $_, $define) = @_;
+ s/$next_pair_pr_rx//o;
+ local($br_id, $str) = ($1, $2);
+ &make_mod_index_entry($br_id, "$str ($word module)",
+ $define) . $_;
}
sub do_cmd_bifuncindex{ &my_parword_index_helper('built-in function', @_); }
@@ -254,13 +253,12 @@ sub init_myformat{
$any_next_pair_pr_rx_5 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\5$CP";
$any_next_pair_pr_rx_7 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\7$CP";
$any_next_pair_pr_rx_9 = "$OP(\\d+)$CP([\\s\\S]*)$OP\\9$CP";
- $new_command{"indexsubitem"} = "";
}
&init_myformat;
sub get_indexsubitem{
- local($result) = $new_command{"indexsubitem"};
+ local($result) = $INDEX_SUBITEM;
#print "\nget_indexsubitem ==> $result\n";
$result ? " $result" : '';
}
@@ -283,219 +281,244 @@ sub make_str_index_entry {
}
sub do_env_cfuncdesc{
- local($_) = @_;
- local($return_type,$function_name,$arg_list,$idx) = ('', '', '', '');
- local($cfuncdesc_rx) =
- "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5";
- if (/$cfuncdesc_rx/o) {
- $return_type = "$2";
- $function_name = "$4";
- $arg_list = "$6";
- $idx = &make_str_index_entry($3,
- "$function_name()" . &get_indexsubitem);
- }
- "- $return_type $idx" .
- "($arg_list)\n
- $'\n
"
+ local($_) = @_;
+ local($return_type,$function_name,$arg_list,$idx) = ('', '', '', '');
+ local($cfuncdesc_rx) =
+ "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5";
+ if (/$cfuncdesc_rx/o) {
+ $return_type = "$2";
+ $function_name = "$4";
+ $arg_list = "$6";
+ $idx = &make_str_index_entry($3,
+ "$function_name" . &get_indexsubitem);
+ $idx =~ s/ \(.*\)//;
+ }
+ "- $return_type $idx"
+ . "($arg_list)\n
- $'\n
"
}
sub do_env_ctypedesc{
- local($_) = @_;
- local($type_name) = ('');
- local($cfuncdesc_rx) =
- "$next_pair_rx";
- if (/$cfuncdesc_rx/o) {
- $type_name = "$2";
- $idx = &make_str_index_entry($1,
- "$type_name" . &get_indexsubitem);
- }
- "- $idx\n
- $'\n
"
+ local($_) = @_;
+ local($type_name) = ('');
+ local($cfuncdesc_rx) = "$next_pair_rx";
+ if (/$cfuncdesc_rx/o) {
+ $type_name = "$2";
+ $idx = &make_str_index_entry($1,
+ "$type_name" . &get_indexsubitem);
+ $idx =~ s/ \(.*\)//;
+ }
+ "- $idx\n
- $'\n
"
}
sub do_env_cvardesc{
- local($_) = @_;
- local($var_type,$var_name,$idx) = ('', '', '');
- local($cfuncdesc_rx) = "$next_pair_rx$any_next_pair_rx3";
- if (/$cfuncdesc_rx/o) {
- $var_type = "$2";
- $var_name = "$4";
- $idx = &make_str_index_entry($3,"$var_name" . &get_indexsubitem);
- }
- "- $var_type $idx\n" .
- "
- $'\n
";
+ local($_) = @_;
+ local($var_type,$var_name,$idx) = ('', '', '');
+ local($cfuncdesc_rx) = "$next_pair_rx$any_next_pair_rx3";
+ if (/$cfuncdesc_rx/o) {
+ $var_type = "$2";
+ $var_name = "$4";
+ $idx = &make_str_index_entry($3,
+ "$var_name" . &get_indexsubitem);
+ $idx =~ s/ \(.*\)//;
+ }
+ "- $var_type $idx\n"
+ . "
- $'\n
";
}
sub do_env_funcdesc{
- local($_) = @_;
- local($function_name,$arg_list,$idx) = ('', '', '');
- local($funcdesc_rx) = "$next_pair_rx$any_next_pair_rx3";
- if (/$funcdesc_rx/o) {
- $function_name = "$2";
- $arg_list = "$4";
- $idx = &make_str_index_entry($3,
- "$function_name()" . &get_indexsubitem);
- }
- "- $idx ($arg_list)\n
- $'\n
";
+ local($_) = @_;
+ local($function_name,$arg_list,$idx) = ('', '', '');
+ local($funcdesc_rx) = "$next_pair_rx$any_next_pair_rx3";
+ if (/$funcdesc_rx/o) {
+ $function_name = "$2";
+ $arg_list = "$4";
+ $idx = &make_str_index_entry($3,
+ "$function_name" . &get_indexsubitem);
+ $idx =~ s/ \(.*\)//;
+ }
+ "- $idx ($arg_list)\n
- $'\n
";
}
sub do_cmd_funcline{
- local($_) = @_;
- local($funcdesc_rx) = "$next_pair_pr_rx$OP(\\d+)$CP([\\s\\S]*)$OP\\3$CP";
+ local($_) = @_;
+ local($funcdesc_rx) = "$next_pair_pr_rx$OP(\\d+)$CP([\\s\\S]*)$OP\\3$CP";
- s/$funcdesc_rx//o;
- local($br_id, $function_name, $arg_list) = ($3, $2, $4);
- local($idx) = &make_str_index_entry($br_id, "$function_name()");
+ s/$funcdesc_rx//o;
+ local($br_id, $function_name, $arg_list) = ($3, $2, $4);
+ local($idx) = &make_str_index_entry($br_id, "$function_name");
- "$idx ($arg_list)\n " . $_;
+ " $idx ($arg_list)\n " . $_;
}
+# Change this flag to index the opcode entries. I don't think it's very
+# useful to index them, since they're only presented to describe the dis
+# module.
+#
+$INDEX_OPCODES = 0;
+
sub do_env_opcodedesc{
- local($_) = @_;
- local($opcode_name,$arg_list,$stuff,$idx) = ('', '', '', '');
- local($opcodedesc_rx) = "$next_pair_rx$any_next_pair_rx3";
- if (/$opcodedesc_rx/o) {
- $opcode_name = "$2";
- $arg_list = "$4";
-# $idx = &make_str_index_entry($3,
-# "$opcode_name (byte code instruction)");
-# $idx =~ s/ \(byte code instruction\)//;
- }
- $stuff = "- $idx";
- if ($arg_list) {
- $stuff .= " $arg_list";
- }
- $stuff . "\n
- $'\n
";
+ local($_) = @_;
+ local($opcode_name,$arg_list,$stuff,$idx) = ('', '', '', '');
+ local($opcodedesc_rx) = "$next_pair_rx$any_next_pair_rx3";
+ if (/$opcodedesc_rx/o) {
+ $opcode_name = "$2";
+ $arg_list = "$4";
+ if ($INDEX_OPCODES) {
+ $idx = &make_str_index_entry($3,
+ "$opcode_name (byte code instruction)");
+ $idx =~ s/ \(byte code instruction\)//;
+ }
+ else {
+ $idx = "$opcode_name";
+ }
+ }
+ $stuff = "- $idx";
+ if ($arg_list) {
+ $stuff .= " $arg_list";
+ }
+ $stuff . "\n
- $'\n
";
}
sub do_env_datadesc{
- local($_) = @_;
- local($idx) = '';
- if (/$next_pair_rx/o) {
- $idx = &make_str_index_entry($1, "$2" . &get_indexsubitem);
- }
- "- $idx\n
- $'\n
"
+ local($_) = @_;
+ local($idx) = '';
+ if (/$next_pair_rx/o) {
+ $idx = &make_str_index_entry($1, "$2" . &get_indexsubitem);
+ $idx =~ s/ \(.*\)//;
+ }
+ "- $idx\n
- $'\n
"
}
sub do_cmd_dataline{
- local($_) = @_;
+ local($_) = @_;
- s/$next_pair_pr_rx//o;
- local($br_id, $data_name) = ($1, $2);
- local($idx) = &make_str_index_entry($br_id, "$data_name");
+ s/$next_pair_pr_rx//o;
+ local($br_id, $data_name) = ($1, $2);
+ local($idx) = &make_str_index_entry($br_id, "$data_name"
+ . &get_indexsubitem);
+ $idx =~ s/ \(.*\)//;
- " $idx\n " . $_;
+ " $idx\n " . $_;
}
sub do_env_excdesc{ &do_env_datadesc(@_); }
+sub do_env_codesample{ &do_env_verbatim(@_); }
+
@col_aligns = ("", " ", " ");
sub setup_column_alignments{
- local($_) = @_;
- local($j1,$a1,$a2,$a3,$j4) = split(/[|]/,$_);
- local($th1,$th2,$th3) = (' ', ' ', ' ');
- $col_aligns[0] = (($a1 eq "c") ? " " : " ");
- $col_aligns[1] = (($a2 eq "c") ? " " : " ");
- $col_aligns[2] = (($a3 eq "c") ? " " : " ");
- # return the aligned header start tags; only used for \begin{tableiii?}
- $th1 = (($a1 eq "l") ? " "
- : ($a1 eq "r" ? " " : " "));
- $th2 = (($a2 eq "l") ? " "
- : ($a2 eq "r" ? " " : " "));
- $th3 = (($a3 eq "l") ? " "
- : ($a3 eq "r" ? " " : " "));
- ($th1, $th2, $th3);
+ local($_) = @_;
+ local($j1,$a1,$a2,$a3,$j4) = split(/[|]/,$_);
+ local($th1,$th2,$th3) = (' ', ' ', ' ');
+ $col_aligns[0] = (($a1 eq "c") ? " " : " ");
+ $col_aligns[1] = (($a2 eq "c") ? " " : " ");
+ $col_aligns[2] = (($a3 eq "c") ? " " : " ");
+ # return the aligned header start tags; only used for \begin{tableiii?}
+ $th1 = (($a1 eq "l") ? " "
+ : ($a1 eq "r" ? " " : " "));
+ $th2 = (($a2 eq "l") ? " "
+ : ($a2 eq "r" ? " " : " "));
+ $th3 = (($a3 eq "l") ? " "
+ : ($a3 eq "r" ? " " : " "));
+ ($th1, $th2, $th3);
}
sub do_env_tableii{
- local($_) = @_;
- local($font,$h1,$h2) = ('', '', '');
- local($tableiii_rx) =
- "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5$any_next_pair_rx7";
- if (/$tableiii_rx/o) {
- $font = $4;
- $h1 = $6;
- $h2 = $8;
- }
- local($th1,$th2,$th3) = &setup_column_alignments($2);
- $globals{"lineifont"} = $font;
- "\n $th1$h1\n $th2$h2$'\n"
- . "
";
+ local($_) = @_;
+ local($font,$h1,$h2) = ('', '', '');
+ local($tableiii_rx) =
+ "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5$any_next_pair_rx7";
+ if (/$tableiii_rx/o) {
+ $font = $4;
+ $h1 = $6;
+ $h2 = $8;
+ }
+ local($th1,$th2,$th3) = &setup_column_alignments($2);
+ $globals{"lineifont"} = $font;
+ "\n $th1$h1\n $th2$h2$'\n"
+ . "
";
}
sub do_cmd_lineii{
- local($_) = @_;
- s/$next_pair_pr_rx//o;
- local($c1) = $2;
- s/$next_pair_pr_rx//o;
- local($c2) = $2;
- local($font) = $globals{"lineifont"};
- local($c1align, $c2align) = @col_aligns[0,1];
- " $c1align<$font>$c1$font>\n"
- . " $c2align$c2$'";
+ local($_) = @_;
+ s/$next_pair_pr_rx//o;
+ local($c1) = $2;
+ s/$next_pair_pr_rx//o;
+ local($c2) = $2;
+ local($font) = $globals{"lineifont"};
+ local($c1align, $c2align) = @col_aligns[0,1];
+ " $c1align<$font>$c1$font>\n"
+ . " $c2align$c2$'";
}
sub do_env_tableiii{
- local($_) = @_;
- local($font,$h1,$h2,$h3) = ('', '', '', '');
+ local($_) = @_;
+ local($font,$h1,$h2,$h3) = ('', '', '', '');
- local($tableiii_rx) =
- "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5$any_next_pair_rx7"
- . "$any_next_pair_rx9";
- if (/$tableiii_rx/o) {
- $font = $4;
- $h1 = $6;
- $h2 = $8;
- $h3 = $10;
- }
- local($th1,$th2,$th3) = &setup_column_alignments($2);
- $globals{"lineifont"} = $font;
- "\n $th1$h1\n $th2$h2"
- . "\n $th3$h3$'\n"
- . "
";
+ local($tableiii_rx) =
+ "$next_pair_rx$any_next_pair_rx3$any_next_pair_rx5$any_next_pair_rx7"
+ . "$any_next_pair_rx9";
+ if (/$tableiii_rx/o) {
+ $font = $4;
+ $h1 = $6;
+ $h2 = $8;
+ $h3 = $10;
+ }
+ local($th1,$th2,$th3) = &setup_column_alignments($2);
+ $globals{"lineifont"} = $font;
+ "\n $th1$h1\n $th2$h2"
+ . "\n $th3$h3$'\n"
+ . "
";
}
sub do_cmd_lineiii{
- local($_) = @_;
- s/$next_pair_pr_rx//o;
- local($c1) = $2;
- s/$next_pair_pr_rx//o;
- local($c2) = $2;
- s/$next_pair_pr_rx//o;
- local($c3) = $2;
- local($font) = $globals{"lineifont"};
- local($c1align, $c2align, $c3align) = @col_aligns;
- " $c1align<$font>$c1$font>\n"
- . " $c2align$c2\n"
- . " $c3align$c3$'";
+ local($_) = @_;
+ s/$next_pair_pr_rx//o;
+ local($c1) = $2;
+ s/$next_pair_pr_rx//o;
+ local($c2) = $2;
+ s/$next_pair_pr_rx//o;
+ local($c3) = $2;
+ local($font) = $globals{"lineifont"};
+ local($c1align, $c2align, $c3align) = @col_aligns;
+ " $c1align<$font>$c1$font>\n"
+ . " $c2align$c2\n"
+ . " $c3align$c3$'";
}
sub do_env_seealso{
- "See Also:
\n" . @_[0];
+ "See Also:
\n" . @_[0];
}
sub do_cmd_seemodule{
- local($_) = @_;
- local($any_next_pair_pr_rx3) = "$OP(\\d+)$CP([\\s\\S]*)$OP\\3$CP";
- s/$next_pair_pr_rx$any_next_pair_pr_rx3/\2<\/b><\/code> (\4)<\/p>/;
- $_;
+ local($_) = @_;
+ local($any_next_pair_pr_rx3) = "$OP(\\d+)$CP([\\s\\S]*)$OP\\3$CP";
+ s/$next_pair_pr_rx$any_next_pair_pr_rx3/\2<\/b><\/tt> (\4)<\/p>/;
+ $_;
}
sub do_cmd_seetext{
- "
" . @_[0];
+ "
" . @_[0];
}
# These are located down here since they screw up fontlock.
sub do_cmd_file{
- local($_) = @_;
- s/$any_next_pair_pr_rx/`\2<\/code>'/;
- $_;
+ # This uses a weird HTML construct to adjust the font to be
+ # reasonable match that used in the printed form as much as
+ # possible. The expected behavior is that a browser that doesn't
+ # understand "" markup will use courier (or whatever
+ # the font is for ).
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/`\2<\/font><\/tt>'/;
+ $_;
}
sub do_cmd_samp{
- local($_) = @_;
- s/$any_next_pair_pr_rx/`\2<\/samp>'/;
- $_;
+ local($_) = @_;
+ s/$any_next_pair_pr_rx/`\2<\/samp>'/;
+ $_;
}
1; # This must be the last line