Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
klacke/otp
erlang/otp
AlainODea/otp
AugustoFernandes/otp
Chylis/otp
Ernovation/otp
Gustav-Simonsson/otp
IngelaAndin/otp
KennethL/otp
Kwisatx/otp
LittleForker/otp
LordIvan/otp
NicoK/otp
Oleh-ua/otp
RJ/otp
RaimoNiskanen/otp
RoadRunnr/otp
Vagabond/otp
a5an0/otp
abaire/otp
abs/otp
agnrus/otp
albsen/otp
andreas23/otp
andysan/otp
apage43/otp
archaelus/otp
aronisstav/otp
asvensson/otp
auser/otp
avtobiff/otp
ayakout/otp
b/otp
baryluk/otp
basho/otp
bazzbuzz/otp
benmmurphy/otp
billiob/otp
bjorng/otp
blackberry/Erlang-OTP
bmk/otp
bufflig/otp
bva/otp
bwhittle/otp
capflam/otp
carlosvarelap/otp
catap/otp
cebernard/otp
charleslaw/otp
chlorophil/otp
cipriancraciun/otp
copernickus/otp
couchbaselabs/otp
davidjulien/otp
dch/otp
ddossot/otp
ddrmanxbxfr/otp
dgud/otp
dizzyd/otp
djnym/otp
djui/otp
dnet/otp
dotsimon/otp
dozepih/otp
dreiss/otp
dudefrommangalore/otp
dumbbell/otp
dustin/otp
dym/otp
elaufis/otp
ellifrag/otp
errord/otp
essiene/otp
etnt/otp
etrepum/otp
faal/otp
falkevik/otp
fdmanana/otp
francesquini/otp-numa
galarsson/otp
gar1t/otp
garazdawi/otp
grisp/otp
gustehn/otp
hawk/otp
hdenes/otp
hio/otp
hntrmrrs/otp
hosszugabor/otp
hungc/Erlang-OTP
igorrs/otp
imrehorvath/otp
jakobc/otp
jaynel/otp
jdavisp3/otp
jinsky/otp
jlouis/otp
jmb202/otp
joearms/otp
joewilliams/otp
josevalim/otp
jotsen/otp
juanrh/otp
juranki/otp
k1complete/otp
kennystone/otp
khia/otp
kineticsocial/otp
kinogmt/otp
klajo/otp
klyr/otp
konradkaplita/otp
kostis/otp
kvakvs/otp
legoscia/otp
lemenkov/otp
lht/otp
margnus1/otp
marttikuparinen/otp
matthiasl/otp
mbbx6spp/otp
metajack/otp
midnightskinhead/otp
mino4071/otp
misterXavier/otp
mknofe/otp
mmullis/otp
mojombo/otp
mokele/otp
moonpolysoft/otp
nbowe/otp
ndim/otp
ngerakines/otp
nickie/otp
ninobrown/otp
nottwo/otp
nox/otp
nthauvin/otp
odysseasg/otp
ok2/otp
onlyafly/otp
parallella/otp
paulgray/otp
pguyot/otp
phm/otp
proxyles/otp
psyeugenic/otp
qoocku/otp
qqshfox/otp
rampage/otp
release-project/otp
rgumucio/otp
richcarl/otp
rickard-green/otp
rigtorp/otp
roques/otp
rost/otp
rtilder/otp
rzezeski/otp
samuelrivas/otp
sayrer/otp
secYOUre/otp
seth/otp
seven1240/otp
shino/otp
si14/otp
slfritchie/otp
smithwinston/otp
softlab-ntua/dtrace-percept
sofuture/otp
spawnthink/otp
svahne/otp
szktty/otp
tanguay65/otp
tcseke/otp
timh/otp
titaude30/otp
tmoertel/otp
tolbrino/otp
tomas-abrahamsson/otp
tonyrog/otp
tpodowd/otp
trapexit/otp
trondn/otp
tuncer/otp
up2u0609/otp
uwiger/otp
vinoski/otp
vito/otp
vladdu/otp
vorobev/otp
weicao/otp
wil/otp
xslogic/otp
yiannist/otp
ypatia/otp
yuvrajm/otp
zanson/otp
zgh/otp
zv/otp
Nothing to show
Choose a base branch
...
Choose a Head Repository
klacke/otp
erlang/otp
AlainODea/otp
AugustoFernandes/otp
Chylis/otp
Ernovation/otp
Gustav-Simonsson/otp
IngelaAndin/otp
KennethL/otp
Kwisatx/otp
LittleForker/otp
LordIvan/otp
NicoK/otp
Oleh-ua/otp
RJ/otp
RaimoNiskanen/otp
RoadRunnr/otp
Vagabond/otp
a5an0/otp
abaire/otp
abs/otp
agnrus/otp
albsen/otp
andreas23/otp
andysan/otp
apage43/otp
archaelus/otp
aronisstav/otp
asvensson/otp
auser/otp
avtobiff/otp
ayakout/otp
b/otp
baryluk/otp
basho/otp
bazzbuzz/otp
benmmurphy/otp
billiob/otp
bjorng/otp
blackberry/Erlang-OTP
bmk/otp
bufflig/otp
bva/otp
bwhittle/otp
capflam/otp
carlosvarelap/otp
catap/otp
cebernard/otp
charleslaw/otp
chlorophil/otp
cipriancraciun/otp
copernickus/otp
couchbaselabs/otp
davidjulien/otp
dch/otp
ddossot/otp
ddrmanxbxfr/otp
dgud/otp
dizzyd/otp
djnym/otp
djui/otp
dnet/otp
dotsimon/otp
dozepih/otp
dreiss/otp
dudefrommangalore/otp
dumbbell/otp
dustin/otp
dym/otp
elaufis/otp
ellifrag/otp
errord/otp
essiene/otp
etnt/otp
etrepum/otp
faal/otp
falkevik/otp
fdmanana/otp
francesquini/otp-numa
galarsson/otp
gar1t/otp
garazdawi/otp
grisp/otp
gustehn/otp
hawk/otp
hdenes/otp
hio/otp
hntrmrrs/otp
hosszugabor/otp
hungc/Erlang-OTP
igorrs/otp
imrehorvath/otp
jakobc/otp
jaynel/otp
jdavisp3/otp
jinsky/otp
jlouis/otp
jmb202/otp
joearms/otp
joewilliams/otp
josevalim/otp
jotsen/otp
juanrh/otp
juranki/otp
k1complete/otp
kennystone/otp
khia/otp
kineticsocial/otp
kinogmt/otp
klajo/otp
klyr/otp
konradkaplita/otp
kostis/otp
kvakvs/otp
legoscia/otp
lemenkov/otp
lht/otp
margnus1/otp
marttikuparinen/otp
matthiasl/otp
mbbx6spp/otp
metajack/otp
midnightskinhead/otp
mino4071/otp
misterXavier/otp
mknofe/otp
mmullis/otp
mojombo/otp
mokele/otp
moonpolysoft/otp
nbowe/otp
ndim/otp
ngerakines/otp
nickie/otp
ninobrown/otp
nottwo/otp
nox/otp
nthauvin/otp
odysseasg/otp
ok2/otp
onlyafly/otp
parallella/otp
paulgray/otp
pguyot/otp
phm/otp
proxyles/otp
psyeugenic/otp
qoocku/otp
qqshfox/otp
rampage/otp
release-project/otp
rgumucio/otp
richcarl/otp
rickard-green/otp
rigtorp/otp
roques/otp
rost/otp
rtilder/otp
rzezeski/otp
samuelrivas/otp
sayrer/otp
secYOUre/otp
seth/otp
seven1240/otp
shino/otp
si14/otp
slfritchie/otp
smithwinston/otp
softlab-ntua/dtrace-percept
sofuture/otp
spawnthink/otp
svahne/otp
szktty/otp
tanguay65/otp
tcseke/otp
timh/otp
titaude30/otp
tmoertel/otp
tolbrino/otp
tomas-abrahamsson/otp
tonyrog/otp
tpodowd/otp
trapexit/otp
trondn/otp
tuncer/otp
up2u0609/otp
uwiger/otp
vinoski/otp
vito/otp
vladdu/otp
vorobev/otp
weicao/otp
wil/otp
xslogic/otp
yiannist/otp
ypatia/otp
yuvrajm/otp
zanson/otp
zgh/otp
zv/otp
Nothing to show
Choose a head branch
dev
gh-pages
ia/erland/ssl/qc
ia/inets/http-client-cancel-request
ia/public_key/host_name_verify
ia/public_key/upper_bounds
ia/ssh/ctify-tests
ia/ssh/improve_docs
ia/ssh/one-connection-process/OTP-11363
ia/ssl-and-public_key/CRL/OTP-7045
ia/ssl/config/hash-signs
ia/ssl/connection_information
ia/ssl/decrypt-alert
ia/ssl/disable-md5-in-tls1.2
ia/ssl/dumb-clients
ia/ssl/ecc-gnutls
ia/ssl/false-alerts/OTP-11890
ia/ssl/hash-signs
ia/ssl/inherit/OTP-11897
ia/ssl/max-session
ia/ssl/max-sessions
ia/ssl/openssl-interop-tests
ia/ssl/openssl-zombi
ia/ssl/raimo/new-gen-state-machine/OTP-13065
ia/ssl/recv/OTP-11878
ia/ssl/stm
ia/ssl/unorded-cert-chain/OTP-12983
ia/ssl/user-suites-match-negotiated-version
ia/ssl/validator
ia/tls-client-hello-version
ia/tmanevik_inets/doc
ingela/DTLS-supported
ingela/dtls/fallback-SCSV
ingela/dtls/get-and-setopts
ingela/dtls/mac
ingela/dtls/retransmisssion-timers
ingela/dtls/seq-check
ingela/inets/httpd-chunk-post/OTP-14450
ingela/public_key/ssl/CRL-error-propagation
ingela/ssl-gen-statem/OTP-13464
ingela/ssl/ERL-166
ingela/ssl/add-ciphers-to-default/OTP-14760
ingela/ssl/cipher-suites-refactor
ingela/ssl/crypto/deprecated-rand_bytes
ingela/ssl/dtls-cookie
ingela/ssl/dtls-frag
ingela/ssl/dtls-gen-statem
ingela/ssl/dtls
ingela/ssl/hello-pause/ERL-169/OTP-14372
ingela/ssl/hs-stream
ingela/ssl/remove-deprecated
ingela/ssl/server-name-doc
ingela/ssl/test-cuddle
ingela/ssl/unorded-cert-chain/OTP-12983
ks/future-cleanups
maint
master
meta
pr/dtls
pu
r14
Nothing to show
Checking mergeability… Don’t worry, you can still create the pull request.
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jan 27, 2010
Fix re:replace/4 to handle unicode charlist Replacement argument
A bug in re:replace/4 causes a badarg exception to be thrown when the
Replacement argument is a charlist containing non-ascii codepoints.

