Age | Commit message (Collapse) | Author |
|
Compile below module resulting incorrect warning:
$ cat tmp.erl
-module(tmp).
-export([tmp/1]).
-include_lib("stdlib/include/ms_transform.hrl").
tmp(X) when X > 100 ->
Y=X,
Y;
tmp(X) ->
ets:fun2ms(fun(Y) -> {X, Y} end).
$ erlc tmp.erl
./tmp.erl:8: Warning: variable 'Y' shadowed in ms_transform fun head
The scope for a variable is its function clause. Variables bound in one
function clause should not interfere with other function clauses.
This patch removes incorrect passing of variable bindings from one
function clause to another.
Signed-off-by: Haitao Li <[email protected]>
|
|
* va/httpd-typo-fix:
Typofix in httpd_file:handle_error message
OTP-9524
|
|
* ia/ssl/dialyzer-spec-correction:
Corrected faulty dialyzer spec
|
|
|
|
If a path was given as ONLY 'ebin' and not for example './ebin', then
systools:make_tar would fail with a function_clause exception in
filename:join/1. The bug was in systools_make:appDir/1, which tried to
find the parent directory of the given path. This function now uses
library functions filename:basename and filename:dirname instead of
general list manipulations.
|
|
* siri/sasl/check_process_code/OTP-9395:
Add option purge to release_handler:check_install_release
Improve performance of upgrade when many processes have old code
|
|
|
|
Given this option, all modules that are to be purged by indicated
upgrade,and that can be soft purged, will be purged when all other
check of check_install_release have been successfully completed.
I added a note under install_release in the reference manual about how
to use check_install_release with this new option in order to speed up
the execution of install_release.
I also added three more test cases for this functionality.
|
|
The functions zlib:deflateSetDictionary/2 and zlib:inflateSetDictionary/2
accept iodata() as Dictionary.
The functions zlib:crc32/2,3, zlib:adler32/2,3, zlib:compress/1,
zlib:uncompress/1, zlib:zip/1, and zlib:unzip/1 accept iodata() as
data.
|
|
* bjorn/deprecate-docbuilder/OTP-9509:
Deprecate the docbuilder application
|
|
* bjorn/erts/old-code-checking-improvements/OTP-9495:
Make the check_old_code/1 BIF auto-imported
|
|
* ia/odbc/stored-procedures-does-not-cleanup/OTP-9444:
When using output parameters the internal odbc state was not correctly cleaned causing the next call to param_query to missbehave.
|
|
cleaned causing the next call to param_query to missbehave.
Also corrected some test code
|
|
* lukas/test_server/fix_suite_compile_error/OTP-9517:
Move test_server_test_lib.hrl to test release dir
|
|
* hb/spec_improvements/OTP-9485:
Improve and correct types and specifications in Kernel and STDLIB
|
|
* lukas/common_test/cth_prio/OTP-9445:
Fix a couple of minor bugs with hook priority
Update to reflect addition of CTH priority addition
Update CTH priority default to be 0
Update to reflect new cth callback api
Update the return from init/2 to be {ok, NewState} or {ok,NewState,Priority} instead of NewState.
Add priority functionality and tests for ct hooks
Update internal hooks state to use a record instead of tuples
|
|
* rc/stdlib-edoc-fix:
fix broken edoc annotations
OTP-9516
|
|
* pl/no_bat_files_none_win32:
Do not install *.bat files on non-win32 machines
OTP-9515
|
|
* fm/gen_tcp_udp_doc_packet_type:
Fix type of Packet arg of gen_tcp:send/2 and gen_udp:send/4
OTP-9514
|
|
* ta/wx-obsolete-guard:
wx: fix obsolete guard warning (list/1)
OTP-9513
|
|
* ta/hipe_cleanup:
Clean up hipe.hrl.src (Signed-off-by: Kostis)
OTP-9511
|
|
|
|
check_old_code/1 was documented to be auto-imported, but in fact
was not auto-imported. Since check_process_code/2 and the other
code loading BIFs are now auto-imported, for consistency auto-import
check_old_code/1 too.
|
|
|
|
* ia/ssl/use-inet-and-gen-specs:
Use inet and gen_* dialyzer specs
|
|
|
|
The bugs caused the sorting priority to be wrong when using
installed priority and built in priority. Tests to prove the
order of hooks to be correct have also been added.
|
|
|
|
|
|
|
|
instead of NewState.
NewState can still be returned, but is only kept for backward compatability reasons.
|
|
Priority allows the user of ct hooks to specify which order the hooks should execute in. The priority of a hook is specified when installing the hook, and stays the same for both pre and post hooks
|
|
|
|
Running Dialyzer on the test suites revealed a few type errors.
|
|
|
|
* rc/eunit-2.2.0:
Updated to EUnit version 2.2.0
OTP-9505
|
|
New macros assertNotMatch(Guard, Expr), assertNotEqual(Unexpected, Expr),
and assertNotException(Class, Term, Expr).
The debugMsg macro now also prints the pid of the current process.
When testing all modules in a directory, tests in <Module>_tests.erl are
no longer executed twice.
The use of 'regexp' internally has been replaced with 're'.
|
|
* ta/teach_emacs_yecc_and_leex_compile:
Teach the emacs mode to compile yecc and leex files
OTP-9503
|
|
If visiting a .yrl or .xrl file in emacs with erlang-mode,
then the `erlang-compile' function (normally bound to C-c C-k),
now knows how to compile yecc and leex files, and then, if that
compilation succeeds, also compiles the resulting .erl files.
Also introduce a `erlang-compile-command-function-alist'
to make it possible to hook in other functions for computing
compilation commands/expressions, depending on file name.
|
|
OTP-9502
|
|
This commit utilizes the new bif erlang:check_old_code/1 to check if a
module has old code in the system or not before running
erlang:check_process_code/2. This is to optimize
release_handler:install_release (and
release_handler:check_install_release).
A new test is added which checks that after traversing all
processes/modules once and purging all old code, the second run
through this part of the code is "sufficiently" much faster.
A note is also added in the reference manual for
release_handler:install_release about how to go around the efficiency
problem of this function.
|
|
* rz/add_proplist_type:
Add a proplist() type
OTP-9499
|
|
* ml/two-trivial-documentation-fixes:
Fix trivial documentation errors
OTP-9498
|
|
The type is marked as a binary() or a string() but in practice it can
be an iodata(). The test suite was updated to confirm the gen_tcp/2
and gen_udp:send/4 functions accept iodata() (iolists) packets.
|
|
When the test environment supports a newer Postgres driver,
(newer than psqlODBC 08.04.0200) the utf8 test case should work
as expected and can be enabled again.
|
|
* hb/inet_types_and_specs/OTP-9260:
Improve types and specifications of the inet modules
|
|
While at it, eliminate an unnecessary use of throw/catch in the
implementation of soft_purge/1.
|
|
|
|
|
|
Add erlang:check_old_code/1 to quickly check whether a module
has old code. If there is no old code, there is no need to call
erlang:check_process_code/2 for all processes, which will save
some time if there are many processes.
|