Age | Commit message (Collapse) | Author |
|
Add a new pre-defined macro called OTP_RELEASE that will expand
to an integer being the OTP version. Thus, in OTP 19 the value will
be the integer 19.
The OTP_RELEASE macro is particularly useful in order to have
different source code depending on new language features or new
features in the type specification syntax. Those features are only
introduced in major versions of OTP.
To be truly useful, the -if preprocessor directive need to be
implemented. That is the purpose of the next commit.
Code that will need to work in both OTP 18 and OTP 19 can be
structured in the following way:
-ifdef(OTP_RELEASE).
%% Code that only works in OTP 19 and later.
-else.
%% Code that will work in OTP 18.
-endif.
|
|
|
|
and others following draft-draft-00 from 2001 and not the rfc4419
|
|
During application load, the included_applications key from the .app
file would earlier be duplicated as an application environment
variable. Due to this, its value could be retrieved in any of the
following ways:
application:get_key(App,included_applications).
application:get_env(App,included_applications).
It would also be included in the resulting list from the following calls:
application:get_all_key(App).
application:get_all_env(App).
This commit removes the duplication, and included_applications will no
longer be returned by application:get_env/2 or application:get_all_env/1.
The reason for this change is mainly to avoid confusion, but also to
avoid the potensial inconsistency which would occur if the environment
variable was changed during runtime by calls to
application:put_env(App,included_applications,NewInclApps).
|
|
|
|
|
|
|
|
|
|
See https://github.com/erszcz/docsh/issues/23 for an explanation
about how the files were found.
|
|
|
|
If that flag is set, and openssl/engine.h is included, there will be an erro further down in files included by engine.h
|
|
Three of the removed source files don't even compile.
Uncompilable source files cause problems for tools such as
scripts/diffable that want to compile all found source files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This replaces all uses of lib:progname/0 in tests.
|
|
|
|
|
|
|
|
|
|
Move erl_types test into a common_test suite
|
|
* john/kernel/add-file_int-to-release:
Add file_int.hrl to release target
|
|
Also add tests and update failing test cases
|
|
|
|
|
|
* ingela/ssl/testcuddling:
ssl: Exclude DTLS tests for one more OpenSSL version for now
ssl: Use sane input data
ssl: Make sure help function works from all parts of test suite
|
|
* lukas/kernel/logger-docs:
Add xmllint to travis build
kernel: Use formatter in simple logger example
|
|
* maint:
Updated OTP version
Update release notes
Update version numbers
ssl: Prepare for release
ssl: Proper handling of clients that choose to send an empty answer to a certificate request
heart: Use ntohs instead of manual conversion
|
|
* maint-20:
Updated OTP version
Update release notes
Update version numbers
ssl: Prepare for release
ssl: Proper handling of clients that choose to send an empty answer to a certificate request
heart: Use ntohs instead of manual conversion
|
|
|
|
|
|
|
|
|
|
|
|
* ingela/ssl/client-has-no-cert/ERL-599/OTP-15050:
ssl: Prepare for release
ssl: Proper handling of clients that choose to send an empty answer to a certificate request
|
|
into maint-20
* john/erts/fix-heart-command-overflow/OTP-15034/ERIERL-166:
heart: Use ntohs instead of manual conversion
# Conflicts:
# lib/kernel/test/heart_SUITE.erl
|
|
|
|
Depending on context trap_exit flag may be set or not.
So always set trap_exit and consume the EXIT signal and then set it back.
|
|
and others following draft-draft-00 from 2001 and not the rfc4419
|
|
This reverts commit 202bb737e3deabfebee683266f4b7c42781eb521.
|
|
This reverts commit 345f7f527a4c26ef49cef0d81e2c8b71bf01ebc3.
|
|
|
|
|
|
|
|
ECDH suite handling did not use the EC parameters form the certs
as expected.
|
|
Fix test case code to use keyAgreement for ECDH_ECDSA
|
|
This complements the `map_get/2` guard BIF introduced in #1784.
Rationale.
`map_get/2` allows accessing map fields in guards, but it might be
problematic in more complex guard expressions, for example:
foo(X) when map_get(a, X) =:= 1 or is_list(X) -> ...
The `is_list/1` part of the guard could never succeed since the
`map_get/2` guard would fail the whole guard expression. In this
situation, this could be solved by using `;` instead of `or` to separate
the guards, but it is not possible in every case.
To solve this situation, this PR proposes a `is_map_key/2` guard that
allows to check if a map has key inside a guard before trying to access
that key. When combined with `is_map/1` this allows to construct a
purely boolean guard expression testing a value of a key in a map.
Implementation.
Given the use case motivating the introduction of this function, the PR
contains compiler optimisations that produce optimial code for the
following guard expression:
foo(X) when is_map(X) and is_map_key(a, X) and map_get(a, X) =:= 1 -> ok;
foo(_) -> error.
Given all three tests share the failure label, the `is_map_key/2` and
`is_map/2` tests are optimised away.
As with `map_get/2` the `is_map_key/2` BIF is allowed in match specs.
|