The problem is that the code incorrectly assumes that the Replacement
text is iodata() and calls iolist_to_binary/1 on it. This patch fixes
it to obey the 'unicode' option and handle charlist() Replacement
arguments correctly.
Erlang/OTP
Erlang/OTP
Merge branch 'rb/stdlib_re_unicode_fixes' into ccase/r13b04_dev
* rb/stdlib_re_unicode_fixes:
  Fix lost unicode option in re:compile()
  Refactor out repeated block in re module
  Fix re:replace/4 to handle unicode charlist Replacement argument
  Fix re:replace/4 to handle unicode charlist RE argument
  Fix re:replace/4 to handle binary unicode output when nothing replaced

OTP-8394  A number of bugs concerning re and unicode are corrected:
          - re:compile no longer loses unicode option, which also fixes bug
            in re:split.
          - re:replace now handles unicode charlist replacement argument
          - re:replace now handles unicode RE charlist argument correctly
          - re:replace now handles binary unicode output correctly when
          nothing is replaced.

          Most code, testcases and error isolation done by Rory Byrne.
Mikael Pettersson and bjorng
fix hipe loader SMP non-atomicity error
Loading native code is a multi-step operation that needs to be
atomic, but the HiPE loader failed to ensure that.
This caused corruption of runtime system structure in some cases.

Fix by blocking multi_scheduling around main loader entry points.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Mikael Pettersson and bjorng
work around hipe_mfa_info_table lock omission
HiPE maintains per-MFA information such as native code entry
point in a table. This table was thought to be read-only at
runtime, except when the loader populates it, so it employed
no locking. That turned out to be incorrect: if there is an
apply of a previously unseen MFA, a native code stub for that
MFA is created and recorded in the table, causing it to grow.

Work around this for now by slapping a mutex around accesses
to that table.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Commits on Jan 29, 2010
lthor and Erlang/OTP
OTP-8343 The documentation is now possible to build in an open source
          environment after a number of bugs are fixed and some features
          are added in the documentation build process.

          - The arity calculation is updated.

          - The module prefix used in the function names for bif's are
          removed in the generated links so the links will look like
          "http://www.erlang.org/doc/man/erlang.html#append_element-2"
          instead of
          "http://www.erlang.org/doc/man/erlang.html#erlang:append_element-
          2".

          - Enhanced the menu positioning in the html documentation when a
          new page is loaded.

          - A number of corrections in the generation of man pages (thanks
          to Sergei Golovan)

          - The legal notice is taken from the xml book file so OTP's build
          process can be used for non OTP applications.
Move code skeletons to a separate file.
Use the updated skeletons from the Erlware Mode.
Test suites: fix creation of Emakefiles
The Emakefiles in some test suite directories are only appended
to, never created from scratch, which can cause problems
especially when swithching branches in a git repository.
stdlib tests: modernize guard tests
Don't change any guard tests in the id_transform_SUITE
module, because it intentionally use the old guard tests
to test that id_transform can handle them.
Commits on Jan 30, 2010
Erlang/OTP
Erlang/OTP
Merge branch 'mp/hipe-smp-fixes' into ccase/r13b04_dev
* mp/hipe-smp-fixes:
  work around hipe_mfa_info_table lock omission
  fix hipe loader SMP non-atomicity error

OTP-8397  The loading of native code was not properly atomic in the SMP
          emulator, which could cause crashes. Also a per-MFA information
          table for the native code has now been protected with a lock
          since it turns that it could be accessed concurrently in the SMP
          emulator. (Thanks to Mikael Pettersson.)
Erlang/OTP
Erlang/OTP
Merge branch 'ta/ensure_dir_eexist' into ccase/r13b04_dev
* ta/ensure_dir_eexist:
  filelib_SUITE: strenghten tests of filelib:ensure_dir/1
  Don't return a false {error,eexist} in filelib:ensure_dir/1

OTP-8389  Because of a race condition, using filelib:ensure_dir/1 from
          multiple processes to create the same path or parts of the same
          directory structure, filelib:ensure_dir/1 could return a
          meaningless {error,eexist}. That race condition has been
          eliminated, and {error,eexist} will now be returned only if there
          exists a regular file, device file, or some other non-directory
          file with the same name. (Thanks to Tuncer Ayaz.)
Teach the compiler the no_native option
Implement the 'no_native' option to disable native-code
compilation. If given in a module like this:

-compile(no_native).

it will override a 'native' option given on the command
line.
re tests: disable native-code compilation for huge modules
Two generated modules contains too big functions for the
native-code compiler to handle (even the BEAM compiler
struggles when compiling them).
compiler: make ignore_native_errors also handle internal hipe errors
We must also catch exits, not only errors, since the hipe
compilers does an exit/1 if an internal error is found.
Commits on Jan 31, 2010
Erlang/OTP
Erlang/OTP
Merge branch 'bg/cleanup-tests' into ccase/r13b04_dev
* bg/cleanup-tests:
  file_SUITE: eliminate a warning for an unused variable
  kernel tests: modernize guard tests
  unicode_SUITE: replace deprecated concat_binary/1 with list_to_binary/1
  stdlib tests: modernize guard tests
  Test suites: fix creation of Emakefiles
Commits on Feb 01, 2010
Erlang/OTP
Erlang/OTP
Merge branch 'bg/hipe-fixes' into ccase/r13b04_dev
* bg/hipe-fixes:
  compiler: make ignore_native_errors also handle internal hipe errors
  re tests: disable native-code compilation for huge modules
  Teach the compiler the no_native option
