sofs:partition/2
has been fixed.
c:memory()
only reported half of the amount of
ets
memory allocated on 64-bit architectures. This bug has
now been fixed.
file_sorter
are now more unique than they used to be.
Dets
that could cause a loop has been fixed.
andalso
and orelse
).
Dets
that could crash the Dets server has been
fixed.
erl_tar
and
filelib
are now documented.
-include
and -include_dir
directives
substitute environment variable values for first path components
beginning with a $
(dollar) sign.
dets:is_compatible_bchunk_format/2
to be used
in conjunction with the new info tag bchunk_format
.
exprs/4
, expr/4
and
expr_list/4
in the erl_eval
module add the
possibility to supply a function that handles calls to nonlocal
functions.
proc_lib
for spawning processes
using a fun: spawn/1,2
, spawn_link/1,2
, and
spawn_opt/2,3
. spawn_opt/5
is new as well.
The reason for making all spawn
functions in
erlang(3)
accessible from proc_lib
is that
when SASL is running you get crash reports for processes started using
proc_lib
, something that comes in handy during debugging.
A http state bug in inet_drv (affecting gen_tcp) has been fixed. Patch from Claes Wikström.
A bug in defining max number of ports has been fixed. Patch from Claes Wikström.
A bug in erlang:port_call/3 when calling a driver with a NULL driver struct ->call field has been fixed. Patch from Luke Gorrie.
There is a new function file:script/1,2 that does the same as file:eval/1 but gives a return value. For completness, file:path_script/2,3, file:eval/2 and file:path_eval/3 are also added. Suggestion from Ulf Wiger. See the documentation for details.
erlang:trace/3
did no clear
trace flags on processes that were exiting. This bug has now been
fixed.
The gen_udp options add_membership
and
drop_membership
are now allowed. Patch from Vance Shipley.
gen_udp:open/1,2
with service name instead of port
number now works. Patch from carlos@lfcia.org.
An unjustified
compiler warning when using an explicit space character as pad
character to io:format/2
and similar has been removed.
If an illegal node name is used to start a node, now
net_kernel
fails noisily instead of just letting the node
start in non-distributed mode.
Now
gen_server:format_status/2
also works with non-registered
processes.
There are two new functions
erlang:list_to_integer/2
and
erlang:integer_to_list/2
that takes a number base
argument. See the documentataion for details.
New format characters
for io:format/2
and similar are ~b, ~B, ~x, ~X, ~+ and ~#.
See the documentaion for details.
New format characters for
io:fread/2
and similar are ~u, ~- and ~#. See the
documentation for details.
The token scanner erl_scan
has been rewritten to become twice as fast as before. Now, incomplete
any-base numbers such as "16#" are regarded as errors instead of as
zero. The allowed base number range has been extended to 2..36 instead
of previously 2..16.
There is a new function
lists:split/2
. See the documentation.
For everyone that
has written their own function to calculate the time difference between
two now()
calls there is now
timer:now_diff/2
. See the documentation.
(Own Id: OTP-4747)
lists:sort/2
and lists:merge/3
were not
stable. lists:ukeysort/3
and lists:usort/2
could leave duplicates. A bug in lists:umerge/3
has been
fixed.
delete_object
after insert
on a table of set
type could cause crash; it was sometimes
impossible to open a fragmented table; init_table
did not
always call InitFun
exactly once;
delete_all_objects
did not handle fixed tables correctly.
(Own Id: OTP-4268)
erl_lint
module. The compile
options due to erl_lint
are now documented in
compile(3)
.
sofs:drestriction/3
has been fixed.
file_sorter
module now recognises a format called
binary
which compares binaries using the standard order of
terms.
init_table
recognizes the new options
min_no_slots
and format
. The new function
bchunk
can be used in conjunction with
init_table
for copying open tables efficiently.
file_sorter
module now provides an easy way of passing
a value from input functions to output functions: if the last input
function returns {end_of_input, Value}
, the first output
function is called with the argument {value, Value}
.
sofs:extension/3
and
sofs:partition/3
.