[perl #132874] writing to utf16 handle gives write_fhb error

2018-02-16 Thread Zoffix Znet via RT
On Fri, 16 Feb 2018 00:56:27 -0800, comdog wrote:
> This little program:
> 
> my $fh = open 'test.txt', :w, :enc('utf16');
> put "filehandle is using {$fh.encoding}";
> $fh.put: 'Some text';
> 
> Gives this error:
> 
> filehandle is using utf16
> write_fhb requires a native array of uint8 or int8
> 
> 
> This is Rakudo Star version 2018.01 built on MoarVM version 2018.01
> implementing Perl 6.c


Looks like MoarVM doesn't fully support utf-16 yet (the exception is from 
MVM_io_read_bytes that just throws unless it's handed a 8-bit buf)

Slightly golfed version:

$ ./perl6 -e '"t.t".IO.open(:w :bin).write: utf16.new: 1, 2, 3'
write_fhb requires a native array of uint8 or int8
  in block  at -e line 1

$ ./perl6 -e '"t.t".IO.open(:w :bin).write: utf32.new: 1, 2, 3'
write_fhb requires a native array of uint8 or int8
  in block  at -e line 1

$ ./perl6 -e '"t.t".IO.open(:w :bin).write: buf32.new: 1, 2, 3'
write_fhb requires a native array of uint8 or int8
  in block  at -e line 1

Dies on read too, but with a more useful message:

$ ./perl6 -e '"LICENSE".IO.open(:enc).slurp.say'
Streaming decode NYI for encoding 4
  in block  at -e line 1

Works fine on JVM backend.


[perl #132874] writing to utf16 handle gives write_fhb error

2018-02-16 Thread Zoffix Znet via RT
On Fri, 16 Feb 2018 00:56:27 -0800, comdog wrote:
> This little program:
> 
> my $fh = open 'test.txt', :w, :enc('utf16');
> put "filehandle is using {$fh.encoding}";
> $fh.put: 'Some text';
> 
> Gives this error:
> 
> filehandle is using utf16
> write_fhb requires a native array of uint8 or int8
> 
> 
> This is Rakudo Star version 2018.01 built on MoarVM version 2018.01
> implementing Perl 6.c


Looks like MoarVM doesn't fully support utf-16 yet (the exception is from 
MVM_io_read_bytes that just throws unless it's handed a 8-bit buf)

Slightly golfed version:

$ ./perl6 -e '"t.t".IO.open(:w :bin).write: utf16.new: 1, 2, 3'
write_fhb requires a native array of uint8 or int8
  in block  at -e line 1

$ ./perl6 -e '"t.t".IO.open(:w :bin).write: utf32.new: 1, 2, 3'
write_fhb requires a native array of uint8 or int8
  in block  at -e line 1

$ ./perl6 -e '"t.t".IO.open(:w :bin).write: buf32.new: 1, 2, 3'
write_fhb requires a native array of uint8 or int8
  in block  at -e line 1

Dies on read too, but with a more useful message:

$ ./perl6 -e '"LICENSE".IO.open(:enc).slurp.say'
Streaming decode NYI for encoding 4
  in block  at -e line 1

Works fine on JVM backend.


[perl #132874] writing to utf16 handle gives write_fhb error

2018-02-16 Thread brian d foy
# New Ticket Created by  "brian d foy" 
# Please include the string:  [perl #132874]
# in the subject line of all future correspondence about this issue. 
# https://rt.perl.org/Ticket/Display.html?id=132874 >


This little program:

my $fh = open 'test.txt', :w, :enc('utf16');
put "filehandle is using {$fh.encoding}";
$fh.put: 'Some text';

Gives this error:

filehandle is using utf16
write_fhb requires a native array of uint8 or int8


This is Rakudo Star version 2018.01 built on MoarVM version 2018.01
implementing Perl 6.c