Term::ReadLine::Gnu uses the stifle_history() method to set the
number of history lines kept. Term::ReadLine::Perl uses the
value of the MaxHistorySize atribute.
around 'run' => sub {
my $orig=shift;
my ($self, @args)=@_;
- $self->term->stifle_history($hist_len);
+ if ($self->term->Attribs->{ReadLine} eq 'Term::ReadLine::Gnu') {
+ $self->term->stifle_history($hist_len);
+ }
+ if ($self->term->Attribs->{ReadLine} eq 'Term::ReadLine::Perl') {
+ $self->term->Attribs->{MaxHistorySize} = $hist_len;
+ }
-f($hist_file) && $self->term->ReadHistory($hist_file);
$self->term->Attribs->{do_expand}=1;
$self->$orig(@args);