S_utf16_textfilter() was not returning EOF correctly in some situations.
[p5sagit/p5-mst-13.2.git] / lib / abbrev.pl
index c233d4a..eac0053 100644 (file)
@@ -4,8 +4,24 @@
 ;#     ...
 ;#     $long = $foo{$short};
 
+#
+# This library is no longer being maintained, and is included for backward
+# compatibility with Perl 4 programs which may require it.
+# This legacy library is deprecated and will be removed in a future
+# release of perl.
+#
+# In particular, this should not be used as an example of modern Perl
+# programming techniques.
+#
+# Suggested alternative: Text::Abbrev
+#
+
 package abbrev;
 
+warn( "The 'abbrev.pl' legacy library is deprecated and will be"
+      . " removed in the next major release of perl. Please use the"
+      . " Text::Abbrev module instead." );
+
 sub main'abbrev {
     local(*domain) = @_;
     shift(@_);
@@ -17,7 +33,7 @@ sub main'abbrev {
        $len = 1;
        foreach $cmp (@cmp) {
            next if $cmp eq $name;
-           while (substr($cmp,0,$len) eq $abbrev) {
+           while (@extra && substr($cmp,0,$len) eq $abbrev) {
                $abbrev .= shift(@extra);
                ++$len;
            }