lthor and Erlang/OTP
OTP-8343 The documentation is now possible to build in an open source
          environment after a number of bugs are fixed and some features
          are added in the documentation build process.

          - The arity calculation is updated.

          - The module prefix used in the function names for bif's are
          removed in the generated links so the links will look like
          "http://www.erlang.org/doc/man/erlang.html#append_element-2"
          instead of
          "http://www.erlang.org/doc/man/erlang.html#erlang:append_element-
          2".

          - Enhanced the menu positioning in the html documentation when a
          new page is loaded.

          - A number of corrections in the generation of man pages (thanks
          to Sergei Golovan)

          - The legal notice is taken from the xml book file so OTP's build
          process can be used for non OTP applications.
Niclas Eklund Erlang/OTP
Niclas Eklund and Erlang/OTP
epp: fix bug in the function scan_undef
The dict St#epp.uses that helps to find circular macros was not correctly
updated.
epp: Add support of macros overloading
This feature simplifies the definition of macros by avoiding to have a
different name for each version (with different arities) of the same
macros. New rules:
- can have multiple definitions of the same macro with different arities
- cannot overload macro with the same arity
- the overloading of predefined macros (?MODULE, ?LINE, ...) is forbidden
- the directive '-undef' removes all definitions of a macro
epp: change rules to choose the right version of a macro
Now, when we have only the constant definition of a macro (without
arguments), we always use it. In all other cases, we try to find the
exact matching definition. We throw an error if we don't find it.
Commits on Feb 02, 2010
Add option to compress data when copying tables between Mnesia nodes
Optionally using data compression for copying Mnesia tables allows
the system to be tuned to eliminate network bottlenecks from
deployments where enough CPU is available to use zlib.

With this patch, running erl -mnesia send_compressed <level>
will enable compression for sending tables between nodes. The
compression level can be any integer in [0, 9], with 0 (the
default) meaning no compression (exactly the previous behaviour)
and 9 being the highest compression level.

