The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
ChangeLog 016
META.yml 22
SIGNATURE 1010
lib/Term/Menus.pm 1131
4 files changed (This is a version diff) 2359
@@ -1,3 +1,19 @@
+2014-12-04  Brian M. Kelly  <Brian.Kelly@fullautosoftware.com>
+
+        * Version 2.88
+
+        * Problem with Signature on 2.87 release.
+
+2014-12-04  Brian M. Kelly  <Brian.Kelly@fullautosoftware.com>
+
+        * Version 2.87
+
+        * Fixed banner menu when coming from full menu.
+  
+        * Fixed navigation when having returned from child,
+          user makes different selelction.
+
+
 2014-11-02  Brian M. Kelly  <Brian.Kelly@fullautosoftware.com>
 
         * Version 2.86
@@ -12,7 +12,7 @@ name: Term-Menus
 provides:
   Term::Menus:
     file: lib/Term/Menus.pm
-    version: 2.86
+    version: 2.88
   TMMemHandle:
     file: lib/Term/Menus.pm
 requires:
@@ -23,4 +23,4 @@ requires:
   Term::RawInput: 1.20
 resources:
   license: http://www.gnu.org/licenses/agpl.html 
-version: 2.86
+version: 2.88
@@ -14,10 +14,10 @@ not run its Makefile.PL or Build.PL.
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 5466086f9f2e6afb632b5e132dc9dedcae054996 ChangeLog
+SHA1 fc355a437919cce1ddc0d616001da98618b0e79f ChangeLog
 SHA1 62647027745e394450492878f8d8730548d83fa2 LICENSE
 SHA1 536d4ce30b1934be585da55e463477877c31fe8c MANIFEST
-SHA1 1781d5f495895d6f4e5d1481de5596db9256f27a META.yml
+SHA1 99278b2060ba242212e9863a577f70e9990c0aa7 META.yml
 SHA1 c83e0c2e694575e7c0630241b6753a645fa5531f Makefile.PL
 SHA1 521af7b21d4032ff9661b978c409910b98e363f4 README
 SHA1 20c73697e1713638140c719d8eaa19a275ed43a5 inc/Module/AutoInstall.pm
@@ -31,17 +31,17 @@ SHA1 b721c93ca5bc9a6aa863b49af15f1b1de6125935 inc/Module/Install/Makefile.pm
 SHA1 026cc0551a0ad399d195e395b46bdf842e115192 inc/Module/Install/Metadata.pm
 SHA1 5457015ea5a50e93465bf2dafa29feebd547f85b inc/Module/Install/Win32.pm
 SHA1 051e7fa8063908befa3440508d0584a2497b97db inc/Module/Install/WriteAll.pm
-SHA1 18743ff6cd4e46a1110586244a48056f025c3324 lib/Term/Menus.pm
+SHA1 4e551dd3bff804d4d17327e317206f262968a14d lib/Term/Menus.pm
 SHA1 7f2e13f5f6a798d52ea897d24d07b49af4039341 t/0-signature.t
 SHA1 ded9def7d10cf71606da96112acc159e0aa9a582 t/test.t
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
-iQEcBAEBAgAGBQJUVqaXAAoJEBa/9Pad787E2ugH/i/SWkH+sGobhoLfYis75idF
-VfuOw2XCO5iYE3m12rHvIAo5QtJV9tYMihLZStIsMAJikASnPQdPtsuNy3amRUNQ
-hhCxKKHRhrXmjJIIaKsQfSFcvP8Lvi8weWnCs4nisJKAtmF4sTKtL5LCmKLM7XRw
-3qayZss+pSA8Qb7LVwTtPkvIIGpys1eQ/ywNkvad0Fm1h5Sjqik7MBfhuMhTvHQT
-tLcUObm/QUjBbRENZH/lMTCBT34iWa38im8LK7VVv+RZ25cAQ6M5xRyLNrj9k891
-gXUYDYpd9OZAgm8hxurExDtbR4NPtVYmp1MrXC++hYJ+Yikt71EiEmn5OfVL6C4=
-=tCxa
+iQEcBAEBAgAGBQJUgOXcAAoJEBa/9Pad787E3MkH/AnXBheZZ8VLQsNt95bDZnL6
+znla/f9pLmGJVPhFbankzNqORoK4H9VTwEdtOcIKjT8ir+s27PIenCYbGT4oqTvq
+gbM6hR8NEcHDrAV6UTNiDPA+796p3nonf/MWWJzmzQqmltsbfUF+XmI74rXflj3Y
+QGLdaT7cDDWY6Q7lpZpGWjjI7S00ICPeeXA92N3Sor8yuU7jbEPCMijGsmkz+tMR
+4CxDJZDBvS8GvyiDJSn/5aVObm5yzDkpvY6gB5RkaolO68xLv457uhd3Q9vsfzvY
+mD4Lu7NKJ7JiEU90Kj1X8g0/803yzTDDlZHyC46TFGWVCl83ltHJcj3OEPJAyck=
+=dOj8
 -----END PGP SIGNATURE-----
