[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#592536: future unblock: libconfig-model-tkui-perl/1.309-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Hi

(Please Cc debian-perl on replies)

Would it be possible to unblock libconfig-model-tkui-perl once
uploaded to unstable? 1.308 is affected from a bug, that hid help text
from the graphical interface. I attach to this request the planned
debdiff and diffstat for this.

unblock libconfig-model-tkui-perl/1.309-1

 Build.PL                               |   10 
 ChangeLog                              |    7 
 MANIFEST                               |    1 
 MANIFEST.SKIP                          |    2 
 META.yml                               |   26 ++
 debian/changelog                       |    7 
 debian/control                         |    2 
 examples/model.pl                      |   10 
 lib/Config/Model/Tk/AnyViewer.pm       |   84 +++----
 lib/Config/Model/Tk/CheckListEditor.pm |   94 ++++----
 lib/Config/Model/Tk/CheckListViewer.pm |   44 ++-
 lib/Config/Model/Tk/HashEditor.pm      |   12 -
 lib/Config/Model/Tk/HashViewer.pm      |   12 -
 lib/Config/Model/Tk/LeafEditor.pm      |  168 +++++++-------
 lib/Config/Model/Tk/LeafViewer.pm      |   12 -
 lib/Config/Model/Tk/ListEditor.pm      |   12 -
 lib/Config/Model/Tk/ListViewer.pm      |   12 -
 lib/Config/Model/Tk/NodeEditor.pm      |   12 -
 lib/Config/Model/Tk/NodeViewer.pm      |   12 -
 lib/Config/Model/Tk/NoteEditor.pm      |   12 -
 lib/Config/Model/Tk/Wizard.pm          |   12 -
 lib/Config/Model/TkUI.pm               |   21 -
 t/big_model.pm                         |  387 ++++++++++++++++-----------------
 t/release-pod-syntax.t                 |   10 
 24 files changed, 518 insertions(+), 463 deletions(-)

It seems a really big change, but this is not right true, becouse in
the debdiff there are too many 'spaces' diffs.

The package is not yet uploaded to unstable, however. Can we proceede
with the upload and would it get a freeze exception?

Release Managers, thanks for your work!

Bests
Salvatore

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
diff -Nru libconfig-model-tkui-perl-1.308/Build.PL libconfig-model-tkui-perl-1.309/Build.PL
--- libconfig-model-tkui-perl-1.308/Build.PL	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/Build.PL	2010-08-09 19:49:45.000000000 +0200
@@ -1,12 +1,12 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 #    Copyright (c) 2007-2010 Dominique Dumont.
 #
 #    This file is part of Config-Model-TkUI.
diff -Nru libconfig-model-tkui-perl-1.308/ChangeLog libconfig-model-tkui-perl-1.309/ChangeLog
--- libconfig-model-tkui-perl-1.308/ChangeLog	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/ChangeLog	2010-08-09 19:49:45.000000000 +0200
@@ -1,4 +1,9 @@
-2010-07-22  Dominique Dumont  <domi.dumont@free.fr>
+2010-08-08  Dominique Dumont  <domi.dumont@free.fr> 1.309
+
+	* lib/Config/Model/Tk/AnyViewer.pm (add_help): Fix bug that hid
+	summary and help text
+
+2010-07-22  Dominique Dumont  <domi.dumont@free.fr> 1.308
 
 	* MANIFEST.SKIP: added libconfig to avoid accidental upload of
 	Debian test packages
diff -Nru libconfig-model-tkui-perl-1.308/MANIFEST libconfig-model-tkui-perl-1.309/MANIFEST
--- libconfig-model-tkui-perl-1.308/MANIFEST	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/MANIFEST	2010-08-09 19:49:45.000000000 +0200
@@ -3,6 +3,7 @@
 LICENSE
 MANIFEST
 MANIFEST.SKIP
+META.yml
 README
 examples/model.pl
 lib/Config/Model/Tk/AnyViewer.pm
diff -Nru libconfig-model-tkui-perl-1.308/MANIFEST.SKIP libconfig-model-tkui-perl-1.309/MANIFEST.SKIP
--- libconfig-model-tkui-perl-1.308/MANIFEST.SKIP	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/MANIFEST.SKIP	2010-08-09 19:49:45.000000000 +0200
@@ -2,4 +2,6 @@
 libconfig
 ~$
 \.old$
+\.orig$
+_build
 dist.ini
diff -Nru libconfig-model-tkui-perl-1.308/META.yml libconfig-model-tkui-perl-1.309/META.yml
--- libconfig-model-tkui-perl-1.308/META.yml	1970-01-01 01:00:00.000000000 +0100
+++ libconfig-model-tkui-perl-1.309/META.yml	2010-08-09 19:49:45.000000000 +0200
@@ -0,0 +1,26 @@
+---
+abstract: 'Tk GUI to edit config data through Config::Model'
+author:
+  - 'Dominique Dumont'
+build_requires:
+  Module::Build: 0.3601
+configure_requires:
+  Module::Build: 0.3601
+dynamic_config: 0
+generated_by: 'Dist::Zilla version 4.101900, CPAN::Meta::Converter version 2.101670'
+license: lgpl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Config-Model-TkUI
+recommends:
+  Tk::ObjScanner: 0
+requires:
+  Config::Model: 1.202
+  Exception::Class: 0
+  Log::Log4perl: 1.11
+  Pod::POM: 0
+  Tk: 0
+  Tk::DirSelect: 0
+  Tk::Tree: 0
+version: 1.309
diff -Nru libconfig-model-tkui-perl-1.308/debian/changelog libconfig-model-tkui-perl-1.309/debian/changelog
--- libconfig-model-tkui-perl-1.308/debian/changelog	2010-07-23 12:34:56.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/debian/changelog	2010-08-10 13:10:59.000000000 +0200
@@ -1,3 +1,10 @@
+libconfig-model-tkui-perl (1.309-1) unstable; urgency=low
+
+  * New upstream release
+  * Bump Standards-Version to 3.9.1 (no changes needed).
+
+ -- Salvatore Bonaccorso <salvatore.bonaccorso@gmail.com>  Tue, 10 Aug 2010 13:10:54 +0200
+
 libconfig-model-tkui-perl (1.308-1) unstable; urgency=low
 
   * New upstream release
diff -Nru libconfig-model-tkui-perl-1.308/debian/control libconfig-model-tkui-perl-1.309/debian/control
--- libconfig-model-tkui-perl-1.308/debian/control	2010-07-23 12:34:56.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/debian/control	2010-08-10 08:40:10.000000000 +0200
@@ -14,7 +14,7 @@
 Uploaders: Dominique Dumont <dominique.dumont@hp.com>,
  Jonathan Yu <jawnsy@cpan.org>, gregor herrmann <gregoa@debian.org>,
  Salvatore Bonaccorso <salvatore.bonaccorso@gmail.com>
-Standards-Version: 3.9.0
+Standards-Version: 3.9.1
 Homepage: http://search.cpan.org/dist/Config-Model-TkUI/
 Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libconfig-model-tkui-perl/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libconfig-model-tkui-perl/
diff -Nru libconfig-model-tkui-perl-1.308/examples/model.pl libconfig-model-tkui-perl-1.309/examples/model.pl
--- libconfig-model-tkui-perl-1.308/examples/model.pl	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/examples/model.pl	2010-08-09 19:49:45.000000000 +0200
@@ -1,13 +1,13 @@
 #!/usr/bin/perl
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 
 # example contributed by 
 # (c) 2009 Alexander Becker <asb_ehb at yahoo.de> 
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/AnyViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/AnyViewer.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/AnyViewer.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/AnyViewer.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,12 +1,12 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 #    Copyright (c) 2008-2010 Dominique Dumont.
 #
 #    This file is part of Config-Model-TkUi.
@@ -27,7 +27,7 @@
 
 package Config::Model::Tk::AnyViewer ;
 BEGIN {
-  $Config::Model::Tk::AnyViewer::VERSION = '1.308';
+  $Config::Model::Tk::AnyViewer::VERSION = '1.309';
 }
 
 use strict;
@@ -54,8 +54,8 @@
     my ($cw,$type,$item) = @_ ;
 
     unless (%img) {
-	$img{edit} = $cw->Photo(-file => $icon_path.'wizard.png');
-	$img{view} = $cw->Photo(-file => $icon_path.'viewmag.png');
+        $img{edit} = $cw->Photo(-file => $icon_path.'wizard.png');
+        $img{view} = $cw->Photo(-file => $icon_path.'viewmag.png');
     }
 
     my $idx ;
@@ -96,14 +96,14 @@
     $title .= ':'.$elt_name if $elt_name;
 
     my $dialog = $cw->Dialog (
-			      -title => $title,
-			      -text => join("\n",$title,@items),
-			      -font => $text_font ,
-			     );
+                              -title => $title,
+                              -text => join("\n",$title,@items),
+                              -font => $text_font ,
+                             );
     my $button = $frame 
       -> Button(-text => "info ...",
-		-command => sub {$dialog -> Show; }
-	       ) ;
+                -command => sub {$dialog -> Show; }
+               ) ;
     return $button ; # to be packed by caller
 }
 
