From 77644ee620b6a79cf8c538abaf7cd301a875528d Mon Sep 17 00:00:00 2001
From: markm <markm@FreeBSD.org>
Date: Sun, 2 May 1999 14:33:17 +0000
Subject: Maintenance releace 3 of perl5.005. Includes support for threads.

---
 contrib/perl5/lib/Term/Complete.pm | 24 ++++++++++++++----------
 contrib/perl5/lib/Term/ReadLine.pm |  2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

(limited to 'contrib/perl5/lib/Term')

diff --git a/contrib/perl5/lib/Term/Complete.pm b/contrib/perl5/lib/Term/Complete.pm
index 275aade..445dfca 100644
--- a/contrib/perl5/lib/Term/Complete.pm
+++ b/contrib/perl5/lib/Term/Complete.pm
@@ -5,7 +5,7 @@ require Exporter;
 @ISA = qw(Exporter);
 @EXPORT = qw(Complete);
 
-#      @(#)complete.pl,v1.1            (me@anywhere.EBay.Sun.COM) 09/23/91
+#      @(#)complete.pl,v1.2            (me@anywhere.EBay.Sun.COM) 09/23/91
 
 =head1 NAME
 
@@ -13,8 +13,8 @@ Term::Complete - Perl word completion module
 
 =head1 SYNOPSIS
 
-    $input = complete('prompt_string', \@completion_list);
-    $input = complete('prompt_string', @completion_list);
+    $input = Complete('prompt_string', \@completion_list);
+    $input = Complete('prompt_string', @completion_list);
 
 =head1 DESCRIPTION
 
@@ -56,7 +56,7 @@ Bell sounds when word completion fails.
 
 =head1 BUGS
 
-The completion charater E<lt>tabE<gt> cannot be changed.
+The completion character E<lt>tabE<gt> cannot be changed.
 
 =head1 AUTHOR
 
@@ -72,7 +72,11 @@ CONFIG: {
 }
 
 sub Complete {
-    my($prompt, @cmp_list, $return, @match, $l, $test, $cmp, $r);
+    my($prompt, @cmp_list, $cmp, $test, $l, @match);
+    my ($return, $r) = ("", 0);
+
+    $return = "";
+    $r      = 0;
 
     $prompt = shift;
     if (ref $_[0] || $_[0] =~ /^\*/) {
@@ -90,17 +94,17 @@ sub Complete {
                 # (TAB) attempt completion
                 $_ eq "\t" && do {
                     @match = grep(/^$return/, @cmp_lst);
-                    $l = length($test = shift(@match));
                     unless ($#match < 0) {
+                        $l = length($test = shift(@match));
                         foreach $cmp (@match) {
                             until (substr($cmp, 0, $l) eq substr($test, 0, $l)) {
                                 $l--;
                             }
                         }
                         print("\a");
+                        print($test = substr($test, $r, $l - $r));
+                        $r = length($return .= $test);
                     }
-                    print($test = substr($test, $r, $l - $r));
-                    $r = length($return .= $test);
                     last CASE;
                 };
 
@@ -113,8 +117,8 @@ sub Complete {
                 # (^U) kill
                 $_ eq $kill && do {
                     if ($r) {
-                        undef $r;
-			undef $return;
+                        $r	= 0;
+			$return	= "";
                         print("\r\n");
                         redo LOOP;
                     }
diff --git a/contrib/perl5/lib/Term/ReadLine.pm b/contrib/perl5/lib/Term/ReadLine.pm
index 470226d..e7cf00c 100644
--- a/contrib/perl5/lib/Term/ReadLine.pm
+++ b/contrib/perl5/lib/Term/ReadLine.pm
@@ -139,7 +139,7 @@ None
 
 =head1 ENVIRONMENT
 
-The envrironment variable C<PERL_RL> governs which ReadLine clone is
+The environment 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>.  
-- 
cgit v1.1