@@ -15,7 +15,7 @@ package Term::Menus;
 ## See user documentation at the end of this file.  Search for =head
 
 
-our $VERSION = '2.86';
+our $VERSION = '2.88';
 
 
 use 5.006;
@@ -1669,13 +1669,13 @@ sub Menu
    ############################################
 
    my $cl_def=0;
-   foreach my $key (keys %{$SaveNext}) {
-      if ($FullMenu->{$key}[5] eq 'ERASE') {
-         $FullMenu->{$key}[5]='' if !exists $SavePick->{$key};
-         $cl_def=1;
-         last;
-      }
-   }
+   #foreach my $key (keys %{$SaveNext}) {
+   #   if ($FullMenu->{$key}[5] eq 'ERASE') {
+   #      $FullMenu->{$key}[5]='' if !exists $SavePick->{$key};
+   #      $cl_def=1;
+   #      last;
+   #   }
+   #}
    %default=() if defined $FullMenu->{$MenuUnit_hash_ref}[5]
       && !$cl_def;
    my $nm_=(keys %num__)?\%num__:{};
@@ -1806,7 +1806,8 @@ sub pw {
 
    ## pw [p]ad [w]alker
    #print "PWCALLER=",caller,"\n";
-   return $_[0]->{Name} if exists $_[0]->{Name};
+   return $_[0]->{Name} if ref $_[0] eq 'HASH'
+      && exists $_[0]->{Name};
    my @packages=();
    @packages=@{$_[1]} if defined $_[1] && $_[1];
    my $name='';
@@ -1908,6 +1909,9 @@ sub test_hashref {
       } elsif (exists $hashref_to_test->{Input} &&
             $hashref_to_test->{Input}) {
          return 1; 
+      } elsif (!grep { /Item_/ } keys %{$hashref_to_test} 
+            && grep { /Banner/ } keys %{$hashref_to_test}) {
+         return 1;
       } else {
          my $die="\n      FATAL ERROR! - Unable to verify Menu\n"
              ."\n      This Error is usually the result of a Menu"
@@ -5102,6 +5106,18 @@ sub pick # USAGE: &pick( ref_to_choices_array,
                   $numbor=(keys %picks)[0];
                   $numbor_is_eff=1;
                }
+               if (grep { /Item_/ } keys %{$MenuUnit_hash_ref}) {
+                  my @items=();
+                  foreach my $key (keys %{$MenuUnit_hash_ref}) {
+                     next unless $key=~/Item_/;
+                     push @items, $MenuUnit_hash_ref->{$key};
+                  }
+                  if ($#items==0 && ref $items[0] eq 'HASH' &&
+                        !grep { /Item_/ } keys %{$items[0]} &&
+                        grep { /Banner/ } keys %{$items[0]}) {
+                     $show_banner_only=1;
+                  }
+               }
                if ($show_banner_only ||
                          (grep { /Item_/ } keys %{$FullMenu->{
                          $MenuUnit_hash_ref}[2]{$all_menu_items_array[
@@ -5164,7 +5180,7 @@ sub pick # USAGE: &pick( ref_to_choices_array,
                   chomp($numbor) if $numbor;
                   unless ($numbor_is_eff) {
                      if (exists $picks{$numbor}) {
-                        $FullMenu->{$cur_menu}[5]='ERASE';
+                        #$FullMenu->{$cur_menu}[5]='ERASE';
                         $hidedefaults=0;
                         foreach my $key (keys %{$SaveNext}) {
                            delete $SaveNext->{$key};
@@ -5181,7 +5197,7 @@ sub pick # USAGE: &pick( ref_to_choices_array,
                         }
                      }
                      if ($prev_menu && $prev_menu!=$numbor) {
-                        $FullMenu->{$cur_menu}[5]='ERASE';
+                        #$FullMenu->{$cur_menu}[5]='ERASE';
                         $hidedefaults=0;
                         &delete_Selected($cur_menu,$prev_menu,
                            $Selected,$SavePick,$SaveNext,$Persists);
@@ -6435,6 +6451,10 @@ sub pick # USAGE: &pick( ref_to_choices_array,
                   $done=1;last
                }
                return 'DONE_SUB';
+            } elsif ($return_from_child_menu &&
+                  !exists $SavePick->{$MenuUnit_hash_ref}->{$pn{$numbor}}) {
+               delete_Selected($MenuUnit_hash_ref);
+               $done=1;last;
             } else { $done=1 }
             last if !$return_from_child_menu;
          }