@@ -120,35 +120,35 @@
     return $help_frame unless $force_text_widget or $help;
 
     $help_frame ->Label(
-			 -text => $help_label, 
-			) ->pack(-anchor => 'w');
+                         -text => $help_label, 
+                        ) ->pack(-anchor => 'w');
 
     my $widget ;
     chomp $help ;
     if (  $force_text_widget or $help =~ /\n/ or length($help) > 50) {
-	$widget = $help_frame->Scrolled('ROText',
-					-scrollbars => 'ow',
-					-wrap => 'word',
-					-font => $text_font ,
-					-relief => 'ridge',
-					-height => 4,
-				       );
-
-	$widget ->pack( @fbe1 ) ->insert('end',$help,'help') ;
-	$widget
-	  ->tagConfigure(qw/help -lmargin1 2 -lmargin2 2 -rmargin 2/);
+        $widget = $help_frame->Scrolled('ROText',
+                                        -scrollbars => 'ow',
+                                        -wrap => 'word',
+                                        -font => $text_font ,
+                                        -relief => 'ridge',
+                                        -height => 4,
+                                       );
+
+        $widget ->pack( @fbe1 ) ->insert('end',$help,'help') ;
+        $widget
+          ->tagConfigure(qw/help -lmargin1 2 -lmargin2 2 -rmargin 2/);
     }
     else {
-	$widget = $help_frame->Label( -text => $help,
-				      -justify => 'left',
-				      -font => $text_font ,
-				      -anchor => 'w',
-				      -padx => $padx ,
-				    )
-	    ->pack( -fill => 'x');
+        $widget = $help_frame->Label( -text => $help,
+                                      -justify => 'left',
+                                      -font => $text_font ,
+                                      -anchor => 'w',
+                                      -padx => $padx ,
+                                    )
+            ->pack( -fill => 'x');
     }
 
-    return $widget ;
+    return wantarray ? ($help_frame,$widget) : $help_frame ;
 }
 
 sub add_summary {
@@ -156,7 +156,7 @@
 
     my $p    = $elt_obj->parent ;
     my $name = $elt_obj->element_name ;
-    $cw->add_help( Summary => $p->get_help(summary => $name)) ;
+    return $cw->add_help( Summary => $p->get_help(summary => $name)) ;
 }
 
 sub add_description {
@@ -164,24 +164,24 @@
 
     my $p    = $elt_obj->parent ;
     my $name = $elt_obj->element_name ;
-    $cw->add_help( Description => $p->get_help(description => $name)) ;
+    return $cw->add_help( Description => $p->get_help(description => $name)) ;
 }
 
 # returns a widget that must be packed
 sub add_annotation {
     my ($cw, $obj) = @_ ;
 
-    $cw->add_help('Note', $obj->annotation) ;
+    return $cw->add_help('Note', $obj->annotation) ;
 }
 
 sub add_editor_button {
     my ($cw,$path) = @_ ;
 
     my $sub = sub {
-	$cw->parent->parent->parent->parent
-	  -> create_element_widget( edit => $path) ;
-	} ;
-    $cw->Button(-text => 'Edit ...', -command => $sub) ;
+        $cw->parent->parent->parent->parent
+          -> create_element_widget( edit => $path) ;
+        } ;
+    return $cw->Button(-text => 'Edit ...', -command => $sub) ;
 }
 
 # do nothing by default 
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListEditor.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListEditor.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListEditor.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::CheckListEditor ;
 BEGIN {
-  $Config::Model::Tk::CheckListEditor::VERSION = '1.308';
+  $Config::Model::Tk::CheckListEditor::VERSION = '1.309';
 }
 
 use strict;