To set any non-zero compression level at the sender, both nodes
must have the updated Mnesia modules (the receiver will work
according to the sender's configuration).
Erlang/OTP
Erlang/OTP
Merge branch 'sf/erl_match-longlong' into ccase/r13b04_dev
* sf/erl_match-longlong:
  erl_interface: Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms

OTP-8400  Allow erl_match() to match ERL_LONGLONG and ERL_U_LONGLONG terms
          (Thanks to Scott Lystig Fritchie).
Erlang/OTP
Erlang/OTP
Merge branch 'cf/epp-macro-overloading' into ccase/r13b04_dev
* cf/epp-macro-overloading:
  yecc_SUITE: Adjustment for modified error tuple
  epp_SUITE: Increase code coverage
  Minor corrections and clean-ups
  documentation: Macros overloading partly rewritten
  update the documentation on preprocessor in the reference manual
  epp: change rules to choose the right version of a macro
  epp: Add support of macros overloading
  epp: fix bug in the function scan_undef

OTP-8388  Macros overloading has been implemented. (Thanks to Christopher
          Faulet.)
klyr and bjorng
Add the +t emulator option to change the maximum number of atoms
It is now possible to increase or decrease the maximum number of atoms
the VM can handle. The default value is 1048576 (1024*1024).
Commits on Feb 03, 2010
rickard-green and Erlang/OTP
OTP-8386 Immediately repeated multi-scheduling block/unblock cycles u…
…sing

          erlang:system_flag(multi_scheduling, block | unblock) could
          deadlock the runtime system.
Håkan Mattsson Erlang/OTP
Håkan Mattsson and Erlang/OTP
OTP-8058 The GUI parts are rewritten to use wxWidgets. Thanks Olle
          Mattsson!

          For the time being it is still possible to use the old GS based
          version of the tool, but it is deprecated. The wxWidgets based
          version is started by default.

          A new tutorial has been added to the documentation. It is based
          on Jayson Vantuyl's article
          http://souja.net/2009/04/making-sense-of-erlangs-event-tracer.htm
          l.

          The functions et:trace_me/4 and et:trace_me/5 has been introduced
          in order to replace the deprecated functions et:report_event/4
          and et:report_event/5. Hopefully the new names makes it a little
          more obvious what the intended usage of the functions are.

          A print function has been added to the GUI, in order to enable
          printing of sequence charts.

          More functionality for hiding unwanted events has been added to
          the GUI.

          The max_events, hide_unknown and display_mode configuration
          parameters to et_viewer is not used any more. Now the event cache
          in the Viewer only contains those events that actually are
          displayed in the GUI.
Erlang/OTP
Erlang/OTP
Merge branch 'jb/atom-table-size' into ccase/r13b04_dev
* jb/atom-table-size:
  Add the +t emulator option to change the maximum number of atoms

OTP-8405  There is a new +t emulator option for changing the maximum number
          of atoms. (Thanks to Julien Barbot.)
Erlang/OTP
Erlang/OTP
Merge branch 'is/mnesia-send-compressed' into ccase/r13b04_dev
* is/mnesia-send-compressed:
  Add option to compress data when copying tables between Mnesia nodes

OTP-8406  Igor Ribeiro Sucupira added the option to compress data when
          copying tables between Mnesia nodes.
Håkan Mattsson Erlang/OTP
Håkan Mattsson and Erlang/OTP
OTP-8058 The GUI parts are rewritten to use wxWidgets. Thanks Olle
          Mattsson!

          For the time being it is still possible to use the old GS based
          version of the tool, but it is deprecated. The wxWidgets based
          version is started by default.

          A new tutorial has been added to the documentation. It is based
          on Jayson Vantuyl's article
          http://souja.net/2009/04/making-sense-of-erlangs-event-tracer.htm
          l.

          The functions et:trace_me/4 and et:trace_me/5 has been introduced
          in order to replace the deprecated functions et:report_event/4
          and et:report_event/5. Hopefully the new names makes it a little
          more obvious what the intended usage of the functions are.

          A print function has been added to the GUI, in order to enable
          printing of sequence charts.

          More functionality for hiding unwanted events has been added to
          the GUI.

          The max_events, hide_unknown and display_mode configuration
          parameters to et_viewer is not used any more. Now the event cache
          in the Viewer only contains those events that actually are
          displayed in the GUI.

          Some minor bugs has been fixed. Such as a cleaning up trace
          patterns at termination and displaying events with detail level
          100.
rickard-green and Erlang/OTP
OTP-8323 Cross compilation improvements and other build system
          improvements.

          Most notable:

          Lots of cross compilation improvements. The old cross compilation
          support was more or less non-existing as well as broken. Please,
          note that the cross compilation support should still be
          considered as experimental. Also note that old cross compilation
          configurations cannot be used without modifications. For more
          information on cross compiling Erlang/OTP see the
          $ERL_TOP/xcomp/README file.

          Support for staged install using <url
          href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
          ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
          For more information see the $ERL_TOP/README file.

          Documentation of the release target of the top Makefile. For more
          information see the $ERL_TOP/README file.

          make install now by default creates relative symbolic links
          instead of absolute ones. For more information see the
          $ERL_TOP/README file.

          $ERL_TOP/configure --help=recursive now works and prints help for
          all applications with configure scripts.

          Doing make install, or make release directly after make all no
          longer triggers miscellaneous rebuilds.

          Existing bootstrap system is now used when doing make install, or
          make release without a preceding make all.

          The crypto and ssl applications use the same runtime library path
          when dynamically linking against libssl.so and libcrypto.so. The
          runtime library search path has also been extended.

          The configure scripts of erl_interface and odbc now search for
          thread libraries and thread library quirks the same way as erts
          do.

          The configure script of the odbc application now also looks for
          odbc libraries in lib64 and lib/64 directories when building on a
          64-bit system.

          The config.h.in file in the erl_interface application is now
          automatically generated in instead of statically updated which
          reduces the risk of configure tests without any effect.
Commits on Feb 04, 2010
dgud and Erlang/OTP
OTP-8402 Transactions could be left hanging if a node went down when
          invoking mnesia:sync_transaction/[1,2]. Thanks Igor Ribeiro
          Sucupira.
Fix egd_render transparent to use float constants
The render engine has float guards to enhance beam code
generation. However, the default case used integers which
caused the engine to crash.

This is now fixed.
Commits on Feb 05, 2010
tuncer and Erlang/OTP
Fix typo in kernel/test/code_SUITE
There was a small typo in the doc function clause of ext_mod_dep.

Signed-off-by: Tuncer Ayaz <tuncer.ayaz@gmail.com>
uabboli and Erlang/OTP
OTP-8393 The new function shell:prompt_func/1 and the new application
          configuration parameter shell_prompt_func can be used for
          customizing the Erlang shell prompt.
Fix handling of archive (.ez) files in code:clash/0
code:clash/0 did not take into account .ez files
when listing contents of code path entries.
Using erl_prim_loader:list_dir/1 instead of
file:list_dir/1 fixes the problem.

Signed-off-by: Tuncer Ayaz <tuncer.ayaz@gmail.com>
Erlang/OTP
Erlang/OTP
Merge branch 'egil/gitignore' into ccase/r13b04_dev
* egil/gitignore:
  Ignore files generated when running/building tests
  Update .gitignore files

OTP-8411: egil/gitignore
Erlang/OTP
Erlang/OTP
Merge branch 'dgud/wx_list_ctrl' into ccase/r13b04_dev
* dgud/wx_list_ctrl:
  Generate without trailing spaces
  Fix correct starting copyright year
  Do not emit trailing whitespace
  Added tests for wxListCtrl:getItem/2.
  Added wxListCtrl:getEditCtrl (not available on Mac)

OTP-8408  Added wxListCtrl:getEditCtrl/1 (not available on Mac).
Commits on Feb 06, 2010
Add tests for code:clash/0
Add first batch of tests for code:clash/0.

Signed-off-by: Tuncer Ayaz <tuncer.ayaz@gmail.com>
Implement a non-blocking SCTP connect
This patch adds a new set of functions - gen_sctp:connect_init/* that initiate
an SCTP connection without blocking for the result. The result is delivered
asynchronously as an sctp_assoc_change event.

The new functions have the same API as documented for gen_sctp:connect/* with
the following exceptions:

* Timeout is only used to supervise resolving Addr (the peer address)
* The possible return values are ok | {error, posix()}

The caller application is responsible for receiving the #sctp_assoc_change{}
event and correctly determining the connect it originated from (for example,
by examining the remote host and/or port). The application should have at
least {active, once} or use gen_sctp:recv to retrieve the connect result.

The implementation of gen_sctp:connect suffers from a number of
shortcomings which the user may avoid by using gen_sctp:connect_init and
adding code to receive the connect result.

First, irrespective of the Timeout value given to gen_sctp:connect, the OS
attempts and retries the SCTP INIT according to various kernel parameters. If
the Timeout value is shorter than the entire attempt then the application will
still receive an sctp_assoc_change event after the {error, timeout} is
returned from the initial call. This could be somewhat confusing (either to
the application or the designer!) especially if the status is
comm_up. Subsequent calls to connect before the OS has finished this process
return {error, ealready} which may also be counter-intuitive.

Second, there is a race-condition (documented in comments in inet_sctp.erl)
that can cause the wrong sctp_assoc_change record to be returned to an
application calling gen_sctp:connect. The race seriously affects connection
attempts when using one-to-many sockets.
Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code
Compared to GNU as, Mac OS X's assembler uses different directives for
text and global sections, and omits type and size directives
entirely. We also need to mangle symbol names in order to allow
linking with C object files.
Fix hipe memory allocation problems on darwin/amd64
HiPE on amd64 needs to be able to allocate memory in the 0x20000000+
range so that compiled code will be addressable with 32bit pointers
(when sign extended). By default, when building 64bit executables on
OS X, PAGEZERO occupies the first 4GB of virtual memory. The PAGEZERO
segment cannot be mmap(ed) or vm_allocate(d) into.

To avoid this problem we use the -pagezero_size linker flag to reduce
the size of PAGEZERO and free up the 0x20000000+ space.
Commits on Feb 07, 2010
Erlang/OTP
Erlang/OTP
Merge branch 'ta/code_clash_ez' into ccase/r13b04_dev
* ta/code_clash_ez:
  code_SUITE: add missing is_list(Config) guard
  Add tests for code:clash/0
  Fix handling of archive (.ez) files in code:clash/0

OTP-8413  code:clash/0 now looks inside archives (.ez files). (Thanks to
          Tuncer Ayaz.)
Commits on Feb 08, 2010
Erlang/OTP
Erlang/OTP
Merge branch 'po/odbc-update-delete-no-rows' into ccase/r13b04_dev
* po/odbc-update-delete-no-rows:
  SQL_NO_DATA and SQLSTATE 00000 indicate success for updates/deletes that affect no rows
rickard-green and Erlang/OTP
OTP-8323 Cross compilation improvements and other build system
          improvements.

          Most notable:

          Lots of cross compilation improvements. The old cross compilation
          support was more or less non-existing as well as broken. Please,
          note that the cross compilation support should still be
          considered as experimental. Also note that old cross compilation
          configurations cannot be used without modifications. For more
          information on cross compiling Erlang/OTP see the
          $ERL_TOP/xcomp/README file.

          Support for staged install using <url
          href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
          ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
          For more information see the $ERL_TOP/README file.

          Documentation of the release target of the top Makefile. For more
          information see the $ERL_TOP/README file.

          make install now by default creates relative symbolic links
          instead of absolute ones. For more information see the
          $ERL_TOP/README file.

          $ERL_TOP/configure --help=recursive now works and prints help for
          all applications with configure scripts.

          Doing make install, or make release directly after make all no
          longer triggers miscellaneous rebuilds.

          Existing bootstrap system is now used when doing make install, or
          make release without a preceding make all.

          The crypto and ssl applications use the same runtime library path
          when dynamically linking against libssl.so and libcrypto.so. The
          runtime library search path has also been extended.

          The configure scripts of erl_interface and odbc now search for
          thread libraries and thread library quirks the same way as erts
          do.

          The configure script of the odbc application now also looks for
          odbc libraries in lib64 and lib/64 directories when building on a
          64-bit system.

          The config.h.in file in the erl_interface application is now
          automatically generated in instead of statically updated which
          reduces the risk of configure tests without any effect.
rickard-green and Erlang/OTP
OTP-8412 Fixed numerous compiler warnings generated by gcc 4.4.1 and
          tile-cc 2.0.1.78377 when compiling the runtime system.
Erlang/OTP
Erlang/OTP
Merge branch 'gc/hipe_darwin_amd64' into ccase/r13b04_dev
* gc/hipe_darwin_amd64:
  Fix hipe memory allocation problems on darwin/amd64
  Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code
  Automatically enable hipe for darwin/amd64 builds
  Allow configure to enable_hipe for darwin/amd64 builds

OTP-8416  HiPE now works in the 64-bit emulator on Mac OS X. (Thanks to
          Geoff Cant.)
Erlang/OTP
Erlang/OTP
Merge branch 'sc/sctp-connect-nowait' into ccase/r13b04_dev
* sc/sctp-connect-nowait:
  Implement a non-blocking SCTP connect

OTP-8414  There are new gen_sctp:connect_init/* functions that initiate an
          SCTP connection without blocking for the result. The result is
          delivered asynchronously as an sctp_assoc_change event. (Thanks
          to Simon Cornish.)
Add lock profiling tool
The Lock profiling tool, lcnt, can make use of the internal lock statistics
when the runtime system is built with this feature enabled.

This provides a mechanism to examine potential lock bottlenecks within
the runtime itself.
Add lcnt documentation
Documentation for the lock profiling tool
Add runtime option to enable/disable lcnt stats
Add erts_debug:lock_counters({copy_save, bool()}). This option
enables or disables statistics saving for destroyed processes and
ets-tables. Enabling this might consume a lot of memory.

Add id-numbering for lock classes which is otherwise undefined.
Commits on Feb 09, 2010
Mikael Pettersson and bjorng
hipe_unified_loader: only block SMP scheduling when necessary
This avoids costly scheduling changes during module loading if native
code is disabled in erts, or not present in the module being loaded.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
inet:gethostbyname improved to parse IP strings and look up own hostname
Now inet:gethostbyname tries to parse the hostname as an IP string
first if the 'native' lookup method is not used. One can also
make the IP string parsing explicit using the new 'string'
lookup method, or avoid it using the new pseudo lookup
method 'nostring'.

In R13B04 a bug was introduced when the gethostbyname code
was rewritten, so if the native resolver was used and
misconfigured to not be able to look up the own hostname,
inet:gethostbyname also failed. This is now fixed.
inet_gethost_native: workaround for empty result hostname on MacOS X
On MacOS X the getaddrinfo function apparently can return a result
without canonical hostname e.g when looking up a IPv6 address
string as hostname. The receiving erlang code was not prepared
for that and this patch does a workaround by using the
search string as default value for canonical hostname.
inet: delayed/avoided read of /etc/resolv.conf and /etc/hosts
The 'file' and 'dns' lookup methods configuration files
are now read and parsed at the time of the first lookup
instead of at boot time when per default none of these
lookup methods are used.
inet_res: /etc/resolv.conf: use domain as default search list
When the search list option in /etc/resolv.conf was empty, the
domain option was not used as default search domain.
That has been fixed in this patch.
tuncer and Erlang/OTP
Make newline in RHS of lib/configure sed substition more portable
Commit 1b78e85 introduces a non-portable escaped newline
character in the substitution string. It does not work as
expected.

On a Linux machine it inserts an additional blank line
and on OSX it only inserts a leading 'n' which gives you
a broken lib/configure script.

Signed-off-by: Tuncer Ayaz <tuncer.ayaz@gmail.com>
Add cross-compile configuration for Atmel AVR32-Linux (NGW100)
Implemented erl-xcomp-avr32-atmel-linux-gnu.conf to support cross compilation
of Erlang on Atmel's AVR32-Linux:  http://www.atmel.no/buildroot/
Built using a Ubuntu 9.10 host, with buildroot-2.3.0 and tested on on Atmel's
NGW100 development board.
Allow recursive types and check for undefined types
Contains four kinds of changes:
 * Allows recursive types and type definitions to be in any order.
 * Because the checking is not performed from top to bottom, there
   is a separate pass which checks for undefined module-local types.
 * Behaviour callbacks which allow specs in them.
 * Clean up the code as suggested by tidier.
erl_lint_SUITE: adjust failing test case
Errors are now reported slightly differently, so we'll
need to adjust the test case.
Bernard Duggan
Bernard Duggan
Fix minor documentation errors
Fix three minor typos and reorder one of a pair of lists of functions so that
the ordering is consistent.
Commits on Feb 10, 2010
stdlib: clean up as suggested by tidier
Hans Bolinder (the author/maintainer of qlc) prefers
for readability reasons to use length/1 in a guard
when it is known that the list is guaranteed to be
short, so the change suggested by tidier for line 875
of qlc_pt has not been included.
Fix ODBC compilation error on FreeBSD by adding netinet/in.h to #incl…
…ude macros

This fix modifies lib/odbc/c_src_odbcserver.c
This has been tested on FreeBSD port, and will not affect Linux.
Fix Makefile permission problem of crypto library on FreeBSD Erlang/O…
…TP building

This patch changes INSTALL_PROGRAM to INSTALL_DATA for the Makefile at
lib/crypto/priv/obj, which discontinues the building procedure of Erlang/OTP
on FreeBSD.  Originally posted by Giacomo Olgeni as a part of FreeBSD port
patch files.

See
http://www.erlang.org/cgi-bin/ezmlm-cgi?3:mss:335:200811:hijljjocpmpkhgkhfkdl
for the detailed analysis.
Erlang/OTP
Erlang/OTP
Merge branch 'rani/inet_gethostbyname_fixes' into ccase/r13b04_dev
* rani/inet_gethostbyname_fixes:
  inet_res_SUITE: testcase fixes for legacy DNS resolver (Solaris 8)
  inet_res: /etc/resolv.conf: use domain as default search list
  inet: delayed/avoided read of /etc/resolv.conf and /etc/hosts
  inet_gethost_native: workaround for empty result hostname on MacOS X
  inet_res_SUITE: testcase fix for empty domain name
  inet:gethostbyname improved to parse IP strings and look up own hostname

OTP-8426  The resolver routines failed to look up the own node name as
          hostname, if the OS native resolver was erroneously configured,
          bug reported by Yogish Baliga, now fixed.

          The resolver routines now tries to parse the hostname as an IP
          string as most OS resolvers do, unless the native resolver is
          used.

          The DNS resolver inet_res and file resolver inet_hosts now do not
          read OS configuration files until they are needed. Since the
          native resolver is default, in most cases they are never needed.

          The DNS resolver's automatic updating of OS configuration file
          data (/etc/resolv.conf) now uses the 'domain' keyword as default
          search domain if there is no 'search' keyword.
Erlang/OTP
Erlang/OTP
Merge branch 'mp/hipe_unified_loader' into ccase/r13b04_dev
* mp/hipe_unified_loader:
  hipe_unified_loader: only block SMP scheduling when necessary
Erlang/OTP
Erlang/OTP
Merge branch 'egil/egd_render' into ccase/r13b04_dev
* egil/egd_render:
  Fix egd_render transparent to use float constants

OTP-8425  Fix egd_render transparent to use float constants.

          The render engine has float guards to enhance beam code
          generation. However, the default case used integers which caused
          the engine to crash. This is now fixed.
Erlang/OTP
Erlang/OTP
Merge branch 'pan/enable_m32_build' into ccase/r13b04_dev
* pan/enable_m32_build:
  Teach configure --enable-m32-build for forcing a 32-bit build

OTP-8415  configure learned the option --enable-m32-build to force the
          building of a 32-bit run-time on systems where the default C
          compiler generates 64-bit executables by default.
compiler: keep line numbers for attributes
In the future, we might want to generate warnings
for attributes, referring to them with line numbers.

sys_pre_expand used to replace line number for attributes
with 0. Change sys_pre_expand to retain the real line
number.

v3_core used to throw away the line numbers. Change
v3_core so that it retains the line numbers in annotations.

While at it, do some tidying as suggested by tidier.
Erlang/OTP
Erlang/OTP
Merge branch 'ks/compiler' into ccase/r13b04_dev
* ks/compiler:
  compiler: keep line numbers for attributes
  compiler Makefile: alphabetize module names
  compile.erl: eliminate compiler warning
Erlang/OTP
Erlang/OTP
Merge branch 'ks/erl_lint' into ccase/r13b04_dev
* ks/erl_lint:
  erl_lint_SUITE: adjust failing test case
  Allow recursive types and check for undefined types

OTP-8421: ks/erl_lint
rickard-green and Erlang/OTP
OTP-8323 Cross compilation improvements and other build system
          improvements.

          Most notable:

          Lots of cross compilation improvements. The old cross compilation
          support was more or less non-existing as well as broken. Please,
          note that the cross compilation support should still be
          considered as experimental. Also note that old cross compilation
          configurations cannot be used without modifications. For more
          information on cross compiling Erlang/OTP see the
          $ERL_TOP/xcomp/README file.

          Support for staged install using <url
          href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
          ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
          For more information see the $ERL_TOP/README file.

          Documentation of the release target of the top Makefile. For more
          information see the $ERL_TOP/README file.

          make install now by default creates relative symbolic links
          instead of absolute ones. For more information see the
          $ERL_TOP/README file.

          $ERL_TOP/configure --help=recursive now works and prints help for
          all applications with configure scripts.

          Doing make install, or make release directly after make all no
          longer triggers miscellaneous rebuilds.

          Existing bootstrap system is now used when doing make install, or
          make release without a preceding make all.

          The crypto and ssl applications use the same runtime library path
          when dynamically linking against libssl.so and libcrypto.so. The
          runtime library search path has also been extended.

          The configure scripts of erl_interface and odbc now search for
          thread libraries and thread library quirks the same way as erts
          do.

          The configure script of the odbc application now also looks for
          odbc libraries in lib64 and lib/64 directories when building on a
          64-bit system.

          The config.h.in file in the erl_interface application is now
          automatically generated in instead of statically updated which
          reduces the risk of configure tests without any effect.

          (Thanks to Henrik Riomar and Winston Smith for testing)
Håkan Mattsson Erlang/OTP
Håkan Mattsson and Erlang/OTP
jj1bdx and Erlang/OTP
Fix the shell operator bug of "==" to "=" in erts/configure.in
In UNIX test command, "==" is incorrect for string comparison;
"=" is the right operator.  Originally pointed out by
Giacomo Olgeni in the following article:
http://www.erlang.org/pipermail/erlang-patches/2008-November/000334.html
and available as a FreeBSD port patch.

Accordingly fixed in erts/configure.in
jj1bdx and Erlang/OTP
Change erts/etc/unix/Install.src to explicitly set exit code to 0 at …
…the end of the script

This patch will ensure the Install.src script to exit with the exit code 0
when the execution finished at the end of the script.

Originally from FreeBSD port patch.
Erlang/OTP
Erlang/OTP
Merge branch 'egil/lcnt' into ccase/r13b04_dev
* egil/lcnt:
  Add test suite for lcnt in tools
  Add lcnt:rt_opt/1 bindings to erts_debug
  Add runtime option to enable/disable lcnt stats
  Add auto width on string output
  Add lcnt documentation
  Add lock profiling tool

OTP-8424  Add lock profiling tool.

          The Lock profiling tool, lcnt, can make use of the internal lock
          statistics when the runtime system is built with this feature
          enabled.

          This provides a mechanism to examine potential lock bottlenecks
          within the runtime itself.

          - Add erts_debug:lock_counters({copy_save, bool()}). This option
          enables or disables statistics saving for destroyed processes and
          ets-tables. Enabling this might consume a lot of memory.

          - Add id-numbering for lock classes which is otherwise undefined.
bufflig and Erlang/OTP
OTP-8418 user.erl (used in oldshell) is updated to handle unicode in
          prompt strings (io:get_line/{1,2}). io_lib is also updated to
          format prompts with the 't' modifier (i.e. ~ts instead of ~s).
Add count_children/1 to supervisor.erl to determine the number of
children being managed without the memory impact of which_children/1

The function which_children/1 returns a list of the child processes
currently being supervised, but it has the penalty of creating a new
list thereby consuming more memory.  In low memory situations it is
often desirable to know which supervisor may have generated many
processes, but the act of discovering the culprit should not cause the
node to crash (or worse a different node if the kernel kills one
randomly).  The new function count_children/1 can give an indication
of which supervisor is taxing resources the most without adding to the
burden.  Rather than creating a new list, it walks the supervisor's
internal children structure using an accumulator function so that any
used memory can be incrementally collected yet the resulting count can
still be obtained.

The return result of count_children/1 is a property list of counts
containing:
  - {specs, Total_Num_Child_Specs}
  - {active, Num_Active_Child_Processes_Of_Supervisor_Or_Worker_Type}
  - {supervisors, Num_Supervisor_Type_Children_Including_Dead_Processes}
  - {workers, Num_Worker_Type_Children_Including_Dead_Processes}

This patch was made in response to mailing list discussions of the
problem diagnosing heavily taxed production systems.  I cannot find
the original request, but http://www.erlang.org/cgi-bin/ezmlm-cgi/4/35060
is my original post of the patch.
psyeugenic and Erlang/OTP
Erlang/OTP
Erlang/OTP
Merge branch 'ws/cross-compile-configuration' into ccase/r13b04_dev
* ws/cross-compile-configuration:
  Add cross-compile configuration for Atmel AVR32-Linux (NGW100)
bmk and Erlang/OTP
Commits on Feb 11, 2010
Fix CVE-2008-2371 (outer level option with alternatives caused crash).
The patch is from:
http://vcs.pcre.org/viewvc?revision=360&view=revision

Test case:
re:compile(<<"(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]">>, [unicode]).

An option change at the start of a pattern that had top-level
alternatives could cause overwriting and/or a crash.

This potential security problem was recorded as CVE-2008-2371.
lthor and Erlang/OTP
OTP-8343 The documentation is now possible to build in an open source
          environment after a number of bugs are fixed and some features
          are added in the documentation build process.

          - The arity calculation is updated.

          - The module prefix used in the function names for bif's are
          removed in the generated links so the links will look like
          "http://www.erlang.org/doc/man/erlang.html#append_element-2"
          instead of
          "http://www.erlang.org/doc/man/erlang.html#erlang:append_element-
          2".

          - Enhanced the menu positioning in the html documentation when a
          new page is loaded.

          - A number of corrections in the generation of man pages (thanks
          to Sergei Golovan)

          - The legal notice is taken from the xml book file so OTP's build
          process can be used for non OTP applications.
Erlang/OTP
Erlang/OTP
Merge branch 'ks/erts' into ccase/r13b04_dev
* ks/erts:
  hipe_bif0.c: Remove $Id$
  erts/preloaded: Add types and specs
rickard-green and Erlang/OTP
OTP-8323 Cross compilation improvements and other build system
          improvements.

          Most notable:

          Lots of cross compilation improvements. The old cross compilation
          support was more or less non-existing as well as broken. Please,
          note that the cross compilation support should still be
          considered as experimental. Also note that old cross compilation
          configurations cannot be used without modifications. For more
          information on cross compiling Erlang/OTP see the
          $ERL_TOP/xcomp/README file.

          Support for staged install using <url
          href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
          ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
          For more information see the $ERL_TOP/README file.

          Documentation of the release target of the top Makefile. For more
          information see the $ERL_TOP/README file.

          make install now by default creates relative symbolic links
          instead of absolute ones. For more information see the
          $ERL_TOP/README file.

          $ERL_TOP/configure --help=recursive now works and prints help for
          all applications with configure scripts.

          Doing make install, or make release directly after make all no
          longer triggers miscellaneous rebuilds.

          Existing bootstrap system is now used when doing make install, or
          make release without a preceding make all.

          The crypto and ssl applications use the same runtime library path
          when dynamically linking against libssl.so and libcrypto.so. The
          runtime library search path has also been extended.

          The configure scripts of erl_interface and odbc now search for
          thread libraries and thread library quirks the same way as erts
          do.

          The configure script of the odbc application now also looks for
          odbc libraries in lib64 and lib/64 directories when building on a
          64-bit system.

          The config.h.in file in the erl_interface application is now
          automatically generated in instead of statically updated which
          reduces the risk of configure tests without any effect.

          (Thanks to Henrik Riomar and Winston Smith for testing)
Commits on Feb 12, 2010
Mikael Pettersson and bjorng
unbreak event tracer's app.src
lib/et/src/et.app.src lists a module (et_contents_viewer) for which
there is no source module, so it doesn't get built or installed.
This breaks tools like HiPE's big test suite that parse installed .app
files and expect to find a .beam file for every listed module.

Fixed by deleting the offending line. I also noticed a duplicated
line for the et_viewer module, and deleted that too.
hio and bjorng
prepend packet size bytes in ssl:send() in new_ssl implementation
With the {ssl_imp,new} option enabled, {packet,PacketType} only
works when receiving. When sending, {packet,0} is always used.
Erlang/OTP
Erlang/OTP
Merge branch 'ks/stdlib-cleanups' into ccase/r13b04_dev
* ks/stdlib-cleanups:
  stdlib: clean up as suggested by tidier

OTP-8435: ks/stdlib-cleanups
Erlang/OTP
Erlang/OTP
Merge branch 'jn/supervisor_child_count_only' into ccase/r13b04_dev
* jn/supervisor_child_count_only:
  Add count_children/1 to supervisor.erl to determine the number of

OTP-8436  Added supervisor:count_children/1 to count the number of children
          being managed without the memory impact of which_children/1.
          (Thanks to Jay Nelson.)
Erlang/OTP
Erlang/OTP
Merge branch 'ms/pcre-security' into ccase/r13b04_dev
* ms/pcre-security:
  Fix CVE-2008-2371 (outer level option with alternatives caused crash).

OTP-8438  The re module: A regular expression with an option change at the
          start of a pattern that had top-level alternatives could cause
          overwriting and/or a crash. (Thanks to Michael Santos.)
Erlang/OTP
Erlang/OTP
Merge branch 'mp/et-app-file' into ccase/r13b04_dev
* mp/et-app-file:
  unbreak event tracer's app.src
Erlang/OTP
Erlang/OTP
Merge branch 'yh/packet_option_for_new_ssl_send' into ccase/r13b04_dev
* yh/packet_option_for_new_ssl_send:
  Fixed ssl:setopts(Socket, binary) which was didn't work for 'new' ssl.
  Fixed bug file cache bug and improved the error messages.
  Allow <c>ssl:listen/2</c> to be called with option {ssl_imp, old}.
  prepend packet size bytes in ssl:send() in new_ssl implementation

OTP-8441  ssl:send/2 ignored packet option, fix provided by YAMASHINA Hio.

          Fixed a file cache bug which caused problems when the same file
          was used for both cert and cacert.

          Allow ssl:listen/2 to be called with option {ssl_imp, old}.

          Fixed ssl:setopts(Socket, binary) which didn't work for 'new'
          ssl..
Erlang/OTP
Erlang/OTP
Merge branch 'bd/doc-fixes' into ccase/r13b04_dev
* bd/doc-fixes:
  Fix minor documentation errors
Erlang/OTP
Erlang/OTP
Merge branch 'kr/crypto_makefile' into ccase/r13b04_dev
* kr/crypto_makefile:
  Fix Makefile permission problem of crypto library on FreeBSD Erlang/OTP building
Commits on Feb 13, 2010
Commits on Feb 14, 2010
New rb:filter/1 function to ease report filtering
Currently in the rb module the only way to filter
reports is by using the grep/1 or re/1 functions
that use Regular Expressions.

This new function allow us to specify detailed
filters that will match against our reports.

Since the reports are proplists the filters are
tuples of the form {Key, Value}. If the report
contains that tuple, it will be displayed.

Usage:

1> rb:filter([{"foo", "bar"}, {"abc", "value"}]).

2> rb:filter([{"foo", "bar", no}]).
% excludes reports containing {"foo", "bar"}

3> rb:filter([{"foo", RegExp, re}]).
% the report must contain an element with Key = "foo"
% and Value must match RegExp
New rb:filter/2 to filter reports by date
The function filter/2 expects a second parameter
Dates that can be used to return reports that
occurred between the provided dates.

Usage:

Dec22 = {{2009,12,22},{0,0,0}}.
Dec24 = {{2009,12,24},{0,0,0}}.

rb:filter(Filters, {Dec22, from}).
%will return reports that occurred from Dec22.

rb:filter(Filters, {Dec22, to}).
%will return reports that occurred before Dec22.

rb:filter(Filters, {Dec22, Dec24}).
%will return reports that occurred between Dec22
% and  Dec24
syntax_tools: Add types and specs for most exported functions
While at it, consistently replace "bool()" with "boolean()"
in the Edoc specs.
Added sasl_report:format_report/3 to return a string rather than send…
… an io

sasl_report:write_report/3 calls io:format to output the report
message, but does not provide an option to generate a formatted string
rather than sending the message.  sasl_report:format_report/3 is added
to allow the replacement of sasl_report with a different handler but
still generate reports in the same format.  It returns the string
generated by io_lib:format.  sasl_report:write_report/3 retains its
original behavior.

This patch was submitted in 2008 (see
http://www.erlang.org/cgi-bin/ezmlm-cgi/4/35061) but was never
incorporated into the source.
erl_bif_types: add 'http_bin' as a valid packet option
{packet,http_bin} is now a valid packet option for the
gen_tcp and inet modules.
Add types for erts_debug:lock_counters/1
erts_debug:lock_counters/1 is an undocumented BIF used by
the 'lcnt' module in the 'tools' application.
Commits on Feb 15, 2010
Erlang/OTP
Erlang/OTP
Merge branch 'dgud/emacs-mode' into ccase/r13b04_dev
* dgud/emacs-mode:
  Added the old style skeletons, and a variable to change.
  Move code skeletons to a separate file.

OTP-8446  dgud/emacs-mode
Håkan Mattsson Erlang/OTP
Håkan Mattsson and Erlang/OTP
Niclas Eklund Erlang/OTP
Niclas Eklund and Erlang/OTP
sverker and Erlang/OTP
OTP-8335 NIF improvements:
          Driver API for multi-threading made available for NIFs.

          Support for mempory managed (garbage collected) resource objects.
          A way to pass "pointers" to native data structures between C and
          Erlang in a safe way.

          Various new functions, like enif_inspect_iolist_as_binary,
          enif_make_sub_binary, enif_get_string, enif_get_atom,
          enif_make_tuple_from_array, enif_make_list_from_array,
          enif_make_existing_atom.
rickard-green and Erlang/OTP
OTP-8323 Cross compilation improvements and other build system
          improvements.

          Most notable:

          Lots of cross compilation improvements. The old cross compilation
          support was more or less non-existing as well as broken. Please,
          note that the cross compilation support should still be
          considered as experimental. Also note that old cross compilation
          configurations cannot be used without modifications. For more
          information on cross compiling Erlang/OTP see the
          $ERL_TOP/INSTALL-CROSS.md file.

          Support for staged install using <url
          href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D
          ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed.
          For more information see the $ERL_TOP/INSTALL.md file.

          Documentation of the release target of the top Makefile. For more
          information see the $ERL_TOP/INSTALL.md file.

          make install now by default creates relative symbolic links
          instead of absolute ones. For more information see the
          $ERL_TOP/INSTALL.md file.

          $ERL_TOP/configure --help=recursive now works and prints help for
          all applications with configure scripts.

          Doing make install, or make release directly after make all no
          longer triggers miscellaneous rebuilds.

          Existing bootstrap system is now used when doing make install, or
          make release without a preceding make all.

          The crypto and ssl applications use the same runtime library path
          when dynamically linking against libssl.so and libcrypto.so. The
          runtime library search path has also been extended.

          The configure scripts of erl_interface and odbc now search for
          thread libraries and thread library quirks the same way as erts
          do.

          The configure script of the odbc application now also looks for
          odbc libraries in lib64 and lib/64 directories when building on a
          64-bit system.

          The config.h.in file in the erl_interface application is now
          automatically generated in instead of statically updated which
          reduces the risk of configure tests without any effect.

          (Thanks to Henrik Riomar for suggestions and testing)

          (Thanks to Winston Smith for the AVR32-Linux cross configuration
          and testing)
Commits on Feb 16, 2010
rickard-green and Erlang/OTP
OTP-8449 Documentation improvements.
          The most important "readme" files now use Markdown notation. HTML
          versions of these files are now also automatically generated and
          included in the HTML documentation.

          - Building and Installing Erlang/OTP - $ERL_TOP/INSTALL.md
          (previously known as $ERL_TOP/README).

          - Cross Compiling Erlang/OTP - $ERL_TOP/INSTALL-CROSS.md.

          - How to Build Erlang/OTP on Windows - $ERL_TOP/INSTALL-WIN32.md
          (previously known as $ERL_TOP/README.win32).
Erlang/OTP
Erlang/OTP
Merge branch 'va/rb-improvements' into ccase/r13b04_dev
* va/rb-improvements:
  New rb:filter/2 to filter reports by date
  New rb:filter/1 function to ease report filtering
  Modify rb:grep/1 to grep reports using the re module
  Fix minor typo in read_report/1

OTP-8443  The re:grep/1 function now uses the 're' module instead of the
          deprecated 'regexp' module. There are new functions rb:filter/1
          and rb:filter/2 for easier filtering of reports. (Thanks to
          Alvaro Videla.)
Erlang/OTP
Erlang/OTP
Merge branch 'jn/sasl-format_report' into ccase/r13b04_dev
* jn/sasl-format_report:
  Added sasl_report:format_report/3 to return a string rather than send an io

OTP-8445  There is new function sasl_report:format_report/3 that works like
          the existing sasl_report:write_report/3 function except that it
          returns a formatted string. Note that there is currently no
          documentation for the sasl_report module. (Thanks to Jay Nelson.)
Erlang/OTP
Erlang/OTP
Merge branch 'bg/erl_bif_types' into ccase/r13b04_dev
* bg/erl_bif_types:
  Add types for erts_debug:lock_counters/1
  Add types for os:timestamp/0
  Add types for erts_debug:dist_ext_to_term/2
  erl_bif_types: add 'http_bin' as a valid packet option

OTP-8437: bg/erl_bif_types
Erlang/OTP
Erlang/OTP
Merge branch 'kr/odbc-netinet' into ccase/r13b04_dev
* kr/odbc-netinet:
  Fix ODBC compilation error on FreeBSD by adding netinet/in.h to #include macros

OTP-8444  The odbc application can now be compiled on FreeBSD. (Thanks to
          Kenji Rikitake.)
lthor and Erlang/OTP
OTP-8343 The documentation is now possible to build in an open source
          environment after a number of bugs are fixed and some features
          are added in the documentation build process.

          - The arity calculation is updated.

          - The module prefix used in the function names for bif's are
          removed in the generated links so the links will look like
          "http://www.erlang.org/doc/man/erlang.html#append_element-2"
          instead of
          "http://www.erlang.org/doc/man/erlang.html#erlang:append_element-
          2".

          - Enhanced the menu positioning in the html documentation when a
          new page is loaded.

          - A number of corrections in the generation of man pages (thanks
          to Sergei Golovan)

          - The legal notice is taken from the xml book file so OTP's build
          process can be used for non OTP applications.
Add support for prefixing macro names generated by the compiler
This is useful when multiple protocols that contains
macros with identical names are included in a single module.

Add the missing record_name_prefix compiler option to the documentation.
parsetools: Replace TABs with spaces
The files in the parsetools application are supposed to be
indented using spaces only. Remove the stray TABs that somehow
have crept in.
parsetools: Use %% for comments at the beginning of a line
According to the style guidelines (and the Erlang mode for
Emacs), comments at the beginning of a line should start
with "%%", not "%".
dialyzer: Fix system_limit exception in race analysis
dialyzer_callgraph:
  Avoid creation of too many ets tables by the race analysis.
dialyzer_dataflow:
  The digraph returned by the race analysis should not be the
  translated one.
Commits on Feb 17, 2010
Erlang/OTP
Erlang/OTP
Merge branch 'ks/cleanups' into ccase/r13b04_dev
* ks/cleanups:
  percept: Clean up as suggested by tidier
  percept: Modernize types and specs
  parsetools: Don't use 'try...of' when 'try' will do
  parsetools: Use %% for comments at the beginning of a line
  parsetools: Replace lists:keysearch/3 with lists:keyfind/3
  parsetools: Modernize types and specs
  parsetools: Replace TABs with spaces
  runtime_tools: Modernize specs
  sasl: Eliminate tuple used as fun
  sasl: Add missing modules to app file
  asn1: Clean up as suggested by tidier
  os_mon: Modernize types and specs
  wx: Clean up as suggested by tidier

OTP-8455  ks/cleanups
uabboli and Erlang/OTP
sverker and Erlang/OTP
OTP-8335 NIF improvements:
          Driver API for multi-threading made available for NIFs.

          Support for mempory managed (garbage collected) resource objects.
          A way to pass "pointers" to native data structures between C and
          Erlang in a safe way.

          Support for references, floats and term comparison.

          Various new functions, like enif_inspect_iolist_as_binary,
          enif_make_sub_binary, enif_get_string, enif_get_atom,
          enif_make_tuple_from_array, enif_make_list_from_array,
          enif_make_existing_atom.
Erlang/OTP
Erlang/OTP
Merge branch 'tj/asn1_macro_prefix' into ccase/r13b04_dev
* tj/asn1_macro_prefix:
  Add support for prefixing macro names generated by the compiler

OTP-8453  tj/asn1_macro_prefix
Erlang/OTP
Erlang/OTP
Merge branch 'ks/hipe' into ccase/r13b04_dev
* ks/hipe:
  dialyzer: Fix system_limit exception in race analysis
  syntax_tools: Add types and specs for most exported functions
  syntax_tools: Support the --enable-native-libs configure option
  syntax_tools: Remove $Id$ annotations
  dialyzer: New version for the R13B04 release
  hipe: Miscellaneous additions
  typer: New version for the R13B04 release
  Fix a HiPE compiler bug evaluating an expression that throws system_limit

OTP-8460  ks/hipe
sverker and Erlang/OTP
OTP-8335 NIF improvements:
          Driver API for multi-threading made available for NIFs.

          Support for mempory managed (garbage collected) resource objects.
          A way to pass "pointers" to native data structures between C and
          Erlang in a safe way.

          Support for references, floats and term comparison.

          Various new functions, like enif_inspect_iolist_as_binary,
          enif_make_sub_binary, enif_get_string, enif_get_atom,
          enif_make_tuple_from_array, enif_make_list_from_array,
          enif_make_existing_atom.
sverker and Erlang/OTP
OTP-8335 NIF improvements:
          Driver API for multi-threading made available for NIFs.

          Support for mempory managed (garbage collected) resource objects.
          A way to pass "pointers" to native data structures between C and
          Erlang in a safe way.

          Support for references, floats and term comparison.

          Various new functions, like enif_inspect_iolist_as_binary,
          enif_make_sub_binary, enif_get_string, enif_get_atom,
          enif_make_tuple_from_array, enif_make_list_from_array,
          enif_make_existing_atom.
Commits on Feb 18, 2010
rickard-green and Erlang/OTP
OTP-8449 Documentation improvements.
          The most important "readme" files now use Markdown notation. HTML
          versions of these files are now also automatically generated and
          included in the HTML documentation.

          - Building and Installing Erlang/OTP - $ERL_TOP/INSTALL.md
          (previously known as $ERL_TOP/README).

          - Cross Compiling Erlang/OTP - $ERL_TOP/INSTALL-CROSS.md.

          - How to Build Erlang/OTP on Windows - $ERL_TOP/INSTALL-WIN32.md
          (previously known as $ERL_TOP/README.win32).
rickard-green and Erlang/OTP
OTP-8449 Documentation improvements.
          The most important "readme" files now use Markdown notation. HTML
          versions of these files are now also automatically generated and
          included in the HTML documentation.

          - Building and Installing Erlang/OTP - $ERL_TOP/INSTALL.md
          (previously known as $ERL_TOP/README).

          - Cross Compiling Erlang/OTP - $ERL_TOP/INSTALL-CROSS.md.

          - How to Build Erlang/OTP on Windows - $ERL_TOP/INSTALL-WIN32.md
          (previously known as $ERL_TOP/README.win32).
Commits on Feb 19, 2010
Commits on Feb 22, 2010
tuncer and Erlang/OTP
Fix escript:foldl/3 for beam and archive files
escript:foldl/3 was not completely adapted to the changes introduced
in 6af2ac9.
A partial fix has already been applied by Hakan Mattson in
4ec4a06.

Signed-off-by: Tuncer Ayaz <tuncer.ayaz@gmail.com>
Showing 3,317 changed files with 486,904 additions and 49,282 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
View
@@ -1,23 +1,270 @@
# Match at any level.
*~
autom4te.cache
+*.beam
+*.asn1db
+
+!/bootstrap/lib/compiler/ebin/*.beam
+!/bootstrap/lib/kernel/ebin/*.beam
+!/bootstrap/lib/stdlib/ebin/*.beam
+!/erts/preloaded/ebin/*.beam
+!/lib/*/test/*_SUITE_data/*.beam
+
+# Compiler derivatives
+#
+# Do not use too creative wildcards.
+# Those might ignore files that should not be ignored.
+
+i686-pc-linux-gnu
+x86_64-unknown-linux-gnu
+i386-apple-darwin[0-9]*.[0-9]*.[0-9]*
+sparc-sun-solaris[0-9]*.[0-9]*
+i386-pc-solaris[0-9]*.[0-9]*
+i386-unknown-freebsd[0-9]*.[0-9]*
+tile-tilera-linux-gnu
+powerpc-unknown-linux-gnu
+
+# Mac OS X
+a.out.dSYM/
# Anchored from $ERL_TOP
/bin
+/config.log
+/config.status
-/lib/*/ebin
+/bootstrap/bin/*
+!/bootstrap/bin/*.script
+!/bootstrap/bin/*.boot
-/bootstrap/bin
/bootstrap/lib/asn1
/bootstrap/lib/hipe
/bootstrap/lib/ic
/bootstrap/lib/parsetools
/bootstrap/lib/sasl
/bootstrap/lib/snmp
/bootstrap/lib/syntax_tools
+/bootstrap/lib/test_server