diff options
author | Erlang/OTP <[email protected]> | 2010-01-27 12:33:35 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-01-27 15:12:34 +0100 |
commit | 8beea46d65375d09ba9af07676894dc720eda6df (patch) | |
tree | f3586eaba444e699894c92fec75206a243cc53cc /erts | |
parent | 50cc08bfabb0510ebf42170650217dfeec229ce7 (diff) | |
parent | 6b83b643a20bf502eca696f63445049e0838731a (diff) | |
download | otp-8beea46d65375d09ba9af07676894dc720eda6df.tar.gz otp-8beea46d65375d09ba9af07676894dc720eda6df.tar.bz2 otp-8beea46d65375d09ba9af07676894dc720eda6df.zip |
Merge branch 'rb/stdlib_re_unicode_fixes' into ccase/r13b04_dev
* rb/stdlib_re_unicode_fixes:
Fix lost unicode option in re:compile()
Refactor out repeated block in re module
Fix re:replace/4 to handle unicode charlist Replacement argument
Fix re:replace/4 to handle unicode charlist RE argument
Fix re:replace/4 to handle binary unicode output when nothing replaced
OTP-8394 A number of bugs concerning re and unicode are corrected:
- re:compile no longer loses unicode option, which also fixes bug
in re:split.
- re:replace now handles unicode charlist replacement argument
- re:replace now handles unicode RE charlist argument correctly
- re:replace now handles binary unicode output correctly when
nothing is replaced.
Most code, testcases and error isolation done by Rory Byrne.
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/beam/erl_bif_re.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_bif_re.c b/erts/emulator/beam/erl_bif_re.c index 6efc19597b..c027cd5984 100644 --- a/erts/emulator/beam/erl_bif_re.c +++ b/erts/emulator/beam/erl_bif_re.c @@ -884,7 +884,7 @@ re_run_3(BIF_ALIST_3) int capture_count; if (pflags & PARSE_FLAG_UNICODE && - (!is_binary(BIF_ARG_1) || + (!is_binary(BIF_ARG_2) || !is_binary(BIF_ARG_1) || (is_list_cap && !(pflags & PARSE_FLAG_GLOBAL)))) { BIF_TRAP3(urun_trap_exportp, BIF_P, BIF_ARG_1, BIF_ARG_2, BIF_ARG_3); } |