@@ -58,21 +58,21 @@
     my $lb ;
     my @choice = $leaf->get_choice ;
     my $raise_cmd = sub{ 
-	$lb->selectionClear(0,'end') ;
-	my %h = $leaf->get_checked_list_as_hash ;
-	for (my $i=0; $i<@choice; $i++) {
-	    $lb->selectionSet($i,$i) if $h{$choice[$i]} ;
-	}
+        $lb->selectionClear(0,'end') ;
+        my %h = $leaf->get_checked_list_as_hash ;
+        for (my $i=0; $i<@choice; $i++) {
+            $lb->selectionSet($i,$i) if $h{$choice[$i]} ;
+        }
     } ;
 
     my $ed_frame = $nb->add('content', -label => 'Change content',
-			    -raisecmd => $raise_cmd ,
-			   );
+                            -raisecmd => $raise_cmd ,
+                           );
 
     $lb = $ed_frame->Scrolled ( qw/Listbox -selectmode multiple/,
-				   -scrollbars => 'osoe',
-				   -height => 5,
-				 ) ->pack(@fbe1) ;
+                                   -scrollbars => 'osoe',
+                                   -height => 5,
+                                 ) ->pack(@fbe1) ;
     $lb->insert('end',@choice) ;
 
 
@@ -84,28 +84,30 @@
 
     my $bframe = $ed_frame->Frame->pack;
     $bframe -> Button ( -text => 'Clear all',
-			-command => sub { $lb->selectionClear(0,'end') ; },
-		      ) -> pack(-side => 'left') ;
+                        -command => sub { $lb->selectionClear(0,'end') ; },
+                      ) -> pack(-side => 'left') ;
     $bframe -> Button ( -text => 'Set all',
-			-command => sub { $lb->selectionSet(0,'end') ; },
-		      ) -> pack(-side => 'left') ;
+                        -command => sub { $lb->selectionSet(0,'end') ; },
+                      ) -> pack(-side => 'left') ;
     $bframe -> Button ( -text => 'Reset',
-			-command => sub { $cw->reset_value ; },
-		      ) -> pack(-side => 'left') ;
+                        -command => sub { $cw->reset_value ; },
+                      ) -> pack(-side => 'left') ;
     $bframe -> Button ( -text => 'Store',
-			-command => sub { $cw->store ( &$get_selected )},
-		      ) -> pack(-side => 'left') ;
+                        -command => sub { $cw->store ( &$get_selected )},
+                      ) -> pack(-side => 'left') ;
 
     $cw->ConfigModelNoteEditor( -object => $leaf )->pack(@fbe1) ;
     $cw->add_summary($leaf)->pack(@fx) ;
     $cw->add_description($leaf)->pack(@fx) ;
-    $cw->{value_help_widget} = $cw->add_help(value => '',1)->pack(@fx);
+    my ($help_frame, $help_widget) = $cw->add_help(value => '',1);
+    $help_frame->pack(@fx);
+    $cw->{value_help_widget} = $help_widget ; 
     $cw->add_info_button()->pack(@fxe1) ;
     $b_sub->() ;
 
     # Add a second page to edit the list order for ordered check list
     if ($leaf->ordered) {
-	$cw->add_change_order_page($nb,$leaf) ;
+        $cw->add_change_order_page($nb,$leaf) ;
     }
 
     # don't call directly SUPER::Populate as it's CheckListViewer's populate
@@ -117,36 +119,36 @@
 
     my $order_list ;
     my $raise_cmd = sub{ 
-	$order_list->delete(0,'end');
-	$order_list->insert( end => $leaf->get_checked_list) ;
+        $order_list->delete(0,'end');
+        $order_list->insert( end => $leaf->get_checked_list) ;
     } ;
 
     my $order_frame = $nb->add('order', -label => 'Change order',
-			       -raisecmd => $raise_cmd ,
-			      );
+                               -raisecmd => $raise_cmd ,
+                              );
 
     $order_list = $order_frame ->Scrolled ( 'Listbox',
-					       -selectmode => 'single',
-					       -scrollbars => 'oe',
-					       -height => 6,
-					     )
+                                               -selectmode => 'single',
+                                               -scrollbars => 'oe',
+                                               -height => 6,
+                                             )
       -> pack(@fbe1) ;
 
     $cw->{order_list} = $order_list ;
 
     unless (defined $up_img) {
-	$up_img   = $cw->Photo(-file => $icon_path.'up.png');
-	$down_img = $cw->Photo(-file => $icon_path.'down.png');
+        $up_img   = $cw->Photo(-file => $icon_path.'up.png');
+        $down_img = $cw->Photo(-file => $icon_path.'down.png');
     }
 
     my $mv_up_down_frame = $order_frame->Frame->pack( -fill => 'x');
     $mv_up_down_frame->Button(-image => $up_img,
-			      -command => sub { $cw->move_selected_up ;} ,
-			     )-> pack( -side => 'left', @fxe1);
+                              -command => sub { $cw->move_selected_up ;} ,
+                             )-> pack( -side => 'left', @fxe1);
 
     $mv_up_down_frame->Button(-image => $down_img,
-			      -command => sub { $cw->move_selected_down ;} ,
-			     )-> pack( -side => 'left',  @fxe1);
+                              -command => sub { $cw->move_selected_down ;} ,
+                             )-> pack( -side => 'left',  @fxe1);
 }
 
 sub move_selected_up {
@@ -199,12 +201,12 @@
     my $cl = $cw->{leaf};
 
     map {
-	if ($set{$_} and not $cl->is_checked($_) ) {
-	    $cl->check($_) ;
-	} 
-	elsif (not $set{$_} and $cl->is_checked($_) ) {
-	    $cl->uncheck($_) ;
-	}
+        if ($set{$_} and not $cl->is_checked($_) ) {
+            $cl->check($_) ;
+        } 
+        elsif (not $set{$_} and $cl->is_checked($_) ) {
+            $cl->uncheck($_) ;
+        }
     } $cw->{leaf}->get_choice;
 
     $cw->{store_cb}->() ;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListViewer.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListViewer.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListViewer.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::CheckListViewer ;
 BEGIN {
-  $Config::Model::Tk::CheckListViewer::VERSION = '1.308';
+  $Config::Model::Tk::CheckListViewer::VERSION = '1.309';
 }
 
 use strict;
@@ -47,21 +47,23 @@
     $cw->add_header(View => $leaf)->pack(@fx) ;
 
     my $rt = $cw->Scrolled ( 'ROText',
-			     -scrollbars => 'osoe',
-			     -height => 6,
-			   ) ->pack(@fbe1) ;
+                             -scrollbars => 'osoe',
+                             -height => 6,
+                           ) ->pack(@fbe1) ;
     $rt->tagConfigure('in',-background => 'black', -foreground => 'white') ;
 
     my %h = $leaf->get_checked_list_as_hash ;
     foreach my $c ($leaf->get_choice) {
-	my $tag = $h{$c} ? 'in' : 'out' ;
-	$rt->insert('end', $c."\n" , $tag) ;
+        my $tag = $h{$c} ? 'in' : 'out' ;
+        $rt->insert('end', $c."\n" , $tag) ;
     }
 
     $cw->add_annotation($leaf)->pack(@fx) ;
     $cw->add_summary($leaf)->pack(@fx) ;
 
