Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
NIF function prototypes in order to allow more than 3 function
arguments. Also an incompatible change in the return value of
erlang:load_nif/2. Added support for references, floats and term
comparison in NIFs. Read more in the documentation of erl_nif and
erlang:load_nif/2.
|
|
Debug trace output for connection activity could be enabled
setting the trace level as an integer to the EI_TRACELEVEL
environment variable. This option could also be read and set from
a running program using ei_get_tracelevel(void) and
ei_set_tracelevel(int).
|
|
NIF function prototypes in order to allow more than 3 function
arguments. Also an incompatible change in the return value of
erlang:load_nif/2. Added support for references, floats and term
comparison in NIFs. Read more in the documentation of erl_nif and
erlang:load_nif/2.
|
|
The .gitignore files ignores everything in the bootstrap/bin
directory, includ checked-in *.boot and *.script files.
That makes it impossible to check in updates to those files
without using the -f (force option) with "git add".
Fix this by adding a negated pattern for script and boot files.
|
|
* ay/split_binary_docfix:
documentation: Fix erlang:split_binary/2 Pos argument
|
|
Debug trace output for connection activity could be enabled
setting the trace level as an integer to the EI_TRACELEVEL
environment variable. This option could also be read and set from
a running program using ei_get_tracelevel(void) and
ei_set_tracelevel(int).
|
|
The correct value for the second argument to erlang:split_binary/2
(Pos) is 0, not 1.
|
|
|
|
|
|
* dgud/wx_filedialog_bug:
The generated updates, of the previous fix.
Fixed generation of wxFileDialog:getPaths/1.
OTP-8330 Corrected incorrectly generated wxFileDialog:getPaths/1. Reported
by Jason/hornja.
|
|
|
|
|
|
* mh/to_erl-error-messages:
to_erl: Include strerror(errno) in error messages
OTP-8325 to_erl will now include the system error string in error messages
to make it easier to understand what the real problem is. (Thanks
to Magnus Henoch.)
|
|
|
|
* sv/sys_get_status:
Teach sys:get_status/1,2 to call Mod:format_status/2
gen_fsm: Fix format_status/2 to handle Pids
OTP-8324 The ability for the gen_server and gen_fsm callback modules to
format their own state for display under the sys:get_status/1,2
calls has been restored and documented. (Thanks to Steve
Vinoski.)
|
|
|
|
|
|
|
|
|
|
erl_eterm.xml.
|
|
|
|
|
|
In the transition from SGML to XML (several releases ago),
bugs were introduced in the documentation, for instance
"\n" replaced by newlines. Correct those bugs.
Also correct double backslashes. They seem to have been introduced very
early in the development of OTP. According to Lars they "solved" a bug
in the generation of HTML &c. Now that standard tools are used instead
of docbuilder, the bug has become visible.
|
|
Restore the ability for gen_server and gen_fsm callback
modules to format their own state for display under the
sys:get_status/1,2 calls.
This ability is extremely useful for new behavior modules
based on gen_server or gen_fsm, so that they can display
their status in a more meaningful way than just dumping
the state record. It is also generally useful for applications
wanting to display their gen_server or gen_fsm callback module
state in something other than the default manner.
Also document the previously undocumented the
gen_server:format_status/2 and gen_fsm:format_status/2 optional
callback functions that, if exported by the callback module, are
invoked when sys:get_status/1,2 are called.
Add unit tests to ensure that format_status/2 functions exported
from a gen_fsm callback module and a gen_server callback module
are called when sys:get_status/1,2 are called.
|
|
The MIB compiler in the snmp applications formats its warnings slightly
differently, so we'll need to update the regexp that should match the
expected output.
|
|
short-circuit expressions in guards.
|
|
* ks/dialyzer-wx-fix:
dialyzer: make -wx always start the SMP emulator
|
|
* bg/make_stub_module-fix:
Fix glitches when native code modules are used
|
|
* bg/on_load-types:
Add type information for on_load
|
|
* egil/readme-debug-emulator:
README: Add build instructions for a debug-enabled emulator
|
|
* ng/readme:
Clean up formatting issues in the README
|
|
Note that although the copyright markers may seem ugly,
they must be there to facilitate automatic updating of
the copyright text.
|
|
|
|
The erlang:make_stub_module/3 BIF (which is only used for
loading native code) does not zero the word that points out
an on_load routine (if any). As that word most proably will
contain a non-zero value, the erlang:module_loaded/1 BIF will
think that the module has an on_load routine which has not
returned and will always return 'false'. That in turns causes
various problems for the native code test cases.
|
|
gen_fsm:format_status/2 currently crashes if Name in the process
state is a Pid.
Handle Name in the same way as in gen_server:format_status/2
to eliminate the crash.
|
|
to_erl likes to print the message "No running Erlang on pipe ...",
no matter what the problem actually was. The wording might make
you forget that you just need to run to_erl as another user,
for example.
With this change, to_erl will print the system error message
in addition to its own.
Example output:
No running Erlang on pipe pipes/erlang.pipe.5: Permission denied
(wrong user, wrong permissions, etc)
No running Erlang on pipe pipes/erlang.pipe.5: No such device or address
(this actually means "no running Erlang")
No running Erlang on pipe pipes/erlang.pipe: No such file or directory
(not only is there no running Erlang, there are also no pipes at all)
|
|
The wx application will only work in the SMP emulator,
so the -wx option for 'dialyzer' must force the -smp
option when starting the emulator.
Make sure that -wx in *any* position on the command
line (not only as the first argument) forces the
SMP emulator.
|
|
* refs/remotes/origin/dgud/array_tests:
Added more tests for array:reset/2.
|
|
The on_load feature introduced in R13B03 adds two new internal
BIFs and extends the return value of erlang:load_module/2.
|
|
Code coverage was bad for my new optimizations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|