Author: sparky                       Date: Sat Nov  5 16:11:55 2005 GMT
Module: vfmg                          Tag: DEVEL
---- Log message:
- killed more glodal veriables (not required in recursive parsing)

---- Files affected:
vfmg:
   vfmg (1.73.2.29 -> 1.73.2.30) 

---- Diffs:

================================================================
Index: vfmg/vfmg
diff -u vfmg/vfmg:1.73.2.29 vfmg/vfmg:1.73.2.30
--- vfmg/vfmg:1.73.2.29 Sat Nov  5 16:41:20 2005
+++ vfmg/vfmg   Sat Nov  5 17:11:50 2005
@@ -447,11 +447,6 @@
 
 my @menu;      # $menu[parent]{name}=[x=menu number,icon]
                # $menu[parent]{name}=[-1=entry,icon,exec]
-my $mno=0;     # menu number
-my $name="";
-my $dir;
-my $tmpapps;
-my @menustack;
 
 # logic {{{
 sub cand { # {{{
@@ -462,7 +457,7 @@
                my $tag = lc(gettag());
                last if($tag eq '/and');
                if($tag eq 'category') {
-                       $dir=getname();
+                       my $dir=getname();
                        if($firstrun) {
                                foreach $name(0..$#happs) {
                                        $iapps[$name]=$apps[$name] if exists 
$apps[$name]{$dir};
@@ -477,6 +472,7 @@
                        next;
                }
                if($tag=~/^(and|or|not)$/) {
+                       my $tmpapps;
                        if ($tag eq 'or') {
                                $tmpapps=cor();
                        } elsif ($tag eq 'and') {
@@ -508,7 +504,7 @@
                my $tag=lc(gettag());
                last if($tag eq '/or');
                if($tag eq 'category') {
-                       $dir=getname();
+                       my $dir=getname();
                        foreach $name(0..$#happs) {
                                $iapps[$name]=1 if exists $apps[$name]{$dir};
                        }
@@ -516,6 +512,7 @@
                        next;
                }
                if($tag=~/^(and|or|not)$/) {
+                       my $tmpapps;
                        if ($tag eq 'or') {
                                $tmpapps=cor();
                        } elsif ($tag eq 'and') {
@@ -541,7 +538,7 @@
                my $tag=lc(gettag());
                last if($tag eq '/not');
                if($tag eq 'category') {
-                       $dir=getname();
+                       my $dir=getname();
                        foreach $name(0..$#iapps) {
                                delete($iapps[$name]) if exists 
$iapps[$name]{$dir};
                        }
@@ -550,6 +547,7 @@
                }
                if($tag=~/^(and|or|not)$/) {    # I think it doesn't make any 
sense
                        warn "How did you get here!?\n" if $o_verbose;
+                       my $tmpapps;
                        if ($tag eq 'or') {
                                $tmpapps=cor();
                        } elsif ($tag eq 'and') {
@@ -570,10 +568,11 @@
 
 # parse menu file {{{
 my @tmp=grep -d, map {"$_/desktop-directories/"} @xdg_data_dirs;
-sub include { # {{{
+sub include($) { # {{{
+       my ($mno) = @_;
        while ( (my $tag = lc(gettag())) ne "/include" ) {
                if($tag eq 'category') {
-                       $dir=getname();
+                       my $dir=getname();
                        foreach my $name(0..$#happs) {
                                $menu[$mno]{$happs[$name]}=-1
                                        if exists $apps[$name]{$dir};
@@ -582,6 +581,7 @@
                        next;
                }
                if($tag=~/^(and|or|not)$/) {
+                       my $tmpapps;
                        if ($tag eq 'or') {
                                $tmpapps=cor();
                        } elsif ($tag eq 'and') {
@@ -605,30 +605,29 @@
        }
 } # }}}
 
-sub menu($);
-sub menu($) { # {{{
-       my ($parent_name) = @_;
+sub menu($$);
+sub menu($$) { # {{{
+       my ($parent_name, $parent_number) = @_;
        # just in case, will fail if more <menu>'s have no <name> tag
        my $this_name = $parent_name . ":new";
        my $name;
        $#menu++;
-       $menustack[$#menustack+1]=$mno;
-       $mno=$#menu;
+       my $mno = $#menu;
        my $dirfile;
 
        while ( (my $tag = lc(gettag())) ne "/menu" ) {
                if($tag eq 'include') {
-                       include();
+                       include($mno);
                        next;
                }
                if($tag eq 'menu') {
-                       menu($this_name);
+                       menu($this_name, $mno);
                        next;
                }
                if($tag eq 'name') {
                        $name = getname();
                        $this_name = $parent_name .":". $name;
-                       $menu[$menustack[$#menustack]]{$this_name}=$mno;
+                       $menu[$parent_number]{$this_name} = $mno;
                        if ( defined $dirfile ) {
                                # $desktop created, but without name
                                my $old_name = $parent_name . ":new";
@@ -669,7 +668,7 @@
                        if ($ok) {
                                if($opt{icons_full}) {
                                        my $exists=0;
-                                       foreach my $dir(@icondirs) {
+                                       foreach my $dir (@icondirs) {
                                                foreach my $ext ('', qw(.svg 
.xpm .png)) {
                                                        if (-f $dir . $icon . 
$ext) {
                                                                $exists=1;
@@ -731,16 +730,13 @@
        
        # if there was no <Directory>
        $desktop{$this_name}=[$name,$name,""] unless defined 
$desktop{$this_name};
-       
-       $mno=$menustack[$#menustack];
-       $#menustack--;
 } # }}}
 
 $#menu++;
 while( (my $tag = lc(gettag())) ne "menu" ) {
        warn "Omitted tag: $tag\n" if $o_tags;
 }
-menu("");
+menu("", 0);
 
 warn "Omitted ending: $file\n" if(($file ne "")&& $o_end);
 # parse menu file }}}
@@ -750,7 +746,7 @@
        for(my $i=$#menu; $i>=0; $i--) {
                $empty[$i]=1;
                foreach my $entry(keys %{$menu[$i]}) {
-                       $mno=$menu[$i]{$entry};
+                       my $mno = $menu[$i]{$entry};
                        if($mno<0) {
                                $empty[$i]=0;
                        } else {
@@ -769,7 +765,7 @@
        for(my $i=$#menu; $i>=0; $i--) {
                $count[$i]=0;
                foreach my $entry(keys %{$menu[$i]}) {
-                       $mno=$menu[$i]{$entry};
+                       my $mno = $menu[$i]{$entry};
                        if($mno<0) {
                                $count[$i]++;
                        } else { # submenu
@@ -837,7 +833,7 @@
        my @edje = qw(edje_cc -id . -fd . icon.edc);
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
-               $name = $$d[LOCALENAME];
+               my $name = $$d[LOCALENAME];
                print $tab.$name."..";
                
                unlink $$dr{icon};
@@ -902,7 +898,7 @@
        
        foreach my $entry(keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
-               $name = encode($opt{encoding},$$d[LOCALENAME]);
+               my $name = encode($opt{encoding},$$d[LOCALENAME]);
                if($menu[$no]{$entry} < 0) {
                        $name=~s/\"/\\\"/g;
                        my $icon = "";
@@ -944,7 +940,7 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
-               $name=encode($opt{encoding},$$d[LOCALENAME]);
+               my $name = encode($opt{encoding},$$d[LOCALENAME]);
                $name=~s/\"/\'/g;
                my $icon="";
                $icon = scale_icon($$d[ICON]) if $opt{icons};
@@ -994,11 +990,11 @@
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
                if($menu[$no]{$entry} < 0) {
-                       $name = $$d[LOCALENAME];
+                       my $name = $$d[LOCALENAME];
                        $name =~ s/\"/\\\"/g;
                        $apps .= qq(\tExec "$name"\texec $$d[EXEC]\n);
                } else {
-                       $name = $$d[FILENAME];
+                       my $name = $$d[FILENAME];
                        $name =~ s/\s+/_/g;
                        $this_menu .= qq(\tPopup 
"$$d[LOCALENAME]"\t$file.$name\n);
                        fvwm($menu[$no]{$entry},"$file.$name",$$d[LOCALENAME]);
@@ -1035,7 +1031,7 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
-               $name = $$d[LOCALENAME];
+               my $name = $$d[LOCALENAME];
                $name =~ s/\"/\\\"/g;
                my $icon = "";
                $icon = scale_icon($$d[ICON]) if $opt{icons};
@@ -1140,7 +1136,7 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
-               $name = $$d[LOCALENAME];
+               my $name = $$d[LOCALENAME];
                $name =~ s/\"/\\\"/g;
                if($menu[$no]{$entry} < 0) {
                        (my $exec = $$d[EXEC]) =~ s/\"/\\\"/g;
@@ -1188,7 +1184,7 @@
        my $apps="";
        foreach my $entry (sort cmpdname keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
-               $name = ($$d[LOCALENAME] =~ /["&<>]/) ?
+               my $name = ($$d[LOCALENAME] =~ /["&<>]/) ?
                        xmlname($$d[LOCALENAME]) : $$d[LOCALENAME];
                my $icon = "";
                $icon = scale_icon($$d[ICON]) if $opt{icons};
@@ -1209,7 +1205,7 @@
        my ($no, $dir)[EMAIL PROTECTED];
        foreach my $entry (keys %{$menu[$no]}) {
                my $d = $desktop{$entry};
-               $name = encode($opt{encoding},$$d[LOCALENAME]);
+               my $name = encode($opt{encoding},$$d[LOCALENAME]);
                if($menu[$no]{$entry} < 0) {
                        $name =~ s/\"/\\\"/g;
                        my $icon = "";
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/vfmg/vfmg?r1=1.73.2.29&r2=1.73.2.30&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to