-    $cw->{value_help_widget} = $cw->add_help(value => '',1)->pack(@fx);
+    my ($help_frame, $help_widget) = $cw->add_help(value => '',1);
+    $help_frame->pack(@fx);
+    $cw->{value_help_widget} = $help_widget ; 
     $cw->set_value_help($leaf->get_checked_list);
 
     $cw->add_description($leaf)->pack(@fx) ;
@@ -69,6 +71,14 @@
     $cw->add_info_button()->pack(@fxe1, -side => 'left') ;
     $cw->add_editor_button($path)-> pack(@fxe1, -side => 'right') ;
 
+    $cw->ConfigSpecs(
+                     #-fill   => [ qw/SELF fill Fill both/],
+                     #-expand => [ qw/SELF expand Expand 1/],
+                     -relief => [qw/SELF relief Relief groove/ ],
+                     -borderwidth => [qw/SELF borderwidth Borderwidth 2/] ,
+                     DEFAULT => [ qw/SELF/ ],
+           );
+
     $cw->SUPER::Populate($args) ;
 }
 
@@ -76,8 +86,8 @@
     my $cw = shift ;
 
     my $help_frame = $cw->Frame(-relief => 'groove',
-				-borderwidth => 2,
-			       )->pack(@fbe1);
+                                -borderwidth => 2,
+                               )->pack(@fbe1);
     my $leaf = $cw->{leaf} ;
     $help_frame->Label(-text => 'value help: ')->pack(-side => 'left');
     $help_frame->Label(-textvariable => \$cw->{help})
@@ -92,8 +102,8 @@
      $w->delete('0.0','end');
 
      foreach my $v (@set) {
-	 my $value_help = $cw->{leaf}->get_help($v);
-	 $w->insert('end',"$v: ".$value_help."\n") if defined $value_help ;
+         my $value_help = $cw->{leaf}->get_help($v);
+         $w->insert('end',"$v: ".$value_help."\n") if defined $value_help ;
      }
  }
 
