From: Unknown Ricoh Contributor II Date: Tue, 24 Nov 1998 10:37:45 +0000 (+0900) Subject: format "..." bug X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7056ecde998641870cea46de6e48f076abfdde78;p=p5sagit%2Fp5-mst-13.2.git format "..." bug Message-Id: <199811240137.KAA05867@luna.src.ricoh.co.jp> p4raw-id: //depot/perl@2323 --- diff --git a/pp_ctl.c b/pp_ctl.c index e081fa5..e488749 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -617,7 +617,13 @@ PP(pp_formline) break; case FF_MORE: - if (itemsize) { + s = chophere; + send = item + len; + if (chopspace) { + while (*s && isSPACE(*s) && s < send) + s++; + } + if (s < send) { arg = fieldsize - itemsize; if (arg) { fieldsize -= arg; diff --git a/t/op/write.t b/t/op/write.t index 705fa79..9918b2f 100755 --- a/t/op/write.t +++ b/t/op/write.t @@ -2,7 +2,7 @@ # $RCSfile: write.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:38 $ -print "1..5\n"; +print "1..6\n"; my $CAT = ($^O eq 'MSWin32') ? 'type' : 'cat'; @@ -167,3 +167,26 @@ for (0..10) { print $was1 eq $mustbe ? "ok 4\n" : "not ok 4\n"; print $was2 eq $mustbe ? "ok 5\n" : "not ok 5\n"; +$^A = ''; + +# more test + +format OUT3 = +^<<<<<<... +$foo +. + +open(OUT3, '>Op_write.tmp') || die "Can't create Op_write.tmp"; + +$foo = 'fit '; +write(OUT3); +close OUT3; + +$right = +"fit\n"; + +if (`$CAT Op_write.tmp` eq $right) + { print "ok 6\n"; unlink 'Op_write.tmp'; } +else + { print "not ok 6\n"; } +