develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r35772 - in trunk: src t/op

From:
chromatic
Date:
January 19, 2009 13:11
Subject:
[svn:parrot] r35772 - in trunk: src t/op
Message ID:
20090119211104.F175CCB9AE@x12.develooper.com
Author: chromatic
Date: Mon Jan 19 13:11:03 2009
New Revision: 35772

Modified:
   trunk/src/string.c
   trunk/src/string_primitives.c
   trunk/t/op/stringu.t

Log:
[src] Added a test for TT #24, where \xab escapes in literal PIR don't work
correctly for iso-8859-1 encoding.

Modified: trunk/src/string.c
==============================================================================
--- trunk/src/string.c	(original)
+++ trunk/src/string.c	Mon Jan 19 13:11:03 2009
@@ -1500,8 +1500,8 @@
     else if (!s1->strlen) {   /* s2->strlen is the same here */
         return 0;
     }
-    else if (s1->strstart == s2->strstart &&
-            s1->bufused == s2->bufused) { /* COWed strings */
+    /* COWed strings */
+    else if (s1->strstart == s2->strstart && s1->bufused == s2->bufused) {
         return 0;
     }
 

Modified: trunk/src/string_primitives.c
==============================================================================
--- trunk/src/string_primitives.c	(original)
+++ trunk/src/string_primitives.c	Mon Jan 19 13:11:03 2009
@@ -85,12 +85,14 @@
         ARGMOD(STRING *string))
 {
     ASSERT_ARGS(string_unescape_one)
-    UINTVAL workchar = 0;
+    UINTVAL workchar  = 0;
     UINTVAL charcount = 0;
     const UINTVAL len = string_length(interp, string);
+
     /* Well, not right now */
     UINTVAL codepoint = CHARSET_GET_BYTE(interp, string, *offset);
     ++*offset;
+
     switch (codepoint) {
         case 'x':
             codepoint = CHARSET_GET_BYTE(interp, string, *offset);

Modified: trunk/t/op/stringu.t
==============================================================================
--- trunk/t/op/stringu.t	(original)
+++ trunk/t/op/stringu.t	Mon Jan 19 13:11:03 2009
@@ -1,12 +1,12 @@
 #!perl
-# Copyright (C) 2001-2007, The Perl Foundation.
+# Copyright (C) 2001-2009, The Perl Foundation.
 # $Id$
 
 use strict;
 use warnings;
 use lib qw( . lib ../lib ../../lib );
 use Test::More;
-use Parrot::Test tests => 26;
+use Parrot::Test tests => 27;
 use Parrot::Config;
 
 =head1 NAME
@@ -435,6 +435,23 @@
 OUTPUT
 }
 
+pasm_output_is( <<'CODE', <<OUTPUT, "UTF-8 and Unicode literals", todo => 'TT #24' );
+    set S0, unicode:"\u00ab"
+    length I0, S0
+    say I0
+    say S0
+    set S0, iso-8859-1:"\xab"
+    length I0, S0
+    say I0
+    say S0
+    end
+CODE
+1
+\xc2\xab
+1
+\xc2\xab
+OUTPUT
+
 # Local Variables:
 #   mode: cperl
 #   cperl-indent-level: 4



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About