@@ -103,7 +113,7 @@
     my @items = () ;
     my $leaf = $cw->{leaf} ;
     if (defined $leaf->refer_to) {
-	push @items, "refer_to: ".$leaf->refer_to ;
+        push @items, "refer_to: ".$leaf->refer_to ;
     }
     push @items, "ordered: ". ($leaf->ordered ? 'yes' : 'no');
     return $leaf->element_name, @items ;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashEditor.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashEditor.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashEditor.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::HashEditor ;
 BEGIN {
-  $Config::Model::Tk::HashEditor::VERSION = '1.308';
+  $Config::Model::Tk::HashEditor::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashViewer.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashViewer.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashViewer.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::HashViewer ;
 BEGIN {
-  $Config::Model::Tk::HashViewer::VERSION = '1.308';
+  $Config::Model::Tk::HashViewer::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafEditor.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafEditor.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafEditor.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::LeafEditor ;
 BEGIN {
-  $Config::Model::Tk::LeafEditor::VERSION = '1.308';
+  $Config::Model::Tk::LeafEditor::VERSION = '1.309';
 }
 
 use strict;
@@ -64,47 +64,47 @@
     $ed_frame  -> Label(-text => 'Value') -> pack() ;
 
     if ($vt eq 'string') {
-	$cw->{e_widget} = $ed_frame->Scrolled ( 'Text',
-						-height => 5 ,
-						-scrollbars => 'ow',
-					      )
+        $cw->{e_widget} = $ed_frame->Scrolled ( 'Text',
+                                                -height => 5 ,
+                                                -scrollbars => 'ow',
+                                              )
                              ->pack(@fbe1);
-	$cw->{e_widget}
-	  ->tagConfigure(qw/value -lmargin1 2 -lmargin2 2 -rmargin 2/);
-	$cw->reset_value ;
-	my $bframe = $cw->add_buttons($ed_frame) ;
-	$bframe -> Button ( -text => 'Cleanup',
-			    -command => sub { $cw->cleanup},
-			  ) -> pack(-side => 'left') ;
+        $cw->{e_widget}
+          ->tagConfigure(qw/value -lmargin1 2 -lmargin2 2 -rmargin 2/);
+        $cw->reset_value ;
+        my $bframe = $cw->add_buttons($ed_frame) ;
+        $bframe -> Button ( -text => 'Cleanup',
+                            -command => sub { $cw->cleanup},
+                          ) -> pack(-side => 'left') ;
     }
     elsif ($vt eq 'boolean') {
-	$ed_frame->Checkbutton(-text => $leaf->element_name,
-			 -variable => $vref,
-			 -command => sub { $cw->try},
-			)
-	  ->pack();
-	$cw->add_buttons($ed_frame) ;
+        $ed_frame->Checkbutton(-text => $leaf->element_name,
+                         -variable => $vref,
+                         -command => sub { $cw->try},
+                        )
+          ->pack();
+        $cw->add_buttons($ed_frame) ;
     }
     elsif ($vt eq 'uniline' or $vt eq 'integer') {
-	$ed_frame -> Entry(-textvariable => $vref)
-	    -> pack(@fx);
-	$cw->add_buttons($ed_frame) ;
+        $ed_frame -> Entry(-textvariable => $vref)
+            -> pack(@fx);
+        $cw->add_buttons($ed_frame) ;
     }
     elsif ($vt eq 'enum' or $vt eq 'reference') {
-	my $lb = $ed_frame->Scrolled ( 'Listbox',
-				       -height => 5,
-				       -scrollbars => 'osow',
-				       #-listvariable => $vref,
-				       #-selectmode => 'single',
-				     ) ->pack(@fbe1) ;
-	my @choice = $leaf->get_choice ;
-	$lb->insert('end',$leaf->get_choice) ;
-	my $idx = 0;
-	if (defined $$vref) {
-	  map { $lb->selectionSet($idx) if $_ eq $$vref; $idx ++}  @choice;
-	}
-	$lb->bind('<Button-1>',sub {$cw->try($lb->get($lb->curselection()))});
-	$cw->add_buttons($ed_frame) ;
+        my $lb = $ed_frame->Scrolled ( 'Listbox',
+                                       -height => 5,
+                                       -scrollbars => 'osow',
+                                       #-listvariable => $vref,
+                                       #-selectmode => 'single',
+                                     ) ->pack(@fbe1) ;
+        my @choice = $leaf->get_choice ;
+        $lb->insert('end',$leaf->get_choice) ;
+        my $idx = 0;
+        if (defined $$vref) {
+          map { $lb->selectionSet($idx) if $_ eq $$vref; $idx ++}  @choice;
+        }
+        $lb->bind('<Button-1>',sub {$cw->try($lb->get($lb->curselection()))});
+        $cw->add_buttons($ed_frame) ;
 
     }
 
@@ -114,15 +114,17 @@
     $cw->add_info_button()->pack( @fx,qw/-anchor n/) ;
     $cw->add_summary($leaf)->pack(@fx) ;
     $cw->add_description($leaf)->pack(@fx) ;
-    $cw->{value_help_widget} = $cw->add_help(value => '',1)->pack(@fx);
+    my ($help_frame, $help_widget) = $cw->add_help(value => '',1);
+    $help_frame->pack(@fx);
+    $cw->{value_help_widget} = $help_widget ; 
     $cw->set_value_help ;
 
     $cw->ConfigSpecs(
-		     #-fill   => [ qw/SELF fill Fill both/],
-		     #-expand => [ qw/SELF expand Expand 1/],
-		     -relief => [qw/SELF relief Relief groove/ ],
-		     -borderwidth => [qw/SELF borderwidth Borderwidth 2/] ,
-		     DEFAULT => [ qw/SELF/ ],
+                     #-fill   => [ qw/SELF fill Fill both/],
+                     #-expand => [ qw/SELF expand Expand 1/],
+                     -relief => [qw/SELF relief Relief groove/ ],
+                     -borderwidth => [qw/SELF borderwidth Borderwidth 2/] ,
+                     DEFAULT => [ qw/SELF/ ],
            );
 
     # don't call directly SUPER::Populate as it's LeafViewer's populate
@@ -139,9 +141,9 @@
     $text =~ s/\s+/ /g;
 
     if ($selected) {
-	$text_widget -> Insert ($text) ;
+        $text_widget -> Insert ($text) ;
     } else {
-	$text_widget -> Contents($text) ;
+        $text_widget -> Contents($text) ;
     }
 }
 
@@ -149,14 +151,14 @@
     my ($cw,$frame) = @_ ;
     my $bframe = $frame->Frame->pack() ;
     $bframe -> Button ( -text => 'Reset',
-			-command => sub { $cw->reset_value ; },
-		      ) -> pack(-side => 'left') ;
+                        -command => sub { $cw->reset_value ; },
+                      ) -> pack(-side => 'left') ;
     $bframe -> Button ( -text => 'Delete',
-			-command => sub { $cw->delete},
-		      ) -> pack(-side => 'left') ;
+                        -command => sub { $cw->delete},
+                      ) -> pack(-side => 'left') ;
     $bframe -> Button ( -text => 'Store',
-			-command => sub { $cw->store},
-		      ) -> pack(-side => 'right') ;
+                        -command => sub { $cw->store},
+                      ) -> pack(-side => 'right') ;
     return $bframe ;
 }
 
@@ -166,12 +168,12 @@
     my $v = shift ;
 
     if (defined $v) {
-	$cw->{value} = $v ;
+        $cw->{value} = $v ;
     }
     else {
-	my $e_w = $cw->{e_widget} ;
-	# tk widget use a reference
-	$v = defined  $e_w ? $e_w->get('1.0','end')
+        my $e_w = $cw->{e_widget} ;
+        # tk widget use a reference
+        $v = defined  $e_w ? $e_w->get('1.0','end')
            :                 $cw->{value} ;
     }
 
@@ -184,16 +186,16 @@
     my @errors = $cw->{leaf}->check($v,1) ;
 
     if (@errors ) {
-	$cw -> Dialog ( -title => 'Value error',
-			-text  => join("\n",@errors),
-		      )
+        $cw -> Dialog ( -title => 'Value error',
+                        -text  => join("\n",@errors),
+                      )
             -> Show ;
-	$cw->reset_value ;
-	return ;
+        $cw->reset_value ;
+        return ;
     }
     else {
-	$cw->set_value_help($v) ;
-	return $v ;
+        $cw->set_value_help($v) ;
+        return $v ;
     }
 }
 
@@ -203,15 +205,15 @@
     eval {$cw->{leaf}->store(undef); } ;
 
     if ($@) {
-	$cw -> Dialog ( -title => 'Delete error',
-			-text  => "$@",
-		      )
+        $cw -> Dialog ( -title => 'Delete error',
+                        -text  => "$@",
+                      )
             -> Show ;
     }
     else {
-	# trigger redraw of Tk Tree
-	$cw->reset_value ;
-	$cw->parent->parent->parent->parent->reload(1) ;
+        # trigger redraw of Tk Tree
+        $cw->reset_value ;
+        $cw->parent->parent->parent->parent->reload(1) ;
     }
 }
 
@@ -225,15 +227,15 @@
     eval {$cw->{leaf}->store($v); } ;
 
     if ($@) {
-	$cw -> Dialog ( -title => 'Value error',
-			-text  => "$@",
-		      )
+        $cw -> Dialog ( -title => 'Value error',
+                        -text  => "$@",
+                      )
             -> Show ;
-	$cw->reset_value ;
+        $cw->reset_value ;
     }
     else {
-	# trigger redraw of Tk Tree
-	$cw->{store_cb}->($cw->{leaf}) ;
+        # trigger redraw of Tk Tree
+        $cw->{store_cb}->($cw->{leaf}) ;
     }
 }
 
