aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2010-06-10fix open_port with many unset env varsSverker Eriksson
The erlang:open_port spawn and spawn_executable directives can include an {env, Env} directive to set up environment variables for the spawned process. Variables can be unset with {"NameOfVariable",false}. A bug in ert/emulator/sys/unix/sys.c could cause unset variables to not be unset. This would typically happen if there where more variables to be unset than there where already set variables in the destination evironment. Fix this problem for unix and add a new regression test for it to the port test suite. Windows does not seem to have the same problem.
2010-06-10allow open_port with env vars with trailing '=' on WindowsSverker Eriksson
Same problem that Steve Vinoski fixed for Unix. Similar fix done in erts/emulator/sys/win32/sys_env.c for Windows. Copy-paste from his commit-message: The erlang:open_port spawn and spawn_executable directives can include an {env, Env} directive to set up environment variables for the spawned process. A bug in ert/emulator/sys/unix/sys.c prevented applications from using {env, Env} to set an environment variable whose value ended with a '=' (equal sign) character; the code mistook the trailing equal sign as an indication that an environment variable was to be cleared from the environment of the spawned process. For example, passing an {env, Env} of {env, [{"foo", "bar="}]} would result in the code in sys.c seeing a string of the form "foo=bar=" The code would see the final '=' character and assume the directive wanted to clear a variable named "foo=bar" from the environment of the spawned process, rather than seeing it as a directive to set the environment variable "foo" to the value "bar=".
2010-06-08OTP-8686 Bugfix net_kernelHans Bolinder
A bug introduced in kernel-2.13.5.3 has been fixed.
2010-06-08OTP-8478: Added support for multiple SNMPv3 EngineIDs in a single agent.Micael Karlberg
2010-06-08Merge branch 'bg/bif-types' into devErlang/OTP
* bg/bif-types: Add type information for erlang:garbage_collect_message_area/0 Add type information for erts_debug:* BIFs Add type information for erlang:port_call/2 Add type information for erlang:display* BIFs Add type information for the BIFs in the binary module Introduce and use the t_endian() helper Add type information for erlang:binary_part/2,3 Add type info for erlang:append/2 and erlang:subtract/2 Add type information for the erlang:adler32* BIFs Add ppc64 return for erlang:system_info(hipe_architecture) Test that all BIFs have known types erl_types: Export is_erl_type/1
2010-06-08Move dsa ticket to r14a releaseIngela Anderton Andin
(This is the merge of r13 version to r14_dev)
2010-06-08Prepare ReleaseDan Gudmundsson
2010-06-08Merge branch 'bg/nif_error' into devErlang/OTP
* commit 'bg/nif_error': crypto: Add type specs for all documented functions crypto: Use erlang:nif_error/1 to squelch false Dialyzer warnings Add erlang:nif_error/1,2
2010-06-08Release mnesia testsDan Gudmundsson
2010-06-08Merge branch 'sv/serge-new_float_ext' into devErlang/OTP
* sv/serge-new_float_ext: Let ei_get_type() return ERL_FLOAT_EXT instead of NEW_FLOAT_EXT Fix ei_tmo to restrict dflags to NEW_FLOAT_EXT compact IEEE 754 double encoding in external binary format for ei fix typo in ei_decode_ei_term documentation OTP-8684 sv/serge-new_float_ext compact IEEE 754 double encoding in external binary format for ei Implement the compact IEEE 754 double encoding in external binary format for ei. Encoding for ei now always produces the NEW_FLOAT_EXT format. Decoding and term printing handle both the old ERL_FLOAT_EXT encoding and the new NEW_FLOAT_EXT encoding. Legacy erl_interface code also handles the new encoding, but still produces the ERL_FLOAT_EXT encoding by default. Also enable the DFLAG_NEW_FLOATS distribution flag. ei_get_type() will return ERL_FLOAT_EXT regardless if the external format is encoded with ERL_FLOAT_EXT or NEW_FLOAT_EXT for doubles. Reduce the number of copies of the code for encoding and decoding doubles throughout ei and erl_interface by instead calling the ei encoding and decoding functions wherever possible. Restore commented-out float tests in ei_decode_SUITE and ei_encode_SUITE in lib/erl_interface/test. Modify them to make them match the style of other tests in the same suites. These changes are based on an ei float patch from Serge Aleynikov originally submitted against R12B-2 in July 2008 and reworked by Steve Vinoski May 2010.
2010-06-08Merge branch 'ks/ets-tid-type' into devErlang/OTP
* ks/ets-tid-type: Remove tid() from the predefined builtin types. OTP-8687 ks/ets-tid-type The predefined builtin type tid() has been removed. Instead, ets:tid() should be used.
2010-06-08Merge branch 'pg/fix_erts_bld_string_n' into devErlang/OTP
* pg/fix_erts_bld_string_n: Fix erts_bld_string_n (called by enif_make_string and erlang:decode_packet/3) to work with 8 bits characters OTP-8685 pg/fix_erts_bld_string_n Fix bug causing erlang:decode_packet and enif_make_string to generate faulty strings with negative character values for ascii values larger than 127. (Thanks to Paul Guyot)
2010-06-08public_key: prepare for releaseDan Gudmundsson
2010-06-08Updated for ssl-3.11.1Ingela Anderton Andin
2010-06-07Add type information for erlang:garbage_collect_message_area/0Björn Gustavsson
erlang:garbage_collect_message_area/0 is undocumented and unsupported.
2010-06-07Add type information for erts_debug:* BIFsBjörn Gustavsson
2010-06-07Add type information for erlang:port_call/2Björn Gustavsson
(erlang:port_call/2 is undocumented.)
2010-06-07Add type information for erlang:display* BIFsBjörn Gustavsson
2010-06-07Add type information for the BIFs in the binary moduleBjörn Gustavsson
2010-06-07Introduce and use the t_endian() helperBjörn Gustavsson
2010-06-07Add type information for erlang:binary_part/2,3Björn Gustavsson
2010-06-07Add type info for erlang:append/2 and erlang:subtract/2Kostis Sagonas
These are aliases for '++'/2 and '--'/2.
2010-06-07Add type information for the erlang:adler32* BIFsKostis Sagonas
While at it, introduce a new type for adler32 and crc32 and use it consistently within the file.
2010-06-07Add ppc64 return for erlang:system_info(hipe_architecture)Kostis Sagonas
2010-06-07Test that all BIFs have known typesBjörn Gustavsson
Add a test that will verify that BIFs have type information in hiper/cerl/erl_bif_types.erl.
2010-06-07OTP-8587 DSA key supportIngela Anderton Andin
New ssl now support client/server-certificates signed by dsa keys.
2010-06-07Merge branch 'ms/file-exclusive-mode' into devErlang/OTP
* ms/file-exclusive-mode: Update preloaded modules Support opening files in exclusive mode OTP-8670 ms/file-exclusive-mode There is a new option 'exclusive' to file:open/2 that uses the OS O_EXCL flag where supported to open the file in exclusive mode.
2010-06-07Merge branch 'cb/emacs-eunit-run-recent' into devErlang/OTP
* cb/emacs-eunit-run-recent: erlang-eunit: remove runtime dependency on cl package Add Emacs EUnit feature: run recent Add Emacs EUnit feature: auto-save
2010-06-07Merge branch 'kj/emacs-eunit-run-current-test-with-cover' into devErlang/OTP
* kj/emacs-eunit-run-current-test-with-cover: erlang-eunit: Optionally run code coverage analysis during eunit tests erlang-eunit: Made alternative locations of files more flexible
2010-06-07An empty element declared as simpleContent was not properly validated.Lars G Thorsen
2010-06-07Merge branch 'ia/ssl_many_handshake_packages_at_once' into devErlang/OTP
* ia/ssl_many_handshake_packages_at_once: Fixed handling of several ssl/tls packets arriving at the same time. OTP-8679 ia/ssl_many_handshake_packages_at_once
2010-06-07An empty element declared as simpleContent was not properly validated.Lars G Thorsen
2010-06-07CleanupDan Gudmundsson
2010-06-07Public key test fixesDan Gudmundsson
2010-06-07OTP-7907: Allow the use of the "new" ssl (essl).Micael Karlberg
OTP-8564: Update deeprication status. OTP-8573: Inets mod_alias URL rewrite.
2010-06-07erlang-eunit: remove runtime dependency on cl packageChris Bernard
Follow the GNU recommendation of not introducing runtime dependencies on the Common Lisp package in ELisp packages that will be distributed for widespread use. In practice this means it's ok to use cl macros but not functions.
2010-06-07Add Emacs EUnit feature: run recentChris Bernard
This determines the most recent invocation of EUnit and runs it again -- whether one test or all tests in a module were run (and if all a module's tests were run, whether cover compilation was involved). This can be especially handy when one test is being run repeatedly, eliminating the need to position the cursor in the desired test just to run it. Default keybinding: C-c C-e l
2010-06-07Add Emacs EUnit feature: auto-saveChris Bernard
If the variable 'erlang-eunit-autosave' is non-nil, buffers will be automatically saved just before running tests -- the "Do you want to save?" prompt will be inhibited. This can be useful, reducing the save-compile-load-test cycle to just one keychord.
2010-06-07Remove tid() from the predefined builtin types.Kostis Sagonas
Change erl_lint not to recognize this type as builtin and add a new erl_lint.beam version in bootstrap. Add an -opaque type declaration for this type in ets.erl and also declare this as an exported type. Use this type in file debugger/src/dbg_iload.erl in a spec. While at it, also clean up this later file a bit.
2010-06-07erlang-eunit: Optionally run code coverage analysis during eunit testsKlas Johansson
Add a number of features to the emacs mode which make it easier to work with eunit test cases while keeping track of code coverage. * C-cC-ec: Compile the module under test for code coverage analysis, run tests and show the results of the coverage analysis in a new buffer. * C-c-C-ev: Compile the current module for code coverage analysis. * C-cC-ea: Show the results of the coverage analysis in a new buffer.
2010-06-07erlang-eunit: Made alternative locations of files more flexibleKlas Johansson
Previously there were only two options: either the EUnit test file was placed directly within the test directory or within the same directory as the source file. Now a list of candidate locations are supported. This way more than two alternative locations are supported as well as arbitrarily deep directory structures (i.e. test/eunit/x_tests.erl). The default behaviour is still the same, but it's possible to specify locations by setting the following two variables: erlang-eunit-src-candidate-dirs erlang-eunit-test-candidate-dirs
2010-06-07Fix erts_bld_string_n (called by enif_make_string and ↵Paul Guyot
erlang:decode_packet/3) to work with 8 bits characters
2010-06-07Let ei_get_type() return ERL_FLOAT_EXT instead of NEW_FLOAT_EXTBjörn-Egil Dahlberg
2010-06-07Merge OTP-8681Björn-Egil Dahlberg
2010-06-07gs: Clean up as suggested by tidierKostis Sagonas
2010-06-07Fix ei_tmo to restrict dflags to NEW_FLOAT_EXTBjörn-Egil Dahlberg
Erl_Interface is updated to restrict distribution to NEW_FLOAT_EXT only. The testsuite ei_tmo is updated to reflect that.
2010-06-07compact IEEE 754 double encoding in external binary format for eiSteve Vinoski
Implement the compact IEEE 754 double encoding in external binary format for ei. Encoding for ei now always produces the NEW_FLOAT_EXT format. Decoding and term printing handle both the old ERL_FLOAT_EXT encoding and the new NEW_FLOAT_EXT encoding. Legacy erl_interface code also handles the new encoding, but still produces the ERL_FLOAT_EXT encoding by default. Also enable the DFLAG_NEW_FLOATS distribution flag. Reduce the number of copies of the code for encoding and decoding doubles throughout ei and erl_interface by instead calling the ei encoding and decoding functions wherever possible. Restore commented-out float tests in ei_decode_SUITE and ei_encode_SUITE in lib/erl_interface/test. Modify them to make them match the style of other tests in the same suites. These changes are based on an ei float patch from Serge Aleynikov originally submitted against R12B-2 in July 2008.
2010-06-07fix typo in ei_decode_ei_term documentationSteve Vinoski
Change "encoding" to "decoding" where the documentation describes the return value 0.
2010-06-07Fix confusing dialyzer warnings for is_record/2 with illegal recordsBjörn Gustavsson
In commit 1858cb81391d2bce29b4b7620574ca60128cebf7, erl_expand_records started to optimize is_record/2 in guards by replacing it with pattern matching (if possible). Unfortunately, dialyzer will no longer see the code before the optimization, so any warnings produced in code such as: case ExprNotProducingRecord#rec{} of X when is_record(X, rec, N) -> ... will refer to the optimized code and not the source code, which is confusing for the user. Introduce the no_is_record_optimization option for turning off the optimization and use it in dialyzer. Reported-by: Kostis Sagonas
2010-06-06erl_types: Export is_erl_type/1Björn Gustavsson
It is useful for testing.