Age | Commit message (Collapse) | Author |
|
This new feature adds the missing week number function to the calendar module
of the stdlib application. The implementation conforms to the ISO 8601 standard.
The new feature has been implemented tested and documented.
|
|
* lukas/stdlib/native_escript/OTP-9076:
Update escrips to allow the -n or -compile(native) flag, which compiles the code within the escript with the +native flag. You need an HiPE enabled emulator for this to work.
|
|
dialyzer spec.
|
|
Previous commit changed the supervisor to not save
parameter lists for temporary processes supervised by simple-one-for-one
supervisors. But it is unnecessary to save them for any
temporary processes as they should not be restarted. Proably the
biggest gain is in the simple-one-for-one case.
Also changed the test case count_children_memory so it does
not test that which_children will produce garbage that must
be reclaimed later. This is a strange thing to test and it is no
longer true for all invocations of which_children.
|
|
|
|
* egil/io-badarg/OTP-9045:
Fix exception generation in the io module
|
|
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
|
|
code within the escript with the +native flag. You need an HiPE enabled emulator for this to work.
|
|
|
|
* 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
...
|
|
Use a binary instead of a string for the help text.
|
|
Since the error messages in the erl_posix_msg module are
presumably used very seldom, save memory by using binaries
instead of strings.
|
|
|
|
* td/base64-mime-decoding:
Improve pad character handling in base64 MIME decoding functions
OTP-9020
|
|
|
|
|
|
|
|
|
|
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.
|
|
* 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
...
|
|
|
|
|
|
|
|
|
|
|
|
The default maximum number of slots of Dets tables has been changed to
be equal to the maximum number of slots.
|
|
|
|
* egil/superfluous-supervisor-report/OTP-8938:
Remove superfluous supervisor error report
|
|
* sverker/ets_compress/OTP-8922:
ETS 'compressed' option.
|
|
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").
|
|
|
|
* ks/file_open-mode:
Add the {encoding, _} options to file:open/2's modes
|
|
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.)
|
|
* ks/bad-export_type:
Avoid errors for a badly formed export_type declarations
|
|
* 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
|
|
* 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
|
|
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.
|
|
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.
|
|
|
|
Using a float for the number of copies results in an infinite loop.
Check that the argument is an integer.
Reported-By: Eric Pailleau
|
|
* hb/stdlib/dets_chunk_match/OTP-8903:
Fix a bug concerning bchunk(), match() and select()
Conflicts:
lib/stdlib/test/dets_SUITE.erl
|
|
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'.
|
|
* hb/stdlib/dets_stream_op/OTP-8899:
Fix a bug that could cause 'bad_object' errors
Conflicts:
lib/stdlib/test/dets_SUITE.erl
|
|
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.
|
|
* 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
|
|
When several clients accessed a Dets table simultaneously, inserted or
updated objects were sometimes lost due to the Dets file being
truncated.
|
|
* hb/stdlib/dets_insert_new/OTP-8856:
Fix a bug in dets:insert_new()
|
|
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'.
|
|
- Export two more types so that they can be used in other modules
- Correct some types and specs
- Add spec for behaviour_info/1
|
|
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.
|