@@ -241,10 +243,10 @@
      my $cw = shift ;
      my $v = $cw->{value} ;
      if (defined $v) {
-	 my $value_help = $cw->{leaf}->get_help($v);
-	 my $w = $cw->{value_help_widget};
-	 $w->delete('0.0','end');
-	 $w->insert('end',$value_help) if defined $value_help ;
+         my $value_help = $cw->{leaf}->get_help($v);
+         my $w = $cw->{value_help_widget};
+         $w->delete('0.0','end');
+         $w->insert('end',$value_help) if defined $value_help ;
      }
  }
 
@@ -252,8 +254,8 @@
     my $cw = shift ;
     $cw->{value} = $cw->{leaf}->fetch ;
     if (defined $cw->{e_widget}) {
-	$cw->{e_widget}->delete('1.0','end') ;
-	$cw->{e_widget}->insert('end',$cw->{value},'value') ;
+        $cw->{e_widget}->delete('1.0','end') ;
+        $cw->{e_widget}->insert('end',$cw->{value},'value') ;
     }
     $cw->set_value_help if defined $cw->{value_help_widget};
 }
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafViewer.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafViewer.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafViewer.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::LeafViewer ;
 BEGIN {
-  $Config::Model::Tk::LeafViewer::VERSION = '1.308';
+  $Config::Model::Tk::LeafViewer::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListEditor.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListEditor.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListEditor.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::ListEditor ;
 BEGIN {
-  $Config::Model::Tk::ListEditor::VERSION = '1.308';
+  $Config::Model::Tk::ListEditor::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListViewer.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListViewer.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListViewer.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::ListViewer ;
 BEGIN {
-  $Config::Model::Tk::ListViewer::VERSION = '1.308';
+  $Config::Model::Tk::ListViewer::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeEditor.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeEditor.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeEditor.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::NodeEditor ;
 BEGIN {
-  $Config::Model::Tk::NodeEditor::VERSION = '1.308';
+  $Config::Model::Tk::NodeEditor::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeViewer.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeViewer.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeViewer.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::NodeViewer ;
 BEGIN {
-  $Config::Model::Tk::NodeViewer::VERSION = '1.308';
+  $Config::Model::Tk::NodeViewer::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NoteEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NoteEditor.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NoteEditor.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NoteEditor.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,15 +1,15 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 package Config::Model::Tk::NoteEditor ;
 BEGIN {
-  $Config::Model::Tk::NoteEditor::VERSION = '1.308';
+  $Config::Model::Tk::NoteEditor::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/Wizard.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/Wizard.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/Wizard.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/Wizard.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,16 +1,16 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 
 package Config::Model::Tk::Wizard ;
 BEGIN {
-  $Config::Model::Tk::Wizard::VERSION = '1.308';
+  $Config::Model::Tk::Wizard::VERSION = '1.309';
 }
 
 use strict;
diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/TkUI.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/TkUI.pm
--- libconfig-model-tkui-perl-1.308/lib/Config/Model/TkUI.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/lib/Config/Model/TkUI.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,17 +1,17 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 # copyright at the end of the file in the pod section
 
 package Config::Model::TkUI ;
 BEGIN {
-  $Config::Model::TkUI::VERSION = '1.308';
+  $Config::Model::TkUI::VERSION = '1.309';
 }
 
 use strict;
@@ -996,10 +996,6 @@
 
 Config::Model::TkUI - Tk GUI to edit config data through Config::Model
 
-=head1 VERSION
-
-version 1.308
-
 =head1 SYNOPSIS
 
  use Config::Model::TkUI;
@@ -1170,4 +1166,7 @@
 
 Config::Model mailing lists on http://sourceforge.net/mail/?group_id=155650
 
-=back
\ No newline at end of file
+=back
+
+
+
diff -Nru libconfig-model-tkui-perl-1.308/t/big_model.pm libconfig-model-tkui-perl-1.309/t/big_model.pm
--- libconfig-model-tkui-perl-1.308/t/big_model.pm	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/t/big_model.pm	2010-08-09 19:49:45.000000000 +0200
@@ -1,12 +1,12 @@
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 # -*- cperl -*-
 
 # this file is used by test script
@@ -15,30 +15,30 @@
   [
    name => 'SubSlave2',
    element => [
-	       [qw/aa2 ab2 ac2 ad2 Z/] =>
-	       { type => 'leaf', value_type => 'string' }
-	      ]
+               [qw/aa2 ab2 ac2 ad2 Z/] =>
+               { type => 'leaf', value_type => 'string' }
+              ]
   ],
 
   [
    name => 'SubSlave',
    element => [
-	       [qw/aa ab ac ad/] => 
-	       { type => 'leaf', value_type => 'uniline' },
-	       sub_slave => { type => 'node' ,
-			      config_class_name => 'SubSlave2',
-			    }
-	      ]
+               [qw/aa ab ac ad/] => 
+               { type => 'leaf', value_type => 'uniline' },
+               sub_slave => { type => 'node' ,
+                              config_class_name => 'SubSlave2',
+                            }
+              ]
   ],
 
   [
    name => 'X_base_class2',
    element => [
-	       X => { type => 'leaf',
-		      value_type => 'enum',
-		      choice     => [qw/Av Bv Cv/]
-		    },
-	      ],
+               X => { type => 'leaf',
+                      value_type => 'enum',
+                      choice     => [qw/Av Bv Cv/]
+                    },
+              ],
    class_description => 'rather dummy class to check include feature',
   ],
 
@@ -51,16 +51,16 @@
   [
    name => 'SlaveZ',
    element => [
-	       [qw/Z/] => { type => 'leaf',
-			      value_type => 'enum',
-			      choice     => [qw/Av Bv Cv/]
-			    },
-	       [qw/DX/] => { type => 'leaf',
-			     value_type => 'enum',
-			     default    => 'Dv',
-			     choice     => [qw/Av Bv Cv Dv/]
-			   },
-	      ],
+               [qw/Z/] => { type => 'leaf',
+                              value_type => 'enum',
+                              choice     => [qw/Av Bv Cv/]
+                            },
+               [qw/DX/] => { type => 'leaf',
+                             value_type => 'enum',
+                             default    => 'Dv',
+                             choice     => [qw/Av Bv Cv Dv/]
+                           },
+              ],
    include => 'X_base_class',
    include_after => 'Z',
   ],
@@ -68,37 +68,37 @@
   [
    name => 'SlaveY',
    element => [
-	       std_id => {
-			  type => 'hash',
-			  index_type  => 'string',
-			  cargo => {
-				    type => 'node',
-				    config_class_name => 'SlaveZ'
-				   } ,
-			 },
-	       sub_slave => { type => 'node' ,
-			      config_class_name => 'SubSlave',
-			    },
-	       [qw/a_string a_long_string another_string/] 
+               std_id => {
+                          type => 'hash',
+                          index_type  => 'string',
+                          cargo => {
+                                    type => 'node',
+                                    config_class_name => 'SlaveZ'
+                                   } ,
+                         },
+               sub_slave => { type => 'node' ,
+                              config_class_name => 'SubSlave',
+                            },
+               [qw/a_string a_long_string another_string/] 
                         => { type => 'leaf',
-			     mandatory => 1 ,
-			     value_type => 'string'
-			   },
-	       warp2 => {
-			 type => 'warped_node',
-			 follow  => '! tree_macro',
-			 config_class_name   => 'SubSlave', 
-			 morph => 1 ,
-			 rules => [
-				   mXY => { config_class_name => 'SubSlave2'},
-				   XZ  => { config_class_name => 'SubSlave2'}
-				  ]
-			},
-	       Y => { type => 'leaf',
-		      value_type => 'enum',
-		      choice     => [qw/Av Bv Cv/]
-		    },
-	      ],
+                             mandatory => 1 ,
+                             value_type => 'string'
+                           },
+               warp2 => {
+                         type => 'warped_node',
+                         follow  => '! tree_macro',
+                         config_class_name   => 'SubSlave', 
+                         morph => 1 ,
+                         rules => [
+                                   mXY => { config_class_name => 'SubSlave2'},
+                                   XZ  => { config_class_name => 'SubSlave2'}
+                                  ]
+                        },
+               Y => { type => 'leaf',
+                      value_type => 'enum',
+                      choice     => [qw/Av Bv Cv/]
+                    },
+              ],
    include => 'X_base_class',
   ],
 
