Branch: refs/heads/rurban/bitwise_uni-gh848
Home: https://github.com/parrot/parrot
Commit: ed968e9c66cfec69a6a8e34dcf97e6362f10ee08
https://github.com/parrot/parrot/commit/ed968e9c66cfec69a6a8e34dcf97e6362f10ee08
Author: Reini Urban <[email protected]>
Date: 2025-12-15 (Mon, 15 Dec 2025)
Changed paths:
M compilers/data_json/data_json/pge2pir.tg
M src/string/encoding/utf16.c
Log Message:
-----------
[GH #845] Fix data_json \unnnn encoding
\u needs to be encoded as utf16 char, not utf8 because they
are binary different. E.g. \u00a2 is 0xc2a2 in utf8.
Add utf16_chr vtable method for the Parrot_utf16_encoding.
Add unicode tests to data_json.
Commit: 23ba449f53a9854ac8a5b7c8dd49ed4a263a9b33
https://github.com/parrot/parrot/commit/23ba449f53a9854ac8a5b7c8dd49ed4a263a9b33
Author: Reini Urban <[email protected]>
Date: 2025-12-15 (Mon, 15 Dec 2025)
Changed paths:
M src/pmc/string.pmc
Log Message:
-----------
[cage] Typo in the string.pmc trans method pod
Commit: b9b5011d44307d1a29ee5cbd6c912717e59da52b
https://github.com/parrot/parrot/commit/b9b5011d44307d1a29ee5cbd6c912717e59da52b
Author: Reini Urban <[email protected]>
Date: 2025-12-15 (Mon, 15 Dec 2025)
Changed paths:
M src/string/encoding/utf16.c
Log Message:
-----------
Micro-optimize utf16_chr by checking 0 beforehand
Commit: bf3d17cd3d21c9d3b52cf9585b36ac29911c05ec
https://github.com/parrot/parrot/commit/bf3d17cd3d21c9d3b52cf9585b36ac29911c05ec
Author: Reini Urban <[email protected]>
Date: 2025-12-15 (Mon, 15 Dec 2025)
Changed paths:
M include/parrot/encoding.h
M src/string/api.c
M src/string/encoding.c
M t/codingstd/c_macro_args.t
M t/dynoplibs/bit.t
Log Message:
-----------
[GH #848] Support unicode strings for bitwise ops
bands, bors, bxors and bnots understand now more multi-byte strings.
Old docs:
Performs a bitwise C<OR> on two Parrot strings, performing type and encoding
conversions if necessary. Returns the result as a new string.
Added now:
Same encodings are compared bitwise. Different two-byte encodings are first
converted down to latin1, and if that fails upgraded to ucs2 and if that
fails to ucs4.
2 byte <=> 4 byte conversion is not supported, thus e.g. utf8->utf16 fails.
But 2 byte to 1 byte is attempted.
Compare: https://github.com/parrot/parrot/compare/6c41a2111d59...bf3d17cd3d21
To unsubscribe from these emails, change your notification settings at
https://github.com/parrot/parrot/settings/notifications
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-commits