diff options
author | Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com> | 1997-03-06 14:10:38 +0100 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-03-01 18:40:49 +1200 |
commit | 385588b3949e695a02c8ea1dd00fe789d6044de3 (patch) | |
tree | 3ee9ff5bd5715756399a102b042284ec5e88881b /lib/Term/ReadLine.pm | |
parent | 1db9566f513791929f1e21e86206e5669d5b11c2 (diff) | |
download | perl-385588b3949e695a02c8ea1dd00fe789d6044de3.tar.gz |
HP-UX hint update
Quoting Chip Salzenberg:
:If you have a second, please look them over and see if anything
:important is out or anything broken is in.
I don't see my hint/hpux.sh patch. Here it is again (in unified format
this time):
p5p-msgid: 1479.857653838@lyon.grenoble.hp.com
Diffstat (limited to 'lib/Term/ReadLine.pm')
-rw-r--r-- | lib/Term/ReadLine.pm | 90 |
1 files changed, 4 insertions, 86 deletions
diff --git a/lib/Term/ReadLine.pm b/lib/Term/ReadLine.pm index 0c88a76e41..88fc6386c3 100644 --- a/lib/Term/ReadLine.pm +++ b/lib/Term/ReadLine.pm @@ -76,12 +76,6 @@ history. Returns the old value. returns an array with two strings that give most appropriate names for files for input and output using conventions C<"E<lt>$in">, C<"E<gt>out">. -=item Attribs - -returns a reference to a hash which describes internal configuration -of the package. Names of keys in this hash conform to standard -conventions with the leading C<rl_> stripped. - =item C<Features> Returns a reference to a hash with keys being features present in @@ -92,49 +86,26 @@ C<MinLine> method is not dummy. C<autohistory> should be present if lines are put into history automatically (maybe subject to C<MinLine>), and C<addhistory> if C<addhistory> method is not dummy. -If C<Features> method reports a feature C<attribs> as present, the -method C<Attribs> is not dummy. - =back -=head1 Additional supported functions - Actually C<Term::ReadLine> can use some other package, that will support reacher set of commands. -All these commands are callable via method interface and have names -which conform to standard conventions with the leading C<rl_> stripped. - =head1 EXPORTS None -=head1 ENVIRONMENT - -The variable C<PERL_RL> governs which ReadLine clone is loaded. If the -value is false, a dummy interface is used. If the value is true, it -should be tail of the name of the package to use, such as C<Perl> or -C<Gnu>. - -If the variable is not set, the best available package is loaded. - =cut package Term::ReadLine::Stub; -@ISA = 'Term::ReadLine::Tk'; $DB::emacs = $DB::emacs; # To peacify -w sub ReadLine {'Term::ReadLine::Stub'} sub readline { - my $self = shift; - my ($in,$out,$str) = @$self; + my ($in,$out,$str) = @{shift()}; print $out shift; - $self->register_Tk - if not $Term::ReadLine::registered and $Term::ReadLine::toloop - and defined &Tk::DoOneEvent; - #$str = scalar <$in>; - $str = $self->get_line; + $str = scalar <$in>; # bug in 5.000: chomping empty string creats length -1: chomp $str if defined $str; $str; @@ -195,27 +166,10 @@ sub new { sub IN { shift->[0] } sub OUT { shift->[1] } sub MinLine { undef } -sub Attribs { {} } - -my %features = (tkRunning => 1); -sub Features { \%features } +sub Features { {} } package Term::ReadLine; # So late to allow the above code be defined? - -my $which = $ENV{PERL_RL}; -if ($which) { - if ($which =~ /\bgnu\b/i){ - eval "use Term::ReadLine::Gnu;"; - } elsif ($which =~ /\bperl\b/i) { - eval "use Term::ReadLine::Perl;"; - } else { - eval "use Term::ReadLine::$which;"; - } -} elsif (defined $which) { # Defined but false - # Do nothing fancy -} else { - eval "use Term::ReadLine::Gnu; 1" or eval "use Term::ReadLine::Perl; 1"; -} +eval "use Term::ReadLine::Gnu;" or eval "use Term::ReadLine::Perl;"; #require FileHandle; @@ -230,42 +184,6 @@ if (defined &Term::ReadLine::Gnu::readline) { @ISA = qw(Term::ReadLine::Stub); } -package Term::ReadLine::Tk; - -$count_handle = $count_DoOne = $count_loop = 0; - -sub handle {$giveup = 1; $count_handle++} - -sub Tk_loop { - # Tk->tkwait('variable',\$giveup); # needs Widget - $count_DoOne++, Tk::DoOneEvent(0) until $giveup; - $count_loop++; - $giveup = 0; -} - -sub register_Tk { - my $self = shift; - $Term::ReadLine::registered++ - or Tk->fileevent($self->IN,'readable',\&handle); -} - -sub tkRunning { - $Term::ReadLine::toloop = $_[1] if @_ > 1; - $Term::ReadLine::toloop; -} - -sub get_c { - my $self = shift; - $self->Tk_loop if $Term::ReadLine::toloop && defined &Tk::DoOneEvent; - return getc $self->IN; -} - -sub get_line { - my $self = shift; - $self->Tk_loop if $Term::ReadLine::toloop && defined &Tk::DoOneEvent; - my $in = $self->IN; - return scalar <$in>; -} 1; |