diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2005-08-22 13:41:10 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2005-08-22 13:41:10 +0000 |
commit | 51da1d85ebd387728f88fa79405a8e8eed318078 (patch) | |
tree | ab306967c88db4b5d90d396a280612262621e528 /lib/Term | |
parent | fc83dee729c25874bd52299a9e41011947d88884 (diff) | |
download | perl-51da1d85ebd387728f88fa79405a8e8eed318078.tar.gz |
Upgrade to Term::ANSIColor 1.10
p4raw-id: //depot/perl@25318
Diffstat (limited to 'lib/Term')
-rw-r--r-- | lib/Term/ANSIColor.pm | 17 | ||||
-rw-r--r-- | lib/Term/ANSIColor/ChangeLog | 14 | ||||
-rw-r--r-- | lib/Term/ANSIColor/README | 18 | ||||
-rwxr-xr-x | lib/Term/ANSIColor/test.pl | 34 |
4 files changed, 60 insertions, 23 deletions
diff --git a/lib/Term/ANSIColor.pm b/lib/Term/ANSIColor.pm index 68955ce538..ef27ae9461 100644 --- a/lib/Term/ANSIColor.pm +++ b/lib/Term/ANSIColor.pm @@ -1,8 +1,8 @@ # Term::ANSIColor -- Color screen output using ANSI escape sequences. -# $Id: ANSIColor.pm,v 1.9 2004/12/04 01:29:12 eagle Exp $ +# $Id: ANSIColor.pm,v 1.10 2005/08/21 18:31:58 eagle Exp $ # -# Copyright 1996, 1997, 1998, 2000, 2001, 2002 -# by Russ Allbery <rra@stanford.edu> and Zenin <zenin@bawdycaste.com> +# Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005 +# by Russ Allbery <rra@stanford.edu> and Zenin # # This program is free software; you may redistribute it and/or modify it # under the same terms as Perl itself. @@ -34,7 +34,7 @@ Exporter::export_ok_tags ('constants'); # Don't use the CVS revision as the version, since this module is also in Perl # core and too many things could munge CVS magic revision strings. -$VERSION = 1.09; +$VERSION = '1.10'; ############################################################################## # Internal data structures @@ -182,8 +182,9 @@ sub colored { if (defined $EACHLINE) { my $attr = color (@codes); join '', - map { $_ && $_ ne $EACHLINE ? $attr . $_ . "\e[0m" : $_ } - split (/(\Q$EACHLINE\E)/, $string); + map { $_ ne $EACHLINE ? $attr . $_ . "\e[0m" : $_ } + grep { length ($_) > 0 } + split (/(\Q$EACHLINE\E)/, $string); } else { color (@codes) . $string . "\e[0m"; } @@ -465,7 +466,7 @@ with input from Zenin. Russ Allbery now maintains this module. =head1 COPYRIGHT AND LICENSE Copyright 1996, 1997, 1998, 2000, 2001, 2002 Russ Allbery <rra@stanford.edu> -and Zenin <zenin@bawdycaste.org>. This program is free software; you may -redistribute it and/or modify it under the same terms as Perl itself. +and Zenin. This program is free software; you may redistribute it and/or +modify it under the same terms as Perl itself. =cut diff --git a/lib/Term/ANSIColor/ChangeLog b/lib/Term/ANSIColor/ChangeLog index c98596ef28..6012ee1367 100644 --- a/lib/Term/ANSIColor/ChangeLog +++ b/lib/Term/ANSIColor/ChangeLog @@ -1,3 +1,17 @@ +2005-08-21 Russ Allbery <rra@stanford.edu> + + * ANSIColor.pm: Version 1.10 released. + + * ANSIColor.pm (colored): Fix the $EACHLINE support to work + properly with a line consisting solely of "0". Remove Zenin's + now-defunct e-mail address from the documentation. + * test.pl: Test 0 and the empty string in combination with + $EACHLINE. + + * tests/ansicolor: Add terminal test file from Joe Smith. + * tests/vt100-torture: Likewise. + * tests/README: Add an explanation of the test files. + 2004-12-03 Russ Allbery <rra@stanford.edu> * ANSIColor.pm: Version 1.09 released. diff --git a/lib/Term/ANSIColor/README b/lib/Term/ANSIColor/README index 016df9f00b..443c499827 100644 --- a/lib/Term/ANSIColor/README +++ b/lib/Term/ANSIColor/README @@ -1,17 +1,15 @@ - Term::ANSIColor version 1.09 + Term::ANSIColor version 1.10 (A simple ANSI text attribute control module) - Copyright 1996, 1997, 1998, 2000, 2001, 2002 - Russ Allbery <rra@stanford.edu> and Zenin <zenin@bawdycaste.org>. This - program is free software; you may redistribute it and/or modify it under - the same terms as Perl itself. + Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005 Russ Allbery + <rra@stanford.edu> and Zenin. This program is free software; you may + redistribute it and/or modify it under the same terms as Perl itself. I welcome bug reports and patches for this package at rra@stanford.edu. However, please be aware that I tend to be extremely busy and to get a lot of mail. I'll save your mail and get to it as soon as I can, but depending on how busy I am it may take me a couple of months. - INTRODUCTION This module grew out of a thread on comp.lang.perl.misc where several of @@ -46,7 +44,6 @@ INTRODUCTION Perl 5.6.0. You only need to install this module if you want a newer version than came with Perl or if you have an old version of Perl. - INSTALLATION Follow the standard installation procedure for Perl modules, which is to @@ -65,7 +62,6 @@ INSTALLATION Term::ANSIColor that came with Perl. You may wan to save a backup copy of the standard version first. - THANKS To Jon Lennox for looking at early versions of this module, providing @@ -96,4 +92,10 @@ THANKS To Daniel Lindsley for the information about what Mac OS X Terminal supports. + To Joe Smith for the test files that exercise a wide variety of VT100 + escape sequences including the ECMA-48 color control codes. + + To James Bowlin for catching a bug in colored when $EACHLINE is set that + caused it to not color lines consisting solely of 0. + To Larry Wall, as always, for Perl. diff --git a/lib/Term/ANSIColor/test.pl b/lib/Term/ANSIColor/test.pl index 123a353335..ddf34dfab7 100755 --- a/lib/Term/ANSIColor/test.pl +++ b/lib/Term/ANSIColor/test.pl @@ -1,26 +1,25 @@ #!/usr/bin/perl -# $Id: test.pl,v 1.4 2004/02/20 21:50:10 eagle Exp $ +# $Id: test.pl,v 1.5 2005/08/21 18:31:58 eagle Exp $ # # test.pl -- Test suite for the Term::ANSIColor Perl module. # # Before "make install" is performed this script should be runnable with "make # test". After "make install" it should work as "perl test.pl". -############################################################################ +############################################################################## # Ensure module can be loaded -############################################################################ +############################################################################## -BEGIN { $| = 1; print "1..13\n" } +BEGIN { $| = 1; print "1..16\n" } END { print "not ok 1\n" unless $loaded } delete $ENV{ANSI_COLORS_DISABLED}; use Term::ANSIColor qw(:constants color colored uncolor); $loaded = 1; print "ok 1\n"; - -############################################################################ +############################################################################## # Test suite -############################################################################ +############################################################################## # Test simple color attributes. if (color ('blue on_green', 'bold') eq "\e[34;42;1m") { @@ -114,3 +113,24 @@ if (DARK "testing" eq "\e[2mtesting\e[0m") { } else { print "not ok 13\n"; } + +# Test colored with 0 and EACHLINE. +$Term::ANSIColor::EACHLINE = "\n"; +if (colored ('0', 'blue', 'bold') eq "\e[34;1m0\e[0m") { + print "ok 14\n"; +} else { + print "not ok 14\n"; +} +if (colored ("0\n0\n\n", 'blue', 'bold') + eq "\e[34;1m0\e[0m\n\e[34;1m0\e[0m\n\n") { + print "ok 15\n"; +} else { + print "not ok 15\n"; +} + +# Test colored with the empty string and EACHLINE. +if (colored ('', 'blue', 'bold') eq '') { + print "ok 16\n"; +} else { + print "not ok 16\n"; +} |