@@ -109,149 +109,150 @@
    class_description => "Master description",
    level      => [ [qw/lista hash_a tree_macro int_v/] => 'important' ],
    write_config  => [ { backend => 'cds_file' , config_dir => '/foo', auto_create => 1},
-		    ],
+                    ],
    element => [
-	       std_id => { type => 'hash',
-			   index_type  => 'string',
-			   cargo => { type => 'node',
-				      config_class_name => 'SlaveZ'
-				    } ,
-			 },
-	       [qw/lista listb/] => { type => 'list',
-				      cargo => { type => 'leaf',
-						 value_type => 'uniline'
-					       },
-				    },
-	       [qw/hash_a hash_b/] => { type => 'hash',
-			  index_type => 'string',
-			  cargo => { type => 'leaf',
-				     value_type => 'uniline'
-				   },
-			},
-	       ordered_hash => { type => 'hash',
-				 index_type => 'string',
-				 ordered => 1 ,
-				 cargo => { type => 'leaf',
-					    value_type => 'uniline'
-					  },
-			       },
-	       ordered_hash_of_mandatory => { type => 'hash',
-				 index_type => 'string',
-				 ordered => 1 ,
-				 cargo => { type => 'leaf',
-					    value_type => 'uniline',
-					    mandatory => 1,
-					  },
-			       },
-	       'ordered_hash_of_nodes'
-	       => { type => 'hash',
-		    index_type => 'string',
-		    ordered => 1 ,
-		    cargo => { type => 'node',
-			       config_class_name => 'SlaveZ'
-			     },
-		  },
-	       olist => { type => 'list',
-			  cargo => { type => 'node',
-				     config_class_name => 'SlaveZ' ,
-				   },
-			},
-	       enum_list => { type => 'list',
-			      cargo => { type => 'leaf',
-					 value_type => 'enum',
-					 choice => [qw/A B C/],
-				       }
-			    },
-	       tree_macro => { type => 'leaf',
-			       value_type => 'enum',
-			       choice     => [qw/XY XZ mXY/],
-			       help => { XY  => 'XY help',
-					 XZ  => 'XZ help',
-					 mXY => 'mXY help',
-				       }
-			     },
-	       warp => {
-			type => 'warped_node',
-			follow  => '! tree_macro',
-			config_class_name   => 'SlaveY', 
-			morph => 1 ,
-			rules => [
-				  #XY => { config_class_name => 'SlaveY'},
-				  mXY => { config_class_name => 'SlaveY'},
-				  XZ  => { config_class_name => 'SlaveZ'}
-				 ]
-		       },
-
-	       'slave_y' => { type => 'node',
-			      config_class_name => 'SlaveY' ,
-			    },
-
-	       string_with_def => { type => 'leaf',
-				    value_type => 'uniline',
-				    default    => 'yada yada'
-				  },
-	       a_uniline => { type => 'leaf',
-			     value_type => 'uniline',
-			     default    => 'yada yada'
-			    },
-	       a_boolean => { type => 'leaf',
-			     value_type => 'boolean',
-			    },
-	       [qw/a_string a_long_string another_string/] 
+               std_id => { type => 'hash',
+                           index_type  => 'string',
+                           cargo => { type => 'node',
+                                      config_class_name => 'SlaveZ'
+                                    } ,
+                         },
+               [qw/lista listb/] => { type => 'list',
+                                      cargo => { type => 'leaf',
+                                                 value_type => 'uniline'
+                                               },
+                                      summary => 'lista and listb are used to yada yada ',
+                                    },
+               [qw/hash_a hash_b/] => { type => 'hash',
+                          index_type => 'string',
+                          cargo => { type => 'leaf',
+                                     value_type => 'uniline'
+                                   },
+                        },
+               ordered_hash => { type => 'hash',
+                                 index_type => 'string',
+                                 ordered => 1 ,
+                                 cargo => { type => 'leaf',
+                                            value_type => 'uniline'
+                                          },
+                               },
+               ordered_hash_of_mandatory => { type => 'hash',
+                                 index_type => 'string',
+                                 ordered => 1 ,
+                                 cargo => { type => 'leaf',
+                                            value_type => 'uniline',
+                                            mandatory => 1,
+                                          },
+                               },
+               'ordered_hash_of_nodes'
+               => { type => 'hash',
+                    index_type => 'string',
+                    ordered => 1 ,
+                    cargo => { type => 'node',
+                               config_class_name => 'SlaveZ'
+                             },
+                  },
+               olist => { type => 'list',
+                          cargo => { type => 'node',
+                                     config_class_name => 'SlaveZ' ,
+                                   },
+                        },
+               enum_list => { type => 'list',
+                              cargo => { type => 'leaf',
+                                         value_type => 'enum',
+                                         choice => [qw/A B C/],
+                                       }
+                            },
+               tree_macro => { type => 'leaf',
+                               value_type => 'enum',
+                               choice     => [qw/XY XZ mXY/],
+                               help => { XY  => 'XY help',
+                                         XZ  => 'XZ help',
+                                         mXY => 'mXY help',
+                                       }
+                             },
+               warp => {
+                        type => 'warped_node',
+                        follow  => '! tree_macro',
+                        config_class_name   => 'SlaveY', 
+                        morph => 1 ,
+                        rules => [
+                                  #XY => { config_class_name => 'SlaveY'},
+                                  mXY => { config_class_name => 'SlaveY'},
+                                  XZ  => { config_class_name => 'SlaveZ'}
+                                 ]
+                       },
+
+               'slave_y' => { type => 'node',
+                              config_class_name => 'SlaveY' ,
+                            },
+
+               string_with_def => { type => 'leaf',
+                                    value_type => 'uniline',
+                                    default    => 'yada yada'
+                                  },
+               a_uniline => { type => 'leaf',
+                             value_type => 'uniline',
+                             default    => 'yada yada'
+                            },
+               a_boolean => { type => 'leaf',
+                             value_type => 'boolean',
+                            },
+               [qw/a_string a_long_string another_string/] 
                         => { type => 'leaf',
-			     value_type => 'string'
-			   },
-	       [qw/a_mandatory_string another_mandatory_string/] 
+                             value_type => 'string'
+                           },
+               [qw/a_mandatory_string another_mandatory_string/] 
                         => { type => 'leaf',
-			     mandatory => 1 ,
-			     value_type => 'string'
-			   },
-	       int_v => { type => 'leaf',
-			  value_type => 'integer',
-			  default    => '10',
-			  min        => 5,
-			  max        => 15
-			},
-	       upstream_default => { type => 'leaf',
-			  value_type => 'integer',
-			  upstream_default  => '10',
-			},
-	       my_plain_check_list => { type => 'check_list',
-					choice => ['AA' .. 'AE'],
-					help => { AA => 'AA help',
-						  AC => 'AC help',
-						  AE => 'AE help',
-						},
-					description => 'my_plain_check_list nto so helpfull description',
-				      } ,
-	       my_ref_check_list => { type => 'check_list',
-				  refer_to => '- hash_a + ! hash_b',
-				} ,
-	       'ordered_checklist'
-	       => { type => 'check_list',
-		    choice     => ['A' .. 'Z'],
-		    ordered => 1 ,
-		    help => { A => 'A help', E => 'E help' } ,
-		    summary => 'will checklist be served ? ;-) ',
-		  },
-
-	       my_reference => { type => 'leaf',
-				 value_type => 'reference',
-				 refer_to => '- hash_a + ! hash_b',
-				 summary => 'justify a long help ;-) ',
-			       }
-	      ],
+                             mandatory => 1 ,
+                             value_type => 'string'
+                           },
+               int_v => { type => 'leaf',
+                          value_type => 'integer',
+                          default    => '10',
+                          min        => 5,
+                          max        => 15
+                        },
+               upstream_default => { type => 'leaf',
+                          value_type => 'integer',
+                          upstream_default  => '10',
+                        },
+               my_plain_check_list => { type => 'check_list',
+                                        choice => ['AA' .. 'AE'],
+                                        help => { AA => 'AA help',
+                                                  AC => 'AC help',
+                                                  AE => 'AE help',
+                                                },
+                                        description => 'my_plain_check_list nto so helpfull description',
+                                      } ,
+               my_ref_check_list => { type => 'check_list',
+                                  refer_to => '- hash_a + ! hash_b',
+                                } ,
+               'ordered_checklist'
+               => { type => 'check_list',
+                    choice     => ['A' .. 'Z'],
+                    ordered => 1 ,
+                    help => { A => 'A help', E => 'E help' } ,
+                    summary => 'will checklist be served ? ;-) ',
+                  },
+
+               my_reference => { type => 'leaf',
+                                 value_type => 'reference',
+                                 refer_to => '- hash_a + ! hash_b',
+                                 summary => 'justify a long help ;-) ',
+                               }
+              ],
    description => [
-		   tree_macro => 'controls behavior of other elements',
-		   a_long_string =>"long string with \\n in it",
-		   my_reference => "very long help:\n"
-		   ."Config::Model enables a project developer to provide an interactive configuration editor to his users. For this he must:
+                   tree_macro => 'controls behavior of other elements',
+                   a_long_string =>"long string with \\n in it",
+                   my_reference => "very long help:\n"
+                   ."Config::Model enables a project developer to provide an interactive configuration editor to his users. For this he must:
 - describe the structure and constraint of his project's configuration
 - if the configuration data is not stored in INI file or in Perl data
   file, he must provide some code to read and write configuration from
   configuration files.
 "
-		  ]
+                  ]
    ],
 ] ;
 
diff -Nru libconfig-model-tkui-perl-1.308/t/release-pod-syntax.t libconfig-model-tkui-perl-1.309/t/release-pod-syntax.t
--- libconfig-model-tkui-perl-1.308/t/release-pod-syntax.t	2010-07-22 11:01:19.000000000 +0200
+++ libconfig-model-tkui-perl-1.309/t/release-pod-syntax.t	2010-08-09 19:49:45.000000000 +0200
@@ -1,13 +1,13 @@
 #!perl
-# 
+#
 # This file is part of Config-Model-TkUI
-# 
+#
 # This software is Copyright (c) 2010 by Dominique Dumont.
-# 
+#
 # This is free software, licensed under:
-# 
+#
 #   The GNU Lesser General Public License, Version 2.1, February 1999
-# 
+#
 
 BEGIN {
   unless ($ENV{RELEASE_TESTING}) {

Reply to: