aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2010-01-13OTP-8240 Improved GC performance after BIF/NIF call when a lot of heapSverker Eriksson
fragments was created. This will mainly benefit NIFs that return large compound terms.
2010-01-13Add test suite for the ssl applicationDan Gudmundsson
2010-01-13Added a public_key:pkix_transform/2 instead and used it from ssl.Dan Gudmundsson
2010-01-13Merge branch 'bg/otp_build-improvements' into ccase/r13b04_devErlang/OTP
* bg/otp_build-improvements: Fix spelling, remove obsolete command Support updating preloaded files in a git repository Support updating the primary bootstrap in a git repository Determine which VCS is being used stdlib makefile: Add explicit rule OTP-8369: bg/otp_build-improvements
2010-01-12Minor code cleanupDan Gudmundsson
2010-01-12new_ssl fix session reuseWil Tan
When an SSL client presents a previous session ID, the server should either honour the request to reuse the parameters previously negotiated for the given session ID, or ignore the request and generate a new session ID. In this situation, new_ssl tries to complete the handshake by sending the client a "Finished" handshake message, which violates the SSL/TLS specs. It should instead send a ChangeCipherSpec message before sending the FInished message. This patch fixes it.
2010-01-12Code cleanupDan Gudmundsson
2010-01-12Send CA list during Certificate Request in new_sslWil Tan
When requesting for client certificate, an SSL/TLS server may send a list of the distinguished names of acceptable certificate authorities. OpenSSL does this by default.
2010-01-12stdlib makefile: Add explicit ruleBjörn Gustavsson
When building a primary bootstrap in a git repository, the file bootstrap/lib/stdlib/egen/erl_parse.erl would not get updated. With clearmake, this file is updated. Adding an explicit rule for the file make it it work with GNU Make. While at it, remove an out-commented rule.
2010-01-11Merge branch 'dgud/dbg_mac_menu' into ccase/r13b04_devErlang/OTP
* dgud/dbg_mac_menu: Dbg: Expand the module listbox when window grows. Dbg: Cut variable bindings after 80 chars. Dbg: Fixed documentation links to the new index.html Dbg Fixed mac gui issues OTP-8346 Miscellaneous corrections of the WX version of the debugger.
2010-01-07OTP-8358 A race bug affecting pg2:get_local_members/1 has been fixed. TheHans Bolinder
bug was introduced in R13B03.
2010-01-07Shell tab completion now works for quoted module and function namesUlf Wiger
While quoted atoms in module and function names are not common, they are allowed, and sometimes quite useful. In OTP, they are commonplace in ORBER, and can also be found in XMERL. Tab completion needs to recognize quoted atoms and act accordingly. This patch includes changes in edlin:over_word/1. It should be noted that these changes also affect the 'kill word', 'forward word' and 'backward word' commands in the line editor. The author thinks that the changes are for the better. There are also minor changes in edlin_expand.erl - mainly in regard to the conversion between atoms and strings. Another change is that the list of matches is now sorted, partly to simplify testing, but also because it seems sensible to present the matches that way. A test suite, edlin_expand_SUITE, has been added to the stdlib test suites. (amended 2009-12-18 to actually include the modified files too and again to rename the capitalized test modules for portability.)
2010-01-04Old release notes removedNiclas Eklund
2009-12-23Updated version and release noteNiclas Eklund
2009-12-21Fixed missing eix fileNiclas Eklund
2009-12-21Removed superfluous backslashNiclas Eklund
2009-12-21Removed 011 in documentation filesNiclas Eklund
2009-12-18Dbg: Expand the module listbox when window grows.Dan Gudmundsson
2009-12-18Dbg: Cut variable bindings after 80 chars.Dan Gudmundsson
This is an optimization to avoid sending huge terms to the gui just to step by them and update variables again. Even better would be to only update if necessary.
2009-12-18Dbg: Fixed documentation links to the new index.htmlDan Gudmundsson
2009-12-18Dbg Fixed mac gui issuesDan Gudmundsson
2009-12-18Merge branch 'dgud/emacs-improvements' into ccase/r13b04_devErlang/OTP
* dgud/emacs-improvements: Emacs: Added indentation inside parenthesis More -spec indentation fixes.
2009-12-18Emacs: Added indentation inside parenthesisDan Gudmundsson
Used in records or tuple creation: -record(record3, {a = 8#42423 bor 8#4234, b = 8#5432 bor 2#1010101 c = 123 + 234, d}). and in functions calls call(2#42423 bor #4234, 2#5432, other_arg),
2009-12-17More -spec indentation fixes.Dan Gudmundsson
2009-12-17Fix duplicate ei_tracelevel symbolBjörn-Egil Dahlberg
The symbol ei_tracelevel was not declared extern which could crash the linking step on some compilers. Updated .gitignore to ignore object files in erl_interface.
2009-12-15Merge branch 'dgud/emacs-improvements' into ccase/r13b04_devErlang/OTP
2009-12-15Merge branch 'sc/ei_decode_skip_fun' into ccase/r13b04_devErlang/OTP
* sc/ei_decode_skip_fun: Fix ei_skip_term() handling of funs encoded as NEW_FUN_EXT
2009-12-15Deprecate concat_binary/1Björn Gustavsson
2009-12-15Fixed indentation of -spec() -> Var :: type();Dan Gudmundsson
2009-12-15Added a indentation when using electric-comma.Dan Gudmundsson
In the following code case X of foo -> 25 end, Automatically indent the line you stand on (end,) before adding newline and indent again. That way 'end' will be indented correctly after the comma is written.
2009-12-15Include the test suites for erl_interfaceBjörn-Egil Dahlberg
2009-12-15OTP-8308 Added an xsl transform from OTP xml documentation to a fileLars G Thorsen
(.eix) of erlang terms that can be read by the erldoc application. Erldoc handles the documentation search mechanism at erlang.org. Added generation of eix files to otp_release_targets.mk. Fixed a copyright date error in db_html.xsl .
2009-12-14Fix ei_skip_term() handling of funs encoded as NEW_FUN_EXTSimon Cornish
2009-12-14Merge branch 'bg/on_load' into ccase/r13b04_devErlang/OTP
* bg/on_load: Test on_load functions that don't return 'ok' Change the expected return value for on_load functions OTP-8339 The expected return value for an on_load function has been changed. (See the section about code loading in the Reference manual.)
2009-12-14Merge branch 'bg/compiler-bopt-bug' into ccase/r13b04_devErlang/OTP
* bg/compiler-bopt-bug: beam_bool: Fix generation of code that does not validate Fix crash in beam_bool OTP-8338 Using complex boolean expressions in ifs could cause the compiler to either crash or teminate with an internal error. (Thanks to Simon Cornish.)
2009-12-14Merge branch 'as/c_nc-fix' into ccase/r13b04_devErlang/OTP
* as/c_nc-fix: c_SUITE: Use new style guard tests Fix c:nc to use outdir or cwd to find compiled object file OTP-8337 c:nc/{1,2} used to assume that the beam file was created in the same directory as the source code and failed to load the code if it was not. Corrected to look for the beam file in the current directory or in the directory specified by the {outdir,Dir} option. (Thanks to Alex Suraci.)
2009-12-14c_SUITE: Use new style guard testsBjörn Gustavsson
2009-12-14Fix c:nc to use outdir or cwd to find compiled object fileAlex Suraci
Before this patch, c:nc would naively assume the object file was created in the same location as the .erl file. This is often false, for example when an outdir is specified (often the case in make:all([netload])) or calling with c:nc("foo/bar") (because compile:file places bar.beam in the cwd, not foo/). [ Squashed in minor style changes. /bg ]
2009-12-14OTP-8340 A bug concerning bit comprehensions has been fixed in Cover. TheHans Bolinder
bug was introduced in R13B03. (Thanks to Matthew Sackman.)
2009-12-13Test on_load functions that don't return 'ok'Björn Gustavsson
2009-12-13Change the expected return value for on_load functionsBjörn Gustavsson
An on_load function is supposed to return 'true' to indicate that the module should be loaded, and 'false' if it should be unloaded. But returning any other term, as well as causing an exception, will also unload the module. Since we don't like boolean values mixed with other values, change the expected return value as follows: * If 'ok' is returned, the module will remain loaded and become callable. * If any other value is returned (or an exception is generated), the module will be unloaded. Also, if the returned value is not an atom, send a warning message to the error_logger (using error_logger:warning_msg/2). The new interpretation of the return value means that an on_load function can now directly return the return value from erlang:load_nif/2.
2009-12-11beam_bool: Fix generation of code that does not validateBjörn Gustavsson
The following code (by Simon Cornish) bad(XDo1, XDo2, Do3) -> Do1 = (XDo1 =/= []), Do2 = (XDo2 =/= []), CH1 = if Do1 == true; Do1 == false,Do2==false,Do3 == blah -> ch1; true -> no end, CH2 = if Do1 == true; Do1 == false,Do2==false,Do3 == xx -> ch2; true -> no end, {CH1,CH2}. is optimized by beam_bool even though the optimization is not safe. The trouble is that an assignment to {y,0} no longer occurs on all paths leading to its use. The bug is in dst_regs/2 which is supposed to return a set of all registers assigned in a code block, but it ignores registers assigned in 'move' instructions. Fix the bug by taking 'move' instructions into account. This change is safe since it can only cause more registers to be added to the MustBeKilled and MustBeUnused sets in ensure_opt_safe/6, which means that it can only cause the optimization to be turned off for code that used to be optimized.
2009-12-11OTP-8323 Miscellaneous cross compilation improvements. For example, oneRickard Green
new mandatory configuration variable that replaces all other previously mandatory configuration variables, and better documentation. Note that old cross compilation configurations cannot be used without modifications. For more information see the $ERL_TOP/xcomp/README file.
2009-12-11Merge branch 'po/blowfish_ecb_cbc_ofb-rebased' into ccase/r13b04_devErlang/OTP
* po/blowfish_ecb_cbc_ofb-rebased: Add Blowfish tests Add Blowfish ECB, CBC and OFB modes OTP-8331 The crypto module now supports Blowfish in ECB, CBC and OFB modes. (Thanks to Paul Oliver.)
2009-12-11Add Blowfish testsPaul Oliver
2009-12-11Add Blowfish ECB, CBC and OFB modesPaul Oliver
My previous patch added CFB mode. This patch adds all remaining Blowfish modes. According to the man page http://www.fifi.org/cgi-bin/man2html/usr/share/man/man3/blowfish.3ssl.gz these are available in all versions of OpenSSL. [ Squashed in elimination of signed/unsigned compiler warnings. /bg ]
2009-12-11Merge branch 'bg/slimmer-history' into ccase/r13b04_devErlang/OTP
* bg/slimmer-history: beam_makepos: Do not put any dates in generated files compiler: Teach 'slim' to omit compilation info
2009-12-10Fix crash in beam_boolBjörn Gustavsson
The following code crashes beam_bool: bad(XDo1, XDo2, Do3) -> Do1 = (XDo1 =/= []), Do2 = (XDo2 =/= []), if Do1 =:= true; Do1 =:= false, Do2 =:= false, Do3 =:= delete -> no end. (Reported by Simon Cornish; minimized by Kostis Sagonas.) For the moment fix the bug in the simplest and safest way possible (basically, instead of crashing just don't do the optimization). In a future major release (e.g. R14), the following improvements could be considered: * In beam_bool, it should be possible to move the Do1 and Do2 expressions to the pre-block and still optimize the expression in the 'if' statement. * In sys_core_fold, it should be possible to eliminate the try/catch around the guard expression in the 'if', because none of the guard tests can actually fail.
2009-12-10Cleaned up docsDan Gudmundsson
2009-12-09compiler: Teach 'slim' to omit compilation infoBjörn Gustavsson
The original intention for the undocumented 'slim' option was to omit non-essential parts of *.beam files to reduce the size of the primary bootstrap. Therefore, debug information and local function information (only used by xref, not by the loader) are omitted, but information about the compilation time and compiler version are still included. Including compilation information is troublesome, however, when committing the bootstrap into a revision control system, because every beam file is guaranteed to be changed every time the bootstrap is updated. Therefore, change the 'slim' option to also omit compilation information.