Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - tacvbo

Pages: [1]
I just updated to Perl 5.24.0 and found that Gmusicbrowser doesn't work on it because two nested declarations within the code.

The problem is:

Can't redeclare "my" in "my" at /usr/bin/../share/gmusicbrowser/ line 8001, at end of line
Compilation failed in require at /usr/bin/gmusicbrowser line 440.
BEGIN failed--compilation aborted at /usr/bin/gmusicbrowser line 473.

I did this changes:

--- /usr/bin/../share/gmusicbrowser/
2016-05-28 23:35:21.793720205 -0500
+++ /usr/bin/../share/gmusicbrowser/ 2016-05-28
23:35:49.329718977 -0500
@@ -7998,7 +7998,7 @@
  unless ($notnow)
  { #warn "$key ---found in ($code,@deps)\n";
  if (ref $code)
- { my ($func,my @keys)[email protected]$code; #warn " -> ($func, @keys)\n";
+ { my ($func, @keys)[email protected]$code; #warn " -> ($func, @keys)\n";
  my $out=join ',',map "'$_'", @keys;
  my $in= join ',',map "'$_'", @deps; $in=~s#\?##g;
  $out= @keys>1 ? "\@var{$out}" : "\$var{$out}";

--- /usr/bin/gmusicbrowser.bk 2016-05-28 23:35:34.641719632 -0500
+++ /usr/bin/gmusicbrowser 2016-05-28 23:36:16.993717744 -0500
@@ -8977,7 +8977,7 @@

  ($cmd,my $pattern)= split /:/,$cmd,2;
  $pattern='' unless defined $pattern;
- my ($basecmd,my $prop)= Songs::filter_properties($field,"$cmd:$pattern");
+ my ($basecmd, $prop)= Songs::filter_properties($field,"$cmd:$pattern");
  if (!$prop)
  { $cmd=  Songs::Field_property($field,'default_filter');
  ($basecmd,$prop)= Songs::filter_properties($field,$cmd);

it works but I don't know if its a proper fix.

It's based on what I found here

Can't redeclare "%s" in "%s"
(F) A "my", "our" or "state" declaration was found within another
declaration, such as my ($x, my($y), $z) or our (my $x).

Pages: [1]