Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
mvorl committed Oct 17, 2012
2 parents ab7ec2a + 193190b commit 91438ff
Show file tree
Hide file tree
Showing 30 changed files with 739 additions and 228 deletions.
8 changes: 5 additions & 3 deletions ChangeLog
Expand Up @@ -10,6 +10,7 @@
bytes from every installed executable. [GH #824]
+ Parrot_get_cpu_type returns now "unknown" for all unknown cpu types.
On non-windows it returned before 4.9.0 a null string. [GH #846]
+ Fixed src/hash.c for platforms where size_t is unsigned (e.g. vms) [GH #854]
- Build
+ Improved warnings for clang. [GH #843]
+ Cleaned wrong UNUSED(arg) macros in all pmc's due to an improved
Expand All @@ -22,14 +23,15 @@
have been fixed. There are only some remaining platforms errors on
darwin/x86.
- Libraries
+ Fixed Mime/Base64 encode_base64. Split long lines at 76 chars. [GH #826]
+ Fixed Mime::Base64: Split long lines at 76 chars. [GH #826]
Support multi-byte codepoints. Use binary encoding,
encoded files are now endian specific [GH #813 + #814],
Added 2nd optional encoding arg to decode_base64().
- Documentation
+ Cleaned up removed parrot cmdline options -D/-O/-v from --help output and
running.pod [GH #838]
- Tools
+ Improved gdb pretty-printing for multi-byte strings
- Tests
- Community

2012-09-18 release 4.8.0
- Core
Expand Down
3 changes: 3 additions & 0 deletions MANIFEST
Expand Up @@ -583,6 +583,8 @@ examples/library/getopt_demo.pir [examples]
examples/library/md5sum.pir [examples]
examples/library/ncurses_life.pir [examples]
examples/library/pcre.pir [examples]
examples/library/utf8_base64.pir [examples]
examples/library/utf8_base64.pl [examples]
examples/mops/README.pod [examples]
examples/mops/mops.c [examples]
examples/mops/mops.cs [examples]
Expand Down Expand Up @@ -1710,6 +1712,7 @@ t/library/iter.t [test]
t/library/lwp.t [test]
t/library/md5.t [test]
t/library/mime_base64.t [test]
t/library/mime_base64u.t [test]
t/library/nciutils.t [test]
t/library/osutils.t [test]
t/library/p6object.t [test]
Expand Down
6 changes: 3 additions & 3 deletions MANIFEST.generated
@@ -1,14 +1,14 @@
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# Please re-sort this file after *EVERY* modification
blib/lib/libparrot.4.8.0.dylib [main]lib
blib/lib/libparrot.4.9.0.dylib [main]lib
blib/lib/libparrot.a [main]lib
blib/lib/libparrot.dylib [main]lib
blib/lib/libparrot.so [main]lib
blib/lib/libparrot.so.4.8.0 [main]lib
blib/lib/libparrot.so.4.9.0 [main]lib
compilers/data_json/data_json.pbc [data_json]
config/gen/call_list/opengl.in []
cygparrot-4.8.0.dll [main]bin
cygparrot-4.9.0.dll [main]bin
docs/ops/bit.pod [doc]
docs/ops/cmp.pod [doc]
docs/ops/core.pod [doc]
Expand Down
2 changes: 1 addition & 1 deletion README.pod
Expand Up @@ -4,7 +4,7 @@

=head1 NAME

README.pod - Readme to Parrot, version 4.8.0.
README.pod - Readme to Parrot, version 4.9.0.

=head1 DESCRIPTION

Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
4.8.0
4.9.0
6 changes: 4 additions & 2 deletions config/auto/gcc.pm
Expand Up @@ -47,8 +47,10 @@ sub _probe_for_gcc {
sub _evaluate_gcc {
my ($self, $conf, $gnucref) = @_;

# Set gccversion to undef. This will also trigger any hints-file
# callbacks that depend on knowing whether or not we're using gcc.
# Set empty noonline and gccversion to undef.
# This will also trigger any hints-file callbacks that depend on
# knowing whether or not we're using gcc.
$conf->data->set( noinline => '' );

# This key should always exist unless the program couldn't be run,
# which should have been caught by the 'die' above.
Expand Down
2 changes: 1 addition & 1 deletion config/auto/llvm.pm
@@ -1,4 +1,4 @@
# Copyright (C) 2009-2011, Parrot Foundation.
# Copyright (C) 2009-2012, Parrot Foundation.

=head1 NAME
Expand Down
4 changes: 2 additions & 2 deletions config/auto/thread.pm
Expand Up @@ -6,7 +6,7 @@ config/auto/thread.pm - Thread support
=head1 DESCRIPTION
Determining if the system has a Thread support.
Determining if the system has thread support.
=cut

Expand All @@ -22,7 +22,7 @@ use Parrot::Configure::Utils ':auto';
sub _init {
my $self = shift;
my %data;
$data{description} = q{Does your system has thread};
$data{description} = q{Does your system have threads};
$data{result} = q{};
return \%data;
}
Expand Down
2 changes: 1 addition & 1 deletion config/gen/makefiles/root.in
Expand Up @@ -596,7 +596,7 @@ MAKE_C = @make_c@
.c$(O) : # suffix rule (limited support)
$(CC) $(CFLAGS) @optimize@ $(CC_WARN) -I$(@D) -Isrc/ @cc_o_out@$@ -c $<
.c.i : # suffix rule (limited support)
$(CC) -E $(CFLAGS) -I$(@D) -Isrc/ @cc_o_out@$@ -c $<
$(CC) -E $(CFLAGS) -I$(@D) -Isrc/ @cc_o_out@$@ $<

#UNLESS(win32):.s$(O) : # suffix rule (limited support)
#UNLESS(win32): $(CC) $(CFLAGS) @optimize@ $(CC_WARN) -I$(@D) @cc_o_out@$@ -c $<
Expand Down
1 change: 1 addition & 0 deletions docs/parrothist.pod
Expand Up @@ -147,5 +147,6 @@ Starred release numbers indicate supported releases.
rurban 4.6.0 * 2012-Jul-17 "Wild Parrots of Telegraph Hill"
Whiteknight 4.7.0 2012-Aug-22 "Hispaniolan"
alvis 4.8.0 2012-Sep-18 "Spix's Macaw"
dukeleto 4.9.0 * 2012-Oct-16 "Proto-Hydra"

=cut
1 change: 0 additions & 1 deletion docs/project/release_manager_guide.pod
Expand Up @@ -544,7 +544,6 @@ The calendar of releases is available at the C<comp.lang.parrot> Google
calendar, visible at
L<http://www.google.com/calendar/render?cid=ldhctdamsgfg5a1cord52po9h8@group.calendar.google.com>.

- Oct 16, 2012 - 4.9.0 - dukeleto
- Nov 20, 2012 - 4.10.0 - rurban
- Dec 18, 2012 - 4.11.0 - ??
- Jan 15, 2013 - 5.0.0 - dukeleto
Expand Down
57 changes: 57 additions & 0 deletions examples/library/utf8_base64.pir
@@ -0,0 +1,57 @@
#!./parrot
# Copyright (C) 2012, Parrot Foundation.

=head1 NAME

examples/mime_base64/utf_base64.pir - Conformant MIME::Base64 utf8 handling

=head1 SYNOPSIS

% ./parrot examples/mime_base64/utf_base64.pir

=head1 DESCRIPTION

Compare conformant coreutils C<base64> and F<examples/mime_base64/utf_base64.pl>
against ours.
See L<https://github.com/parrot/parrot/issues/814>

=cut

.sub main :main
load_bytecode 'MIME/Base64.pbc'

.local pmc enc_sub
enc_sub = get_global [ "MIME"; "Base64" ], 'encode_base64'

.local string result_encode
# GH 814
result_encode = enc_sub(utf8:"\x{a2}")
say "encode: utf8:\"\\x{a2}\""
say "expected: wqI="
print "result: "
say result_encode

# GH 813
result_encode = enc_sub(utf8:"\x{203e}")
say "encode: utf8:\"\\x{203e}\""
say "expected: 4oC+"
print "result: "
say result_encode

.end

=head1 AUTHOR

ronaldxs

=head1 SEE ALSO

F<examples/mime_base64/utf8_base64.pl>,

=cut

# Local Variables:
# mode: pir
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4 ft=pir:
59 changes: 59 additions & 0 deletions examples/library/utf8_base64.pl
@@ -0,0 +1,59 @@
#! perl
# Copyright (C) 2012, Parrot Foundation.

=head1 NAME
examples/mime_base64/utf_base64.pl - Conformant MIME::Base64 utf8 handling
=head1 SYNOPSIS
% perl examples/mime_base64/utf_base64.pl
=head1 DESCRIPTION
Compare conformant coreutils C<base64> and F<examples/mime_base64/utf_base64.pl>
against parrots.
See L<https://github.com/parrot/parrot/issues/814>
Note: Unicode stored as MIME::Base64 is inherently endian-dependent.
=cut

use strict;
use warnings;
use MIME::Base64 qw(encode_base64 decode_base64);
use Encode qw(encode);

my $encoded = encode_base64(encode("UTF-8", "\x{a2}"));
print "encode: utf-8:\"\\x{a2}\" - ", encode("UTF-8", "\x{a2}"), "\n";
print "expected: wqI=\n";
print "result: $encoded\n";
print "decode: ",decode_base64("wqI="),"\n\n"; # 302 242

my $encoded = encode_base64(encode("UTF-8", "\x{203e}"));
print "encode: utf-8:\"\\x{203e}\" -> ",encode("UTF-8", "\x{203e}"),"\n";
print "expected: 4oC+\n";
print "result: $encoded\n"; # 342 200 276
print "decode: ",decode_base64("4oC+"),"\n";

for ([qq(a2)],[qq(c2a2)],[qw(203e)],[qw(3e 20)],[qw(1000)],[qw(00c7)],[qw(00ff 0000)]){
$s = pack "H*",@{$_};
printf "0x%s\t=> %s", join("",@{$_}), encode_base64($s);
}

=head1 AUTHORS
ronaldxs, Reini Urban
=head1 SEE ALSO
F<examples/mime_base64/utf8_base64.pir>,
=cut

# Local Variables:
# mode: cperl
# cperl-indent-level: 4
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4:
2 changes: 1 addition & 1 deletion include/parrot/oplib/core_ops.h
Expand Up @@ -19,7 +19,7 @@
#include "parrot/runcore_api.h"

PARROT_EXPORT
op_lib_t *Parrot_DynOp_core_4_8_0(PARROT_INTERP, long init);
op_lib_t *Parrot_DynOp_core_4_9_0(PARROT_INTERP, long init);

opcode_t * Parrot_end(opcode_t *, PARROT_INTERP);
opcode_t * Parrot_noop(opcode_t *, PARROT_INTERP);
Expand Down

0 comments on commit 91438ff

Please sign in to comment.