Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
* nox/match-context-return/OTP-11247:
Added primary bootstrap
Forbid returning a match context in beam_validator
|
|
* 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
|
|
* alexrp/export_edge/OTP-11266:
Export the edge/0 type from the digraph module
|
|
* epa/add_fd_usage_in_rb/OTP-11252:
kernel: sasl: fixed rb.xml docs
Add Fd usage in rb logging
|
|
|
|
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
|
|
* jw/fix-httpd-erl-script-nocache/OTP-11260:
inets: added simple testcase for option erl_script_nocache
Fix httpd config option 'erl_script_nocache'
|
|
Thanks to Chris King and Kostis Sagonas for pinpointing the bug.
|
|
|
|
* 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
|
|
|
|
* fh/start-all/OTP-11250:
kernel: fix documentation regarding ensure_all_started endtag
Updated primary bootstrap
Add application:ensure_all_started/1-2
|
|
added as option to inets conf file
|
|
* hb/stdlib/dets_bugfix/OTP-11245:
Fix a Dets bug concerning traversal of tables
|
|
* fredrik/ssh/correct_doc_timeout/OTP-11249:
ssh: clarified timeout options
|
|
* hb/stdlib/erl_lint_fix/OTP-11256:
Fix a bug in the linter regarding the 'fun M:F/A' construct
|
|
* lpg/openssh_zlib/OTP-11256:
ssh: added basic connection testcase for openssh zlib
Add openssh_zlib compression type to ssh_transport
|
|
|
|
If the fun M:F/A construct was used erroneously the linter could
crash.
Thanks to Mikhail Sobolev for reporting the bug.
|
|
|
|
|
|
* bjorn/compiler/beam_bool-crash/OTP-11240:
Fix compiler crash for 'B and B' guard
|
|
* fredrik/mnesia/fix_removing_bup/OTP-11241:
mnesia: fix removal of bup file if not mnesia is started
|
|
The bug was introduced in R16B.
Thanks to Manuel Durán Aguete.
|
|
* mh/line-initial-commas/OTP-11242:
Inside parentheses, line-initial commas align with the open parenthesis
|
|
|
|
|
|
* 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:
|
|
* siri/runtime_tools/dbg-silent/otp-11222:
Allow 'silent' flag to be set with dbg:p/2
|
|
* ia/ssl/header-bug/OTP-11230:
ssl: Revert faulty header option fix
|
|
* ia/ssl/setopt-renegotiation-bug/OTP-11228:
ssl: Setopts during renegotiation caused the renegotiation to be unsuccessful.
|
|
|
|
|
|
|
|
The code was changed in the belife that it made it inet compatible.
However the testing is a bit hairy as the inet option is acctualy
broken, now the tests are corrected and the header option should work
in the same broken way as inet again, preferably use the bitsyntax
instead.
|
|
* lukas/smoketests/OTP-11221:
Add smoke tests
|
|
If calling setopts during a renegotiation the FSM state might change
during the handling of the setopts messages, this is now handled correctly.
|
|
|
|
|
|
Hi Fredrik,
> I've gotten some feedback from your review,
> You need to add documentation under Erts-> "User's Guide" -> "tty - A
> command line interface"
>
> You need to add testcase in interactive_shell_SUITE a simplified
> example of how this testcase could look like;
> ctrl_w_and_ctrl_u(_Conf) ->
> rtnode([{putline,""}, {putline, "2."}, {getline, "2"},
> {putline,"xxx yy"++[$\^w]++"."}, {getline,"xxx"}, {putline,"xxx
> yy"++[$\^u]++"z."}, {getline,"z"}],[]).
Please find an updated version of the patch attached to this e-mail. I
hope that you still accept it via e-mail because the former patch was
sent the same way ;-).
I have extended the documentation to list the new key combinations and
added tests to make sure they work.
Kind regards,
--
Dr. Stefan Zegenhagen
arcutronix GmbH
Garbsener Landstr. 10
30419 Hannover
Germany
Tel: +49 511 277-2734
Fax: +49 511 277-2709
Email: [email protected]
Web: www.arcutronix.com
*Synchronize the Ethernet*
General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer -
Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht
Hannover; Ust-Id: DE257551767.
Please consider the environment before printing this message.
>From ce4b827c78d18f39bb1146fd2959ffd7ae2b4bb6 Mon Sep 17 00:00:00 2001
From: Stefan Zegenhagen <[email protected]>
Date: Mon, 6 May 2013 14:39:07 +0200
Subject: [PATCH] [EDLIN] support a few more control keys
Add support for the following control keys that many users have become
accustomed to:
- <CTRL>+W : backward kill word
- <CTRL>+U : backward kill line
- <HOME> : goto start of line
- <END> : goto end of line
- <CTRL>+<LEFT> : backward word
- <CTRL>+<RIGHT> : forward word
It seems that the <CTRL>+<LEFT|RIGHT> control key sequences are
different between terminal emulators, therefore a few possible
combinations were added (similar to how libreadline is configured).
Documentation and tests are extended to reflect the new functionality.
|
|
* fredrik/xmerl/fix_doc/OTP-11224:
xmerl: fix typos
|
|
* origin/peppe/common_test/ct_log_updates:
Make the CT logger print to stdout if test_server is not running
Add test
Allow calls to ct:pal and ct:print even if CT is not running
OTP-11176
|
|
|
|
This flag, which silences call trace, can be set with erlang:trace/3,
but was not allowed in dbg:p/2. This has been corrected.
|
|
* fredrik/inet/clarify_doc_address/OTP-10676:
kernel: fixed specs to inet:ntoa/1
kernel: changed tests where inet_parse:ntoa/1 was used to inet:parse/1
kernel: added ntoa documentation and exported it in inet.erl
kernel: clarified inet:parse_address/1 referrering to old code
|
|
Smoke tests are meant to verify that a build of erlang has been successfull.
|
|
|
|
* mmalecki/fix-solaris/OTP-11213:
Fix compilation on Solaris
|