aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-03-21Adapt dictionary compilation to new default encodingAnders Svensson
The problem is that the change in default encoding to utf8 in 17.0, in commit 00e42967, changes the behaviour of erl_parse:abstract/1, which is used by the dictionary compiler to turn terms into abstract code. In particular, it transforms the orddict representation of a parsed dictionary to contruct the return value of a dictionary module's dict/0 function. This orddict contains various lists, one of which is a list of tuples of the form {Name, Code, [VendorId], [Avp]} where Name is an ASCII string and VendorId is a non-negative integer. Using erl_parse:abstract/2 instead allows a string encoding to be specified but regardless of what encoding is used, the result of transforming our tuple might not be what we really want, which is for Name to always be represented as a string form and [VendorId] to always be represented as a cons form: the [VendorId] will always end up as a string form if the integers are small enough. The only way around this is to transform the tuple bit by bit, but modifying the code to do this is quite a lot of work, for not much gain: it would be nice to produce more readable output but nothing stops working without it. This commit restores the pre-17.0 conversion by explicilty specifying latin1 as the string encoding to erl_parse:abstract/2. The utf8 encoding broke the compilation of some dictionares since unicode strings aren't expected when writing the generated code to file. Note that the latin1 encoding does reasonably well in practice, although it mangles the Ericsson Vendor Id list [193] into a "LATIN CAPITAL LETTER A WITH ACUTE". The utf8 encoding does worse, mangling the 3GPP Vendor Id 10415 into "DESERET CAPITAL LETTER CHEE". An ascii encoding would do better than latin1 but doesn't yet exist. (Encoding isn't really what the option is. It's a string predicate: if the predicate is true then represent as a string form, otherwise a cons form.)
2014-01-30Merge branch 'ia/inets/tests'OTP_17.0-rc1Björn-Egil Dahlberg
* ia/inets/tests: inets: Rewrite of test case to avoid timing issues in test code
2014-01-30Merge branch 'ia/ssl/openssl-1.0.1e'Björn-Egil Dahlberg
* ia/ssl/openssl-1.0.1e: ssl: Add workaround in test code for openssl s_client bug
2014-01-30Merge branch 'nox/syntax-tools-named-fun-fixes/OTP-11651'Björn-Egil Dahlberg
* nox/syntax-tools-named-fun-fixes/OTP-11651: Fix representation of named funs in syntax_tools
2014-01-30inets: Rewrite of test case to avoid timing issues in test codeIngela Anderton Andin
2014-01-30Merge branch 'peppe/common_test/telnet_logging_system'Peter Andersson
* peppe/common_test/telnet_logging_system: Add verification terms for the unix_telnet test case Add documentation about logging in the ct_telnet module Make temporary fix of problem that sometimes causes the ct_util server to die Fix remaining problems using raw telnet logging for parallel test cases Make it possible to use raw telnet logs in parallel test case groups Implement tests for logging traffic for multiple telnet connections Add and improve test cases Implement new telnet logging system OTP-11440
2014-01-29Merge branch 'rickard/default_acul_mod/OTP-11604'Rickard Green
* rickard/default_acul_mod/OTP-11604: Make it easier to revert +M<S>acul default
2014-01-29Minor update of INSTALL.mdRickard Green
2014-01-29Make it easier to revert +M<S>acul defaultRickard Green
2014-01-29Fix representation of named funs in syntax_toolsAnthony Ramine
A named fun's name is a variable name, its type in syntax_tools is named_fun_expr.
2014-01-29Update primary bootstrapBjörn-Egil Dahlberg
2014-01-29ssl: Add workaround in test code for openssl s_client bugIngela Anderton Andin
2014-01-29Add verification terms for the unix_telnet test casePeter Andersson
2014-01-29Merge branch 'egil/maps/OTP-11616'Björn-Egil Dahlberg
* egil/maps/OTP-11616: (112 commits) compiler: Add core compile test for maps compiler: Fix core parse for Maps compiler: Fixup #map_pair{} spec erts: Strengthen map_SUITE tests erts: Update maps_fold test to respect maps:fold/3 stdlib: Make maps:fold/3 order-independent erts: Fixup enif_make_map_put on windows erts: Update preloaded erts_internal.beam hipe: Fixup update cerl pretty printer erts: Add map construction to driver API dialyzer: Add maps tests dialyzer: Remove dead code dialyzer: Reflect map_pair core changes in dialyzer hipe: Update cerl pretty printer compiler: Update inliner tests compiler: Squash #c_map_pair_*{} to #c_map_pair{} compiler: Squash #k_map_pair_*{} to #k_map_pair{} preloaded: Fixup export cmp_term in erts_internal erts: Change 'size' argument of enif_get_map_size from int* to size_t* erts: Fix compile error for halfword emulator ...
2014-01-29compiler: Add core compile test for mapsBjörn-Egil Dahlberg
2014-01-29compiler: Fix core parse for MapsBjörn-Egil Dahlberg
2014-01-29compiler: Fixup #map_pair{} specBjörn-Egil Dahlberg
2014-01-29erts: Strengthen map_SUITE testsBjörn-Egil Dahlberg
* Add tests for maps:merge/2 * Add tests for maps:update/3 * Test more corner cases
2014-01-29erts: Update maps_fold test to respect maps:fold/3Björn-Egil Dahlberg
2014-01-29stdlib: Make maps:fold/3 order-independentBjörn-Egil Dahlberg
This means replacing maps:foldl/3 and maps:foldr/3 with maps:fold/3.
2014-01-29erts: Fixup enif_make_map_put on windowsBjörn-Egil Dahlberg
2014-01-29erts: Update preloaded erts_internal.beamBjörn-Egil Dahlberg
2014-01-29hipe: Fixup update cerl pretty printerBjörn-Egil Dahlberg
2014-01-29erts: Add map construction to driver APISverker Eriksson
erl_drv_output_term() and erl_drv_send_term() can send messages containing maps with the use of the new ERL_DRV_MAP. The driver API minor version is updated as new functionality is added.
2014-01-29dialyzer: Add maps testsBjörn-Egil Dahlberg
2014-01-29dialyzer: Remove dead codeBjörn-Egil Dahlberg
2014-01-29dialyzer: Reflect map_pair core changes in dialyzerBjörn-Egil Dahlberg
2014-01-29hipe: Update cerl pretty printerBjörn-Egil Dahlberg
2014-01-29compiler: Update inliner testsBjörn-Egil Dahlberg
2014-01-29compiler: Squash #c_map_pair_*{} to #c_map_pair{}Björn-Egil Dahlberg
Simplify compiler internals and parsing of core format.
2014-01-29compiler: Squash #k_map_pair_*{} to #k_map_pair{}Björn-Egil Dahlberg
Simplify compiler internals for kernel passes.
2014-01-29preloaded: Fixup export cmp_term in erts_internalBjörn-Egil Dahlberg
2014-01-29erts: Change 'size' argument of enif_get_map_size from int* to size_t*Sverker Eriksson
2014-01-29erts: Fix compile error for halfword emulatorSverker Eriksson
2014-01-29erts: Add more tests for the NIF map APISverker Eriksson
2014-01-29erts: Optimize struct ErlNifMapIteratorSverker Eriksson
No need to use 64bit integers on 32bit machines.
2014-01-29erts: Fix map iterator bug when reverting from end of map positionSverker Eriksson
and simplify code by ignoring h_limit which is always zero.
2014-01-29erts: Simplify some map iterator codeSverker Eriksson
2014-01-29erts: Remove use of h_limit which is always zero.Sverker Eriksson
2014-01-29erts: Let enif_map_iterator_next/prev return 0 to signal end of map.Sverker Eriksson
2014-01-29erts: Do not allow map iterator created without mapSverker Eriksson
2014-01-29erts: Increase version for NIF API and reject experimental v2.5Sverker Eriksson
2014-01-29erts: Remove enif_find_map_valueSverker Eriksson
as it does the same thing as enif_get_map_value. Replace with placeholder to be ABI backward compatible on Windows as long as enif_find_map_value is not called.
2014-01-29Update map_SUITE to test "unsorted" encoded mapsBjörn-Egil Dahlberg
2014-01-29erts: Let erlang:binary_to_term/1 handle unsorted MapsBjörn-Egil Dahlberg
Maps may be encoded with keys in arbitrary order. This is fine, as long as keys are unique.
2014-01-29Update map_SUITE to respect term orderBjörn-Egil Dahlberg
2014-01-29compiler: Fix term order compiler for mapsBjörn-Egil Dahlberg
2014-01-29erts: Optimize erts_map_update/removeSverker Eriksson
to not continue comparing keys once it has been found.
2014-01-29erts: Fix bug in erts_maps_removeSverker Eriksson
HRelease was called with wrong arguments and left garbage on heap when key was not found.
2014-01-29erts: Update maps serializing to use term orderBjörn-Egil Dahlberg
* erlang:term_to_binary/1 * erlang:binary_to_term/1