Age | Commit message (Collapse) | Author |
|
|
|
|
|
Also extended it with more examples, summaries and other
stuff.
|
|
The I/O-server group.erl echoed the skipped line.
|
|
* hb/file_name_type/OTP-10852:
Introduce new type file:name_all()
|
|
* pan/unicode_printable_ranges:
Adapt stdlib tests to ~tp detecting latin1 binaries
Update primary bootstrap
Make wx debugger use +pc flag when applicable
Correct misspelled comments and space at lin ends
Make ~tp output latin1 binaries as strings if possible
Leave the +pc handling to io and io_lib_pretty
Remove newly introduced warning in erlexec.c
Make shell_SUITE:otp_10302 use +pc unicode when needed
Fix io_proto_SUITE to handle the new io_lib_pretty:print
Add testcase for +pc and io:printable_range/0
Make printing of UTF-8 in binaries behave like lists.
Document +pc flag and io:printable_range/0
Add usage of and spec for io:printable_range/0
Add +pc {latin1|unicode} switch and io:printable_range/0
Fix some Unicode issues
OTP-18084
|
|
* bjorn/unicode-doc/OTP-10852:
file: Document list_dir_all/1 and read_link_all/1
file: Remove note about Unicode handling being experimental
filelib: Update documentation
|
|
* lukas/stdlib/binary_typespec:
bin_to_list can also take a negative len
|
|
|
|
|
|
* hb/stdlib/unicode_corrections/OTP-10820:
Use ~ts for filenames
|
|
* lukas/stdlib/binary_typespec:
Updated to fit spec of -type part()
|
|
|
|
|
|
* sverk/ets-test-failures:
stdlib: Try fix fluctuating test cases in ets_SUITE
|
|
|
|
|
|
This makes the shell output binaries and list as intended by
the +pc setting.
|
|
pan/unicode_printable_ranges
* hb/stdlib/unicode_corrections/OTP-10820:
Fix some Unicode issues
Conflicts:
lib/stdlib/test/shell_SUITE.erl
|
|
|
|
|
|
Also fixed otp_10302 to test both on a node with +pc unicode and
a node with +pc latin1.
|
|
This means that only UTF-8 characters in binaries that conform
to the printable_range are printed as <<"..."/utf8>> in io_lib_pretty.
|
|
|
|
This makes both io:format("~tp", ...) and
the shell honor the +pc setting and also reverts the shell to
the old behaviour of only interpreting latin1 strings as "strings"
by default. +pc unicode turns on the R16A behaviour. Doing
io:format("~tp~n", [[1024,1025]]).
will show you the difference when starting with +pc unicode.
|
|
Also let the Erlang shell use the new function io:printable_range().
|
|
|
|
A short description of how ~tp works now.
|
|
|
|
Use the new function shell:strings/1 to toggle how the Erlang shell
outputs lists of integers.
|
|
The modifier 'l' can be used for turning off the string recognition of
~p and ~P.
|
|
* lukas/erts/binary_conv_bifs/OTP-10300:
erts: Remove ?line macro from hash_SUITE
Add float_to_binary and binary_to_float
Add new binary conversion bifs
|
|
|
|
Added: binary_to_integer/1,2, integer_to_binary/1,2
|
|
|
|
Too late now to remove gs in R16.
|
|
* bjorn/stdlib/filelib-wildcard/OTP-10812:
Remove special case handling "-" at the beginning of a charset
Optimize character sets using gb_sets
Clean up and simplify the inner matching loop
Only sort the result list once, just before returning
Replace filename:join/2 with '++'
Rethink the filelib:wildcard() functions
Don't redefine error/1
Don't allow binaries as the Cwd argument for filelib:wildcard()
Don't handle binaries from file:list_dir/1
Strengthen test suite
|
|
* bjorn/stdlib/types:
Make the file:filename() type more restrictive
c: Remove handling of binaries in return from file:list_dir/1
|
|
Make sure io_lib:fwrite() with a format string including "~ts" does
not crash when given binaries that cannot be interpreted as
UTF-8-encoded strings.
We want to avoid crashes caused by excessive use of the 't' modifier.
|
|
We don't need this special case, since "-" is only special between
two other characters.
|
|
|
|
Use list comprehensions and 'orelse' to make the code more concise.
Rename wildcard_5/2 to match_part/2 to make it clearer what it does.
If the pattern always matches, don't test it in every iteration of
the loop.
|
|
There does not seem to be any advantage of sorting the result of
file:list_dir/1 directly. Disadvantages are that we'll need to be
careful to keep the result sorted, and that we could waste time
sorting filenames that the pattern matching will discard anyway.
|
|
Under controlled circumstances (and we are in control of the
circumstances), filename:join/2 can be replaced with '++'.
'++' is faster because it is implmented in C, does not need to
look at the list elements it copies, and does not need to copy
its right operand.
|
|
Commit 70b5e24c9498225fadc08d19503269c8aad851bf broke
filelib:wildcard(Pattern, ".").
Over the years, the logic for filelib:wilcard() has become a mess
of special cases.
Probably because of premature optimization, filelib:wildcard(Pattern)
and filelib:wildcard(Pattern, Cwd) are handled differently.
They can be consolidated if we use a "." as the default Cwd argument.
We can also simplify things by compiling the Cwd argument into the
wildcard. We did not that in the initial implementation because it
used to be possible to pre-compile a wildcard and pass it to
filelib:wildcard/{1,2}. Since that is no longer possible, there is
no point in keeping the compiled wildcard "portable" (not dependent
on the Cwd argument).
|
|
It is confusing. Rename our own exception-generating function to
badpattern/1.
|
|
filelib:wildcard() will no longer support "raw filenames", so it
makes no sense for it to accept a binary Cwd argument.
|
|
In R16B, file:list_dir/1 will never return binaries.
|
|
|
|
The recommended type for filenames is a list of characters (which
may be Unicode characters greater than 255). Change the
file:filename() to reflect that.
For the filename module we still need a type that can be either
a string or a binary, so we need to introduce the type
file:filename_all().
|