diff -Nur -x '*.orig' -x '*.rej' e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm mezzanine_patched_e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm --- e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm 2007-04-04 16:49:49.000000000 -0400 +++ mezzanine_patched_e-smith-lib-1.18.0/root/usr/lib/perl5/site_perl/esmith/console.pm 2007-04-04 16:49:27.000000000 -0400 @@ -439,13 +439,15 @@ the coderef to drive the --gauge widget of the dialog program, as well as to perform whatever actions are being reported by the progress bar. The coderef should take one parameter, which is the file handle to write the controlling -text to. The coderef should return a string, which is displayed by a +text to. If the return value of the coderef is defined, it is displayed by a message_page after the progress bar terminates. All text used to update the progress bar should either be numbers between 0 and 100, or arbitrary text sandwiched between leading and training lines of 'XXX' followed by newline. The numbers will update the percentage complete -of the display, and the text will update the displayed text. +of the display, and the text will update the displayed text. Updating the +displayed text will reset the precentage complete to 0, so text should always +be followed by number. =cut @@ -457,14 +459,18 @@ my $title = $params{title} || 'Progress'; my $feedback_title = $params{feedback_title} || 'Status'; my $init_text = $params{text} || 'Progress'; + my @args = ( + '--backtitle', $self->backtitle, + '--title', gettext($title), + ); + push @args, "--clear" if $params{clear}; use FileHandle; unless (open(WR, '|-')) { exec('/usr/bin/dialog', - '--backtitle', $self->backtitle, - '--title', gettext($title), + @args, '--gauge', gettext($init_text), SCREEN_ROWS, @@ -474,7 +480,8 @@ WR->autoflush(1); my $text = &$sub(*WR); close(WR); - $self->message_page('title' => $feedback_title, 'text' => $text); + $self->message_page('title' => $feedback_title, 'text' => $text) + if defined $text; } =head2 run_screens