mirror of https://github.com/python/cpython.git
Remove option to strip out <tt>...</tt> from index entry text; this is now
left to the buildindex.py script. Change the field separator used in the index.dat file so utilities like grep are useful on these files; they can't typically handle NUL bytes. Protect index entries for environment variables from being handled as case-insensitive by buildindex.py.
This commit is contained in:
parent
ae2be7144d
commit
166abbabf9
|
@ -130,7 +130,10 @@ sub do_cmd_envvar{
|
||||||
s/$next_pair_pr_rx//;
|
s/$next_pair_pr_rx//;
|
||||||
my($br_id,$envvar) = ($1, $2);
|
my($br_id,$envvar) = ($1, $2);
|
||||||
my($name,$aname,$ahref) = link_info($br_id);
|
my($name,$aname,$ahref) = link_info($br_id);
|
||||||
add_index_entry("environment variables!$envvar@\$$envvar", $ahref);
|
# The <tt> here is really to keep buildindex.py from making
|
||||||
|
# the variable name case-insensitive.
|
||||||
|
add_index_entry("environment variables!$envvar@<tt>\$$envvar</tt>",
|
||||||
|
$ahref);
|
||||||
add_index_entry("$envvar@\$$envvar", $ahref);
|
add_index_entry("$envvar@\$$envvar", $ahref);
|
||||||
"$aname\$$envvar</a>" . $_;
|
"$aname\$$envvar</a>" . $_;
|
||||||
}
|
}
|
||||||
|
@ -216,10 +219,17 @@ sub do_cmd_withsubitem{
|
||||||
sub do_cmd_makemodindex{ @_[0]; }
|
sub do_cmd_makemodindex{ @_[0]; }
|
||||||
|
|
||||||
# We're in the document subdirectory when this happens!
|
# We're in the document subdirectory when this happens!
|
||||||
|
#
|
||||||
open(IDXFILE, ">index.dat") || die "\n$!\n";
|
open(IDXFILE, ">index.dat") || die "\n$!\n";
|
||||||
open(INTLABELS, ">intlabels.pl") || die "\n$!\n";
|
open(INTLABELS, ">intlabels.pl") || die "\n$!\n";
|
||||||
print INTLABELS
|
print INTLABELS "%internal_labels = ();\n";
|
||||||
"%internal_labels = ();\n1; # hack in case there are no entries\n\n";
|
print INTLABELS "1; # hack in case there are no entries\n\n";
|
||||||
|
|
||||||
|
# Using \0 for this is bad because we can't use common tools to work with the
|
||||||
|
# resulting files. Things like grep can be useful with this stuff!
|
||||||
|
#
|
||||||
|
$IDXFILE_FIELD_SEP = "\1";
|
||||||
|
|
||||||
|
|
||||||
sub gen_target_name{
|
sub gen_target_name{
|
||||||
"l2h-" . @_[0];
|
"l2h-" . @_[0];
|
||||||
|
@ -247,7 +257,7 @@ sub add_index_entry{
|
||||||
my($str,$ahref) = @_;
|
my($str,$ahref) = @_;
|
||||||
$str = gen_index_id($str, '');
|
$str = gen_index_id($str, '');
|
||||||
$index{$str} .= $ahref;
|
$index{$str} .= $ahref;
|
||||||
print IDXFILE $ahref, "\0", $str, "\n";
|
print IDXFILE $ahref, $IDXFILE_FIELD_SEP, $str, "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub link_info{
|
sub link_info{
|
||||||
|
@ -346,23 +356,13 @@ sub my_parword_index_helper{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Set this to true to strip out the <tt>...</tt> from index entries;
|
|
||||||
# this is analogous to using the second definition of \idxcode{} from
|
|
||||||
# myformat.sty.
|
|
||||||
#
|
|
||||||
# It is used from &make_mod_index_entry() and &make_str_index_entry().
|
|
||||||
#
|
|
||||||
$STRIP_INDEX_TT = 1;
|
|
||||||
|
|
||||||
sub make_mod_index_entry{
|
sub make_mod_index_entry{
|
||||||
my($br_id,$str,$define) = @_;
|
my($br_id,$str,$define) = @_;
|
||||||
my($name,$aname,$ahref) = link_info($br_id);
|
my($name,$aname,$ahref) = link_info($br_id);
|
||||||
$str =~ s|<tt>(.*)</tt>|\1|
|
|
||||||
if $STRIP_INDEX_TT;
|
|
||||||
# equivalent of add_index_entry() using $define instead of ''
|
# equivalent of add_index_entry() using $define instead of ''
|
||||||
$str = gen_index_id($str, $define);
|
$str = gen_index_id($str, $define);
|
||||||
$index{$str} .= $ahref;
|
$index{$str} .= $ahref;
|
||||||
print IDXFILE $ahref, "\0", $str, "\n";
|
print IDXFILE $ahref, $IDXFILE_FIELD_SEP, $str, "\n";
|
||||||
|
|
||||||
if ($define eq 'DEF') {
|
if ($define eq 'DEF') {
|
||||||
# add to the module index
|
# add to the module index
|
||||||
|
@ -398,8 +398,6 @@ sub do_cmd_bifuncindex{
|
||||||
local($_) = @_;
|
local($_) = @_;
|
||||||
s/$next_pair_pr_rx[\n]?//o;
|
s/$next_pair_pr_rx[\n]?//o;
|
||||||
my($br_id,$str,$fname) = ($1, $2, "<tt>$2()</tt>");
|
my($br_id,$str,$fname) = ($1, $2, "<tt>$2()</tt>");
|
||||||
$fname = "$str()"
|
|
||||||
if $STRIP_INDEX_TT;
|
|
||||||
make_index_entry($br_id, "$fname (built-in function)") . $_;
|
make_index_entry($br_id, "$fname (built-in function)") . $_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -442,8 +440,6 @@ init_myformat();
|
||||||
sub make_str_index_entry{
|
sub make_str_index_entry{
|
||||||
my($br_id,$str) = @_;
|
my($br_id,$str) = @_;
|
||||||
my($name,$aname,$ahref) = link_info($br_id);
|
my($name,$aname,$ahref) = link_info($br_id);
|
||||||
$str =~ s|<tt>(.*)</tt>|\1|
|
|
||||||
if $STRIP_INDEX_TT;
|
|
||||||
add_index_entry($str, $ahref);
|
add_index_entry($str, $ahref);
|
||||||
"$aname$str</a>";
|
"$aname$str</a>";
|
||||||
}
|
}
|
||||||
|
@ -542,10 +538,7 @@ sub do_env_funcdescni{
|
||||||
if (/$funcdesc_rx/o) {
|
if (/$funcdesc_rx/o) {
|
||||||
$function_name = "$2";
|
$function_name = "$2";
|
||||||
$arg_list = "$4";
|
$arg_list = "$4";
|
||||||
if ($STRIP_INDEX_TT) {
|
$idx = "<tt>$function_name</tt>";
|
||||||
$idx = "$function_name"; }
|
|
||||||
else {
|
|
||||||
$idx = "<tt>$function_name</tt>"; }
|
|
||||||
}
|
}
|
||||||
"<dl><dt><b>$idx</b> (<var>$arg_list</var>)\n<dd>$'</dl>";
|
"<dl><dt><b>$idx</b> (<var>$arg_list</var>)\n<dd>$'</dl>";
|
||||||
}
|
}
|
||||||
|
@ -632,9 +625,7 @@ sub do_env_excdesc{
|
||||||
local($_) = @_;
|
local($_) = @_;
|
||||||
/$next_pair_rx/o;
|
/$next_pair_rx/o;
|
||||||
my($br_id,$excname,$rest) = ($1, $2, $');
|
my($br_id,$excname,$rest) = ($1, $2, $');
|
||||||
my $idx = make_str_index_entry($br_id,
|
my $idx = make_str_index_entry($br_id, "<tt>$excname</tt>");
|
||||||
"<tt>$excname</tt> (exception in $THIS_MODULE)");
|
|
||||||
$idx =~ s/ \(.*\)//;
|
|
||||||
"<dl><dt><b>$idx</b>\n<dd>$rest</dl>"
|
"<dl><dt><b>$idx</b>\n<dd>$rest</dl>"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue