31
31
<p>This document describes the changes made to the STDLIB application.</p>
33
<section><title>STDLIB 1.16.5</title>
35
<section><title>Fixed Bugs and Malfunctions</title>
39
Because of a race condition, using filelib:ensure_dir/1
40
from multiple processes to create the same path or parts
41
of the same directory structure, filelib:ensure_dir/1
42
could return a meaningless {error,eexist}. That race
43
condition has been eliminated, and {error,eexist} will
44
now be returned only if there exists a regular file,
45
device file, or some other non-directory file with the
46
same name. (Thanks to Tuncer Ayaz.)</p>
51
<p>A number of bugs concerning re and unicode are
53
<p>re:compile no longer looses unicode option, which also
54
fixes bug in re:split.</p>
55
<p>re:replace now handles unicode charlist replacement
57
<p>re:replace now handles unicode RE charlist argument
59
<p>re:replace now handles binary unicode output correctly
60
when nothing is replaced.</p>
61
<p>Most code, testcases and error isolation done by Rory
68
The loading of native code was not properly atomic in the
69
SMP emulator, which could cause crashes. Also a per-MFA
70
information table for the native code has now been
71
protected with a lock since it turns that it could be
72
accessed concurrently in the SMP emulator. (Thanks to
73
Mikael Pettersson.)</p>
79
user.erl (used in oldshell) is updated to handle unicode
80
in prompt strings (io:get_line/{1,2}). io_lib is also
81
updated to format prompts with the 't' modifier (i.e. ~ts
84
Own Id: OTP-8418 Aux Id: OTP-8393 </p>
88
The re module: A regular expression with an option change
89
at the start of a pattern that had top-level alternatives
90
could cause overwriting and/or a crash. (Thanks to
99
<section><title>Improvements and New Features</title>
103
The ability for the gen_server and gen_fsm callback
104
modules to format their own state for display under the
105
sys:get_status/1,2 calls has been restored and
106
documented. (Thanks to Steve Vinoski.)</p>
112
c:nc/{1,2} used to assume that the beam file was created
113
in the same directory as the source code and failed to
114
load the code if it was not. Corrected to look for the
115
beam file in the current directory or in the directory
116
specified by the <c>{outdir,Dir}</c> option. (Thanks to
122
<p>The documentation is now possible to build in an open
123
source environment after a number of bugs are fixed and
124
some features are added in the documentation build
126
<p>- The arity calculation is updated.</p>
127
<p>- The module prefix used in the function names for
128
bif's are removed in the generated links so the links
130
"http://www.erlang.org/doc/man/erlang.html#append_element-2"
132
"http://www.erlang.org/doc/man/erlang.html#erlang:append_element-2".</p>
133
<p>- Enhanced the menu positioning in the html
134
documentation when a new page is loaded.</p>
135
<p>- A number of corrections in the generation of man
136
pages (thanks to Sergei Golovan)</p>
137
<p>- The legal notice is taken from the xml book file so
138
OTP's build process can be used for non OTP
145
Shell tab completion now works for quoted module and
146
function names. (Thanks to Ulf Wiger.)</p>
152
Explicit top directories in archive files are now
155
For example, if an archive (app-vsn.ez) just contains an
156
app-vsn/ebin/mod.beam file, the file info for the app-vsn
157
and app-vsn/ebin directories are faked using the file
158
info from the archive file as origin. The virtual
159
direcories can also be listed. For short, the top
160
directories are virtual if they does not exist.</p>
165
<p>Macros overloading has been implemented. (Thanks to
166
Christopher Faulet.)</p>
171
<p>The new function <c>shell:prompt_func/1</c> and the
172
new application configuration parameter
173
<c>shell_prompt_func</c> can be used for customizing the
174
Erlang shell prompt.</p>
180
Improved handling of typed records in escripts</p>
186
Added supervisor:count_children/1 to count the number of
187
children being managed without the memory impact of
188
which_children/1. (Thanks to Jay Nelson.)</p>
33
197
<section><title>STDLIB 1.16.4</title>
35
199
<section><title>Improvements and New Features</title>