aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-08-27Fix unsafe variable tracking in try expressionsAnthony Ramine
Variables used in the body of a try expression were marked as unsafe *and* used, which makes no sense as an unsafe variable can't be used. Function vtsubtract/2 is used to forget usage of such unsafe variables. Reported-by: Paul Davis
2013-08-27Fix variable usage tracking in erl_lintAnthony Ramine
When analyzing complex expressions (i.e. comprehensions, cases, tries, ifs and receives), erl_lint does not forget about old unused variables when returning the updated variable table. This causes a bug where old unused variables are not recorded as such: t(X, Y) -> #r{a=[ K || K <- Y ],b=[ K || K <- Y ]}. As erl_lint uses vtmerge_pat/2 to merge the results of the analysis of the two list comprehensions, X is marked as used and the warning is not emitted. The function vtmerge_pat/2 is used instead of the similar vtmerge/2 which does not mark multiple occurrences of a variable as usage to handle cases like the following one: t(X, Y) -> #r{a=A=X,b=A=Y}. Other simpler expressions like conses, tuples and external fun references do not correctly follow this behaviour, e.g. A is not marked as used in the following code: t(X, Y) -> {A=X,A=Y}. This commit fixes both issues and makes erl_lint not return old unused variables in updated tables and makes all compound expressions use vtmerge_pat/2. Reported-by: Anders Ramsell
2013-08-26Merge branch 'nox/match-context-return/OTP-11247' into maintFredrik Gustafsson
* nox/match-context-return/OTP-11247: Added primary bootstrap Forbid returning a match context in beam_validator
2013-08-26Merge branch 'sze/edlin_understand_keys/OTP-11251' into maintFredrik Gustafsson
* sze/edlin_understand_keys/OTP-11251: Added primary bootstrap erts: fixed documentation regarding tty and arrow keys make edlin understand a few important control keys
2013-08-26Merge branch 'alexrp/export_edge/OTP-11266' into maintFredrik Gustafsson
* alexrp/export_edge/OTP-11266: Export the edge/0 type from the digraph module
2013-08-23Merge branch 'epa/add_fd_usage_in_rb/OTP-11252' into maintFredrik Gustafsson
* epa/add_fd_usage_in_rb/OTP-11252: kernel: sasl: fixed rb.xml docs Add Fd usage in rb logging
2013-08-23Merge branch 'pan/bad_async_thread_distribution/OTP-11243' into maintPatrik Nyblom
* pan/bad_async_thread_distribution/OTP-11243: Create better distribution of files over async threads Initialize errno properly in win32 efile_may_openfile Add debug functionality to retrieve async key OTP-11243 OTP-11265
2013-08-23Create better distribution of files over async threadsPatrik Nyblom
The actual port id is used to create a key from the pointer value which is the ErlDrvPort. To do this a new driver api function driver_async_port_key is added and the driver API minor version is updated. The documentation is updated and the faulty description of how to spread ports over async threads is updated to use the new API. Testcase also added.
2013-08-23Initialize errno properly in win32 efile_may_openfilePatrik Nyblom
2013-08-23Add debug functionality to retrieve async keyPatrik Nyblom
2013-08-23Merge branch 'maint-r16' into maintFredrik Gustafsson
2013-08-23Merge branch 'maint-r15' into maint-r16Fredrik Gustafsson
Conflicts: lib/inets/doc/src/notes.xml lib/inets/src/http_lib/http_transport.erl lib/inets/src/inets_app/inets.appup.src lib/inets/vsn.mk lib/ssl/doc/src/notes.xml lib/ssl/src/ssl.appup.src lib/ssl/src/ssl.erl lib/ssl/src/ssl_internal.hrl lib/ssl/src/tls_connection.erl lib/ssl/vsn.mk
2013-08-23Merge branch 'lukas/erts/crash_dump_acul/OTP-11264' into maintLukas Larsson
* lukas/erts/crash_dump_acul/OTP-11264: erts: Fix print out of acul option in crash dump
2013-08-23Merge branch 'lukas/erts/efile_undef_behaviour/OTP-11246' into maintLukas Larsson
* lukas/erts/efile_undef_behaviour/OTP-11246: erts: Fix bug in translating ev macros to functions
2013-08-23erts: Fix print out of acul option in crash dumpLukas Larsson
2013-08-23Merge branch 'maint-r15' into maint-r16Björn Gustavsson
Note that this is a fake merge. The bug fix changes files that are no longer present in maint, and the bug will need to be fixed in a different way. * maint-r15: Prepare release PER, UPER: Fix encoding/decoding of open types greater than 16K
2013-08-22Merge branch 'jw/fix-httpd-erl-script-nocache/OTP-11260' into maintFredrik Gustafsson
* jw/fix-httpd-erl-script-nocache/OTP-11260: inets: added simple testcase for option erl_script_nocache Fix httpd config option 'erl_script_nocache'
2013-08-22Merge branch 'hb/stdlib/correct_fread_spec/OTP-11261' into maintHans Bolinder
* hb/stdlib/correct_fread_spec/OTP-11261: Correct the specifications of io_lib:fread/2,3
2013-08-21Correct the specifications of io_lib:fread/2,3Hans Bolinder
Thanks to Chris King and Kostis Sagonas for pinpointing the bug.
2013-08-21Update release notesErlang/OTP
2013-08-21Merge branch 'fredrik/inets/ssl/fixup_log_alert_option/OTP-11259' into maint-r15Erlang/OTP
* fredrik/inets/ssl/fixup_log_alert_option/OTP-11259: [inets, ssl]: make log_alert configurable as option in ssl, SSLLogLevel added as option to inets conf file
2013-08-21Merge branch 'maint-r15' into maintBjörn Gustavsson
Note that this is a fake merge. The bug fix changes files that are no longer present in maint, and the bug will need to be fixed in a different way. * maint-r15: Prepare release PER, UPER: Fix encoding/decoding of open types greater than 16K
2013-08-21inets: added simple testcase for option erl_script_nocacheFredrik Gustafsson
2013-08-21Merge branch 'fh/start-all/OTP-11250' into maintFredrik Gustafsson
* fh/start-all/OTP-11250: kernel: fix documentation regarding ensure_all_started endtag Updated primary bootstrap Add application:ensure_all_started/1-2
2013-08-21[inets, ssl]: make log_alert configurable as option in ssl, SSLLogLevel ↵Fredrik Gustafsson
added as option to inets conf file
2013-08-21Merge branch 'hb/stdlib/dets_bugfix/OTP-11245' into maintHans Bolinder
* hb/stdlib/dets_bugfix/OTP-11245: Fix a Dets bug concerning traversal of tables
2013-08-21Merge branch 'fredrik/ssh/correct_doc_timeout/OTP-11249' into maintFredrik Gustafsson
* fredrik/ssh/correct_doc_timeout/OTP-11249: ssh: clarified timeout options
2013-08-21Merge branch 'hb/stdlib/erl_lint_fix/OTP-11256' into maintHans Bolinder
* hb/stdlib/erl_lint_fix/OTP-11256: Fix a bug in the linter regarding the 'fun M:F/A' construct
2013-08-21Merge branch 'lpg/openssh_zlib/OTP-11256' into maintFredrik Gustafsson
* lpg/openssh_zlib/OTP-11256: ssh: added basic connection testcase for openssh zlib Add openssh_zlib compression type to ssh_transport
2013-08-20erts: Fix bug in translating ev macros to functionsLukas Larsson
2013-08-20ssh: added basic connection testcase for openssh zlibFredrik Gustafsson
2013-08-20Fix a bug in the linter regarding the 'fun M:F/A' constructHans Bolinder
If the fun M:F/A construct was used erroneously the linter could crash. Thanks to Mikhail Sobolev for reporting the bug.
2013-08-20erlc_SUITE: Test the -M* optionsBjörn Gustavsson
2013-08-20Added primary bootstrapFredrik Gustafsson
2013-08-20erts: fixed documentation regarding tty and arrow keysFredrik Gustafsson
2013-08-20kernel: fix documentation regarding ensure_all_started endtagFredrik Gustafsson
2013-08-20Updated primary bootstrapFredrik Gustafsson
2013-08-20ssh: clarified timeout optionsFredrik Gustafsson
2013-08-19Merge branch 'bjorn/compiler/beam_bool-crash/OTP-11240' into maintBjörn Gustavsson
* bjorn/compiler/beam_bool-crash/OTP-11240: Fix compiler crash for 'B and B' guard
2013-08-19Merge branch 'fredrik/mnesia/fix_removing_bup/OTP-11241' into maintFredrik Gustafsson
* fredrik/mnesia/fix_removing_bup/OTP-11241: mnesia: fix removal of bup file if not mnesia is started
2013-08-19Fix a Dets bug concerning traversal of tablesHans Bolinder
The bug was introduced in R16B. Thanks to Manuel Durán Aguete.
2013-08-19Merge branch 'lukas/erts/efile_undef_behaviour/OTP-11246' into maintLukas Larsson
* lukas/erts/efile_undef_behaviour/OTP-11246: erts: Refactor non-pure macros to functions
2013-08-19Merge branch 'mh/line-initial-commas/OTP-11242' into maintFredrik Gustafsson
* mh/line-initial-commas/OTP-11242: Inside parentheses, line-initial commas align with the open parenthesis
2013-08-16mnesia: fix removal of bup file if not mnesia is startedFredrik Gustafsson
2013-08-15Fix compiler crash for 'B and B' guardBjörn Gustavsson
2013-08-14Merge branch 'sg/odbcserver_crash_fix/OTP-11233' into maintFredrik Gustafsson
* sg/odbcserver_crash_fix/OTP-11233: Added a few input checks which prevent odbcserver crash if it's executed and supplied incorrect data to stdin. A crash example:
2013-08-14Merge branch 'fredrik/erts/fix_binary_part_doc/OTP-11239' into maintFredrik Gustafsson
* fredrik/erts/fix_binary_part_doc/OTP-11239: erts: fixed doc regarding binary_part
2013-08-14erts: fixed doc regarding binary_partFredrik Gustafsson
2013-08-13erts: Refactor non-pure macros to functionsLukas Larsson
This is needed as some gcc versions seems to optimize this undefined behaviour in a way which breaks this code.
2013-08-12Merge branch 'siri/runtime_tools/dbg-silent/otp-11222' into maintSiri Hansen
* siri/runtime_tools/dbg-silent/otp-11222: Allow 'silent' flag to be set with dbg:p/2