aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
2011-02-15Merge branch 'egil/io-badarg/OTP-9045' into devBjörn-Egil Dahlberg
* egil/io-badarg/OTP-9045: Fix exception generation in the io module
2011-02-10Fix exception generation in the io moduleBjörn-Egil Dahlberg
Some functions did not generate correct badarg exception on a badarg exception. Affected functions: - io:put_chars/1,2 - io:nl/1 - io:write/1,2 - io:format/1,2,3 - io:fwrite/1,2,3
2011-01-18Refuse to compile functions with too many argumentsBjörn Gustavsson
2011-01-17Merge branch 'bjorn/beam-loader/OTP-9030' into devBjörn Gustavsson
* bjorn/beam-loader/OTP-9030: (43 commits) c: Reduce memory footprint erl_posix_msg: Reduce memory footprint Introduce a few more variations of the move instructions Combine a move + jump sequence into the move_jump instruction Optimize and clean-up the exact equality/non-equality instructions Optimize addition of a small integer to a variable Introduce a special instruction for select_val with two values Introduce a few more specialized put_list instructions Eliminate the "put_list c n Dst" instructions Eliminate the specific move_sd instruction Eliminate use of GetArg1() in the badmatch and case_end instructions Eliminate use of GetArg2() in the i_element instruction Eliminate use of GetArg1() in the fast_element instruction Eliminate use of GetArg1() in the jump_on_val* instructions Eliminate use of GetArg1() in the select_val instruction beam_emu: Eliminate sloppy use of tmp_arg1 and tmp_arg2 beam_emu: Don't inline helper functions into process_main() beam_emu: Clean up calling of the error_handler module Simplify a select_val instruction that selects only one value Optimize creation of tuples ...
2011-01-17c: Reduce memory footprintBjörn Gustavsson
Use a binary instead of a string for the help text.
2011-01-17erl_posix_msg: Reduce memory footprintBjörn Gustavsson
Since the error messages in the erl_posix_msg module are presumably used very seldom, save memory by using binaries instead of strings.
2011-01-17Removed use of deprecated function sizeIngela Anderton Andin
2011-01-11Merge branch 'td/base64-mime-decoding' into devIngela Anderton Andin
* td/base64-mime-decoding: Improve pad character handling in base64 MIME decoding functions OTP-9020
2010-12-21Correct type specs in ioPatrik Nyblom
2010-12-21Remove faulty change left by mistake in eppPatrik Nyblom
2010-12-20Removed dead codePatrik Nyblom
2010-12-17Remove dead code (and dialyzer errors) from filename and rePatrik Nyblom
2010-12-07Improve pad character handling in base64 MIME decoding functionsThomas O'Dowd
Implement the 'MAY' clauses from RFC4648 regarding the pad character to make mime_decode() and mime_decode_to_string() functions more tolerant of badly padded base64. The RFC is quoted below for easy reference. RFC4648 Section 3.3 with reference to MIME decoding: Furthermore, such specifications MAY ignore the pad character, "=", treating it as non-alphabet data, if it is present before the end of the encoded data. If more than the allowed number of pad characters is found at the end of the string (e.g., a base 64 string terminated with "==="), the excess pad characters MAY also be ignored.
2010-12-03Merge branch 'pan/unicode-filenames/OTP-8887' into devPatrik Nyblom
* pan/unicode-filenames/OTP-8887: (27 commits) Test and correct filelib and filename Add documentation to erlang.xml and slight correction to unicode_usage.xml Add section about Unicode file names to stdlib users guide Correct bug in file_name_SUITE making it fail on Unix instead of Windows7 Add documentation about raw filenames and Unicode file name translation mode Make filelib not crash on re codepoints beyond 255 in re when filename is raw Mend on_load_embedded testcase which did not handle windows links Correct testcase regarding windows versions supporting soft links. Teach filelib to use re in unicode mode when filenames are not raw Treat soft links on Windows correctly in file_name_SUITE Adapt new soft and hard link routines on Windos to Unicode Corrected testcases broken by unicode filenames Update preloaded prim_file Teach prim_file not to accept atoms and not to throw exceptions Adapt inet_drv to Visual Studio 2008 Teach spawn_executable about Unicode Convert filenames read on MacOSX to canonical form Teach file to accept codepoints beyond 255. Add testcases Correct shell utilities to handle unicode and possibly binaries ...
2010-12-03Test and correct filelib and filenamePatrik Nyblom
2010-12-01Make filelib not crash on re codepoints beyond 255 in re when filename is rawPatrik Nyblom
2010-11-30Teach filelib to use re in unicode mode when filenames are not rawPatrik Nyblom
2010-11-30Correct shell utilities to handle unicode and possibly binariesPatrik Nyblom
2010-11-30Handle binary file names and conversion of unicode stringsPatrik Nyblom
2010-11-29Increase default maximum number of slots of Dets tablesHans Bolinder
The default maximum number of slots of Dets tables has been changed to be equal to the maximum number of slots.
2010-11-29Teach filename to accept raw data and add filename enc option to emuPatrik Nyblom
2010-11-26Merge branch 'egil/superfluous-supervisor-report/OTP-8938' into devBjörn-Egil Dahlberg
* egil/superfluous-supervisor-report/OTP-8938: Remove superfluous supervisor error report
2010-11-24Merge branch 'sverker/ets_compress/OTP-8922' into devSverker Eriksson
* sverker/ets_compress/OTP-8922: ETS 'compressed' option.
2010-11-22ETS 'compressed' option.Sverker Eriksson
The compressed format is using a slighty modified variant of the extern format (term_to_binary). To not worsen key lookup's too much, the top tuple itself and the key element are not compressed. Table objects with only immediate non-key elements will therefor not gain anything (but actually consume one extra word for "alloc_size").
2010-11-22Remove superfluous supervisor error reportBjörn-Egil Dahlberg
2010-11-22Merge branch 'ks/file_open-mode' into devBjörn Gustavsson
* ks/file_open-mode: Add the {encoding, _} options to file:open/2's modes
2010-11-04Fix badly formed Dets file after initializationHans Bolinder
If a Dets table with fewer slots than keys was opened and then closed after just a lookup, the contents were no longer well-formed. This bug has been fixed. (Thanks to Matthew Evans.)
2010-10-29Merge branch 'ks/bad-export_type' into devBjörn Gustavsson
* ks/bad-export_type: Avoid errors for a badly formed export_type declarations
2010-10-29Merge branch 'ms/fix-string-copies' into devBjörn Gustavsson
* ms/fix-string-copies: string_SUITE: Add test for string:copies(Str, Float) string_SUITE: Fix copy and paste error in test of string:copies/2 Fix crash in string:copies/2 OTP-8915
2010-10-29Merge branch 'ks/strengthen-specs' into devBjörn Gustavsson
* ks/strengthen-specs: lists: Strengthen and modernize specs syntax_tools: Fix an erroneous type and strengthen some specs ordsets: Export ordset/1 type and strengthen specs compiler: Strengthen some specs to shut off dialyzer warnings
2010-10-28Fix epp bug concerning the file attribute and file inclusionHans Bolinder
Cover did not collect coverage data for files such as Yecc parses containing include directives. The bug has been fixed by modifying epp, the Erlang Code Preprocessor.
2010-10-26lists: Strengthen and modernize specsKostis Sagonas
Strengthen some specs that were a bit more liberal than they should. While at it, change uses of the is_subtype guard to :: which is more modern and compact.
2010-10-26ordsets: Export ordset/1 type and strengthen specsKostis Sagonas
2010-10-26Fix crash in string:copies/2Michael Santos
Using a float for the number of copies results in an infinite loop. Check that the argument is an integer. Reported-By: Eric Pailleau
2010-10-21Merge branch 'hb/stdlib/dets_chunk_match/OTP-8903' into devHans Bolinder
* hb/stdlib/dets_chunk_match/OTP-8903: Fix a bug concerning bchunk(), match() and select() Conflicts: lib/stdlib/test/dets_SUITE.erl
2010-10-21Fix a bug concerning bchunk(), match() and select()Hans Bolinder
If a Dets table was closed after calling bchunk/2, match/1,3, match_object/1,3, or select/1,3 and then opened again, a subsequent call using the returned continuation would normally return a reply. This bug has fixed; now the call fails with reason 'badarg'.
2010-10-21Merge branch 'hb/stdlib/dets_stream_op/OTP-8899' into devHans Bolinder
* hb/stdlib/dets_stream_op/OTP-8899: Fix a bug that could cause 'bad_object' errors Conflicts: lib/stdlib/test/dets_SUITE.erl
2010-10-21Fix a bug that could cause 'bad_object' errorsHans Bolinder
When several clients accessed a Dets table simultaneously, modifications of the Dets server's internal state were sometimes thrown away. The symptoms are diverse: error with reason 'bad_object'; inserted objects not returned by lookup(); et cetera.
2010-10-21Merge branch 'hb/stdlib/dets_fixed_dirty/OTP-8898' into devHans Bolinder
* hb/stdlib/dets_fixed_dirty/OTP-8898: Fix a bug concerning truncated Dets files Conflicts: lib/stdlib/src/dets.erl lib/stdlib/test/dets_SUITE.erl
2010-10-21Fix a bug concerning truncated Dets filesHans Bolinder
When several clients accessed a Dets table simultaneously, inserted or updated objects were sometimes lost due to the Dets file being truncated.
2010-10-21Merge branch 'hb/stdlib/dets_insert_new/OTP-8856' into devHans Bolinder
* hb/stdlib/dets_insert_new/OTP-8856: Fix a bug in dets:insert_new()
2010-10-21Fix a bug in dets:insert_new()Hans Bolinder
When several clients accessed a Dets table simultaneously, one of them calling dets:insert_new/2, the Dets server could crash. Alternatively, under the same conditions, 'ok' was sometimes returned instead of 'true'.
2010-10-14supervisor: Type and spec related changesKostis Sagonas
- Export two more types so that they can be used in other modules - Correct some types and specs - Add spec for behaviour_info/1
2010-10-14Add the {encoding, _} options to file:open/2's modesKostis Sagonas
Although the {encoding, encoding()} set of options is documented in the manual page of the 'file' module, they do not appear in the Mode description on that page nor in the mode() type declaration. The patch adds this information in both the code of the module and the documentation of the module. To avoid duplication, the declaration of the encoding() type is added to the 'unicode' module where it most probably belongs. While at it, added a proper declaration for posix(), took out the now superfluous information about the types of file:open/2 from the erl_bif_types module, and corrected the return type of file:open/2 so that it corresponds to the published documentation.
2010-10-06Merge branch 'ks/export-types' into devBjörn Gustavsson
* ks/export-types: Export opaque types so as to be used by other modules
2010-10-06Avoid errors for a badly formed export_type declarationsKostis Sagonas
In the following program, erl_lint crashed with an erl_lint internal error. With this patch it does not, but prints "bad export_type declaration" errors instead. -module(baz). -export([test/0]). -export_type(t/0). -export_type([3.14]). -type t() :: any(). test() -> 42.
2010-09-24Export opaque types so as to be used by other modulesKostis Sagonas
2010-09-24Correct erroneous specs; strengthen some othersKostis Sagonas
2010-09-10Remove warnings for clashes with new autoimported BIFsPatrik Nyblom
2010-09-10Add new autoimports for R14BPatrik Nyblom