aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22[stdlib] Let the shell turn off echo while skipping lineHans Bolinder
The I/O-server group.erl echoed the skipped line.
2013-02-22Merge branch 'hb/file_name_type/OTP-10852'Patrik Nyblom
* hb/file_name_type/OTP-10852: Introduce new type file:name_all()
2013-02-22Merge branch 'pan/unicode_printable_ranges'Patrik Nyblom
* 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
2013-02-21Merge branch 'lukas/stdlib/binary_typespec'Lukas Larsson
* lukas/stdlib/binary_typespec: bin_to_list can also take a negative len
2013-02-21bin_to_list can also take a negative lenLukas Larsson
2013-02-21Introduce new type file:name_all()Hans Bolinder
2013-02-20Merge branch 'hb/stdlib/unicode_corrections/OTP-10820'Hans Bolinder
* hb/stdlib/unicode_corrections/OTP-10820: Use ~ts for filenames
2013-02-19Use ~ts for filenamesHans Bolinder
2013-02-18Correct misspelled comments and space at lin endsPatrik Nyblom
2013-02-18Make ~tp output latin1 binaries as strings if possiblePatrik Nyblom
2013-02-18Leave the +pc handling to io and io_lib_prettyPatrik Nyblom
This makes the shell output binaries and list as intended by the +pc setting.
2013-02-18Merge branch 'hb/stdlib/unicode_corrections/OTP-10820' into ↵Patrik Nyblom
pan/unicode_printable_ranges * hb/stdlib/unicode_corrections/OTP-10820: Fix some Unicode issues Conflicts: lib/stdlib/test/shell_SUITE.erl
2013-02-18Make printing of UTF-8 in binaries behave like lists.Patrik Nyblom
This means that only UTF-8 characters in binaries that conform to the printable_range are printed as <<"..."/utf8>> in io_lib_pretty.
2013-02-18Add usage of and spec for io:printable_range/0Patrik Nyblom
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.
2013-02-18Fix some Unicode issuesHans Bolinder
Also let the Erlang shell use the new function io:printable_range().
2013-02-18Updated to fit spec of -type part()Lukas Larsson
2013-02-15[stdlib] Correct handling of Unicode filenamesHans Bolinder
2013-02-15[stdlib] Add new SDTLIB application variable 'shell_strings'Hans Bolinder
Use the new function shell:strings/1 to toggle how the Erlang shell outputs lists of integers.
2013-02-15[stdlib] Add control sequence modifier 'l'Hans Bolinder
The modifier 'l' can be used for turning off the string recognition of ~p and ~P.
2013-02-14Merge branch 'lukas/erts/binary_conv_bifs/OTP-10300'Lukas Larsson
* 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
2013-02-14Add float_to_binary and binary_to_floatLukas Larsson
2013-02-14Add new binary conversion bifsLukas Larsson
Added: binary_to_integer/1,2, integer_to_binary/1,2
2013-02-14Update deprecation message for gsBjörn Gustavsson
Too late now to remove gs in R16.
2013-02-14Merge branch 'bjorn/stdlib/filelib-wildcard/OTP-10812'Björn Gustavsson
* 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
2013-02-14Merge branch 'bjorn/stdlib/types'Björn Gustavsson
* bjorn/stdlib/types: Make the file:filename() type more restrictive c: Remove handling of binaries in return from file:list_dir/1
2013-02-13Extend ~ts to handle binaries with characters coded in ISO-latin-1Hans Bolinder
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.
2013-02-13Remove special case handling "-" at the beginning of a charsetBjörn Gustavsson
We don't need this special case, since "-" is only special between two other characters.
2013-02-13Optimize character sets using gb_setsBjörn Gustavsson
2013-02-13Clean up and simplify the inner matching loopBjörn Gustavsson
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.
2013-02-13Only sort the result list once, just before returningBjörn Gustavsson
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.
2013-02-13Replace filename:join/2 with '++'Björn Gustavsson
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.
2013-02-13Rethink the filelib:wildcard() functionsBjörn Gustavsson
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).
2013-02-13Don't redefine error/1Björn Gustavsson
It is confusing. Rename our own exception-generating function to badpattern/1.
2013-02-13Don't allow binaries as the Cwd argument for filelib:wildcard()Björn Gustavsson
filelib:wildcard() will no longer support "raw filenames", so it makes no sense for it to accept a binary Cwd argument.
2013-02-13Don't handle binaries from file:list_dir/1Björn Gustavsson
In R16B, file:list_dir/1 will never return binaries.
2013-02-13Make the file:filename() type more restrictiveBjörn Gustavsson
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().
2013-02-12c: Remove handling of binaries in return from file:list_dir/1Björn Gustavsson
file:list_dir/1 will no longer return binaries.
2013-02-11[stdlib] Fix a bug concerning pretty printing and UnicodeHans Bolinder
Binaries were pretty printed too often.
2013-02-11Make Unicode correctionsHans Bolinder
2013-02-11Merge branch 'bjorn/remove-tuple-funs/OTP-10170'Björn Gustavsson
* bjorn/remove-tuple-funs/OTP-10170: erl_eval: Don't allow evaluation of {M,F} in the shell
2013-02-10erl_eval: Don't allow evaluation of {M,F} in the shellBjörn Gustavsson
Tuples funs were removed in de7e01c958ff7c9e6da4034a53567a30a4ae5792, but it was still possible to evaluate tuple funs in the shell.
2013-02-10[stdlib] Remove the undocumented 'unicode' option from the scannerHans Bolinder
2013-02-07[stdlib] Fix a bug that could cause the Erlang shell to loopHans Bolinder
2013-02-07[stdlib] Fix bugs in eval_bitsHans Bolinder
Unicode related.
2013-01-31Remove unused error message {bittype_mismatch,_,_,_}Björn Gustavsson
2013-01-31Remove unused error message for importing an auto-imported BIFBjörn Gustavsson
2013-01-31Remove the error message for future reserved keywordBjörn Gustavsson
There are currently no keywords reserved for the future.
2013-01-31Remove error handling for calling a BIF that is not auto-importedBjörn Gustavsson
All guards BIFs are auto-imported. That can be verified like this: [] = [{F,A} || {erlang,F,A} <- erlang:system_info(snifs), erl_internal:guard_bif(F, A), not erl_internal:bif(F, A)] Therefore, calling a guard BIF in a guard without a module name is always allowed (provided that there is not a local function or an import with the same name), and therefore we can remove the error reporting code. But keep an assertion so that we will find out if any non-auto-imported guard BIFs are added in the future.
2013-01-26Merge branch 'bjorn/remove-tuple-funs/OTP-10170'Björn Gustavsson
* bjorn/remove-tuple-funs/OTP-10170: erl_lint: Removes vestiges of tuple fun support