[Pkg-octave-devel] inline-octave-perl "whos" patch
Colin Ingram
synergizedmusic at gmail.com
Wed Sep 28 09:18:24 UTC 2005
inline-octave-perl 0.21-2 currently contains a patch which alters the
format of the output of the octave "whos" function in sub
get_defined_functions of Octave.pm. I assume this was done to improve
the matching of the regex 3 lines later. In the new upstream source
0.22 this portion of the code is implemented using the octave "who" [w/o
long output]. This seems functional to me but I don't know the
original intent of the patch. Do we still need this section of the
patch. I've attached the relevant section of the 0.21/0.22 upstream
source diff and the current patch.
0.21/0.22 diff
@@ -430,11 +448,21 @@
sub get_defined_functions
{
my $o = shift;
- my $data= $o->interpret("whos('-functions')");
+ my $data= $o->interpret("who('-functions')");
my @funclist;
- while ( $data =~ /user(-defined|) function +- +- +(\w+)/g )
+ $compiled_fns_marker= 0;
+ while ( $data =~ /(.+)/g )
{
- push @funclist, $2;
+ my $line = $1;
+ if( $line =~ /^\*\*\* .* compiled functions/ ) {
+ $compiled_fns_marker = 1;
+ } elsif ( $line =~ /^\*\*\* / ) {
+ $compiled_fns_marker = 0 ;
+ } elsif ( $line =~ /^[\w\s]+$/ && $compiled_fns_marker ) {
+ while( $line =~ /(\w+)/g ) {
+ push @funclist, $1;
+ }
+ }
}
return @funclist;
50_control-output-of-whos.dpatch
@@ -430,11 +430,12 @@
sub get_defined_functions
{
my $o = shift;
+ $o->interpret('whos_line_format ="%ln:50;%rt:50;\n";');
my $data= $o->interpret("whos('-functions')");
my @funclist;
- while ( $data =~ /user(-defined|) function +- +- +(\w+)/g )
+ while ( $data =~ /(\w+)\s+user(-defined|) function/g )
{
- push @funclist, $2;
+ push @funclist, $1;
}
return @funclist;
More information about the Pkg-octave-devel
mailing list