seems to be done in one of those two hashes holding callbacks to handle
[doc://...] links
update
ironically it's the first one
return( "http://perldoc.perl.org/", 'Perl documentation' ) unless $suf
+fix;
my $func= getVars(getNode('perl keyword list setting','setting'));
if( $func->{$suffix} ) {
"http://perldoc.perl.org/functions/$escsuffix.html"
}
elsif( $suffix =~ /^[\$\@%]/ ) {
"http://perldoc.perl.org/perlvar.html#$escsuffix"
}
else {
my ( $page, $anchor ) = split '#', $suffix, 2;
my ( $uri, $title ) = ( "http://perldoc.perl.org/" );
$uri .= join '/', map $q->escape( $_ ), split /::/, $page;
$uri .= '.html';
if( defined $anchor ) {
$uri .= '#' . $q->escape( $anchor );
( $title = $q->escapeHTML( $q->unescape( $anchor ) ) ) =~ y/-/
+/;
}
( $uri, ( $title ) x!! defined $title );
}
update
a fix might look like (untested)
return( "http://perldoc.perl.org/", 'Perl documentation' ) unless $suf
+fix;
if( $suffix =~ /^[\$\@%]/ ) {
"http://perldoc.perl.org/perlvar.html#$escsuffix"
}
else {
my ( $page, $anchor ) = split '#', $suffix, 2;
my ( $uri, $title ) = ( "http://perldoc.perl.org/" );
my $func= getVars(getNode('perl keyword list setting','setting'));
$uri .= "functions/$page" if( $func->{$page} ); # handle functions
$uri .= join '/', map $q->escape( $_ ), split /::/, $page;
$uri .= '.html';
if( defined $anchor ) {
$uri .= '#' . $q->escape( $anchor );
( $title = $q->escapeHTML( $q->unescape( $anchor ) ) ) =~ y/-/
+/;
}
( $uri, ( $title ) x!! defined $title );
}
update
maybe better like this
return( "http://perldoc.perl.org/", 'Perl documentation' ) unless $suf
+fix;
if( $suffix =~ /^[\$\@%]/ ) {
"http://perldoc.perl.org/perlvar.html#$escsuffix"
}
else {
my ( $page, $anchor ) = split '#', $suffix, 2;
my ( $uri, $title ) = ( "http://perldoc.perl.org/" );
my $func= getVars(getNode('perl keyword list setting','setting'));
if( $func->{$page} ) {
# LanX: handle functions
$uri .= "functions/$page"; # ??? do functions need to escaped?
} else {
# LanX: handle core modules and pragmas
$uri .= join '/', map $q->escape( $_ ), split /::/, $page;
}
$uri .= '.html';
if( defined $anchor ) {
$uri .= '#' . $q->escape( $anchor );
( $title = $q->escapeHTML( $q->unescape( $anchor ) ) ) =~ y/-/
+/;
}
( $uri, ( $title ) x!! defined $title );
}
update
regarding
$uri .= "functions/$page"; # ??? do functions need to escaped?
none of the functions listed in perl keyword list setting needs to be escaped. even -X works fine
comments???
Is there a test suite?