aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
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
2013-01-26Merge branch 'bjorn/remove-packages/OTP-10348'Björn Gustavsson
* bjorn/remove-packages/OTP-10348: erl_lint: Remove vestiges of package support shell: Remove vestiges of package support
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-25erl_lint: Remove vestiges of package supportBjörn Gustavsson
1c1649481025236cad29a7ee3cbd8f552757b2b6 dropped support for packages in erl_lint, but did not remove the error message for {bad_module_name,M}.
2013-01-25shell: Remove vestiges of package supportBjörn Gustavsson
Remove the which/1 command which provides no useful information for a non-package module. Remove references to the deleted commands import/1, import_all/1, use/1, and use_all/1 (removed in f31ee362c3421922518). Remove code that handles {module,_} in bindings.
2013-01-25erl_lint: Removes vestiges of tuple fun supportBjörn Gustavsson
The warnings for deprecated tuple funs were removed in de7e01c958ff7c9e6da4034a53567a30a4ae5792.
2013-01-25Remove one use of iolist_size/1 in io_lib_pretty.erlHans Bolinder
In order to simplify the testing of Unicode atoms a minor adjustment has been made in io_lib_pretty. Unicode atoms will not be introduced until R18 but it may come in handy to be able to pretty-print such atoms in R16. This update affects ~p only; ~w already works.
2013-01-25Add a new function proc_lib:format/2 which takes encodingHans Bolinder
2013-01-25Export the type erl_scan:token()Hans Bolinder
The type erl_parse:token() used to be a two-tuple, but it can also be a three-tuple.
2013-01-25Make adjustments for UnicodeHans Bolinder
2013-01-25[stdlib] Change default of erl_scan's unicode optionHans Bolinder
The value of the undocumented unicode option is very limited. The option will most likely be removed completely soon.
2013-01-25Correct recently introduced Unicode related type errorsHans Bolinder
2013-01-25[stdlib] Introduce new functions epp:read_encoding_from_binary/1,2Hans Bolinder
2013-01-25Extend char() to Unicode charactersHans Bolinder
The code related to the introduction of unicode_string() and unicode_char() has been removed. The types char() and string() have been extended to include Unicode characters. In fact char() was changed some time ago; this commit is about cleaning up the documentation and introduce better names for some functions.
2013-01-25[stdlib] Fix a contract bugHans Bolinder
Also minor corrections of the docs of io(3)
2013-01-24Merge branch 'bjorn/warnings-zero-tolerance'Björn Gustavsson
* bjorn/warnings-zero-tolerance: Turn warnings to errors on selected applications runtime_tools_sup: Eliminate warning inet_parse: Eliminate a compiler warning
2013-01-23Merge branch 'sal/float_to_list_2/OTP-10752'Björn-Egil Dahlberg
* sal/float_to_list_2/OTP-10752: Text representation of a float formatted using given options.
2013-01-23Merge branch 'fh/shell_history_search/OTP-10739'Fredrik Gustafsson
* fh/shell_history_search/OTP-10739: Add search to Erlang shell's history
2013-01-23Turn warnings to errors on selected applicationsBjörn Gustavsson
2013-01-22Merge branch 'ae/stdlib/faster_queue/OTP-10722'Fredrik Gustafsson
* ae/stdlib/faster_queue/OTP-10722: Fix bug in queue:out/1, queue:out_r/1 that makes it O(N^2) in worst case
2013-01-22Merge branch 'lh/forget-mnemosyne/OTP-10729'Fredrik Gustafsson
* lh/forget-mnemosyne/OTP-10729: Remove what remains of the Mnemosyne code Remove support for the query keyword and query expressions
2013-01-21[hipe, kernel, stdlib] Correct a few typesHans Bolinder
The type ascii_string() in the base64 module has been corrected. The type file:file_info() has been cleaned up. The type file:fd() has been made opaque in the documentation. The type nodes() has been removed from erl_bif_types.erl.
2013-01-21Text representation of a float formatted using given options.Serge Aleynikov
This BIF solves a problem of float_to_list/1 that doesn't allow specifying the number of digits after the decimal point when formatting floats. float_to_list(Float, Options) -> string() Float = float() Options = [Option] Option = {decimals, Decimals::0..249} | {scientific, Decimals::0..249} | compact Returns a string which corresponds to the text representation of a `Float` formatted using given options. When decimals option is specified the returned value will contain at most `Decimals` number of digits past the decimal point. When `compact` option is provided the trailing zeros at the end of the list are truncated (this option is only meaningful together with the `decimals` option). When `scientific` option is provided, the float will be formatted using scientific notation with `Decimals` digits of precision. If `Options` is `[]` the function behaves like `float_to_list/1`. When using `decimals` option and the number doesn't fit in the static internal buffer of 256 bytes the function throws `badarg`.
2013-01-19Add search to Erlang shell's historyFred Hebert
Search mode can be entered by pressing ctrl-r. Enter terms and press ctrl-r again to search backwards, or ctrl-s to then search forward (if you terminal doesn't eat up that one). Press enter to execute the line, or use tab, arrow keys, or other control sequences (^D, ^K, etc.) to exit search mode while remaining on the last found line. Exiting is also possible by pressing the escape key twice. The search mode is a simpler version of the one available in bash or zsh shells. This adds a few modes to the shell (search, on top of none and meta) in group.erl for history search, and a few more in edlin.erl to change the meaning of control sequences while searching.
2013-01-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules