aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
2013-08-21Merge branch 'maint'Hans Bolinder
* maint: Fix a Dets bug concerning traversal of tables
2013-08-21Merge branch 'hb/stdlib/dets_bugfix/OTP-11245' into maintHans Bolinder
* hb/stdlib/dets_bugfix/OTP-11245: Fix a Dets bug concerning traversal of tables
2013-08-21Merge branch 'maint'Hans Bolinder
* maint: Fix a bug in the linter regarding the 'fun M:F/A' construct
2013-08-20Fix a bug in the linter regarding the 'fun M:F/A' constructHans Bolinder
If the fun M:F/A construct was used erroneously the linter could crash. Thanks to Mikhail Sobolev for reporting the bug.
2013-08-19Fix a Dets bug concerning traversal of tablesHans Bolinder
The bug was introduced in R16B. Thanks to Manuel Durán Aguete.
2013-08-16Merge branch 'pan/update_pcre_8.33'Patrik Nyblom
* pan/update_pcre_8.33: Workaround TR gnu/181328, GCC 4.2.1 20070831 on FreeBSD 9.1 Clarify relation between erts_iolist_{size|to_buf} Fix backslash in titles of manpages Correct UTF-8 in stdlib's notes.xml Add more tests for corner error cases in erl_bif_re.c Add documentation of report_errors and match_limit(_recursion) Add match_limit and match_limit_recursion options Add return_errors option to re:run/3 Add README for updating PCRE Add documentation of extensions to re module Add new options to Erlang re interface and mend dupnames Update PCRE doc part of re.xml to PCRE 8.33 state Integrate new PCRE test suites Integrate patch for PCRE bug id 1370 Handle CRLF correctly in global regexp Add erts_prefix to pcre_library and update erl_bif_re Update to PCRE 8.33, w/o the erts_ prefix added OTP-11204 OTP-11205 OTP-10285
2013-08-09Add match_limit and match_limit_recursion optionsPatrik Nyblom
Added to re:run and sets the corresponding fields in 'extra' struct for the PCRE match engine. The result can be viewed by also setting 'report_errors' when matching. Some housekeeping was also done... The offset option also did not properly check for offset's >= 0. Change nomatch to BADARG when pre-compiled mp() is faked: By constructing a 5-tuple with faked content but the right data types, you could do a re:run which returned nomatch when in fact the mp() was bad. The cheapest solution is to check the return from pcre_exec better. Remove unreachable code in erts_bif_re.c: Replaced tests for things that logically simply cannot happen with ASSERT.
2013-08-09Add return_errors option to re:run/3Patrik Nyblom
2013-08-09Add documentation of extensions to re modulePatrik Nyblom
The following compile options are documented: no_start_optimize ucp never_utf The following run options are documented: notempty_atstart {capture, all_names} The following new functions are documented: re:inspect/2
2013-08-09Add new options to Erlang re interface and mend dupnamesPatrik Nyblom
Add notempty_atstart, no_start_optimize, ucp and never_utf options from new PCRE version. Use the new notempty_atstart in global matching. Add inspect/2 function Correctly handle dupnames when capturing a name, as in Perl, get the leftmost matching occurence. Also added all_names, to get all the names in the pattern in alphabetical (name) order. To be able to use this in global matching, an inspect function that can dig out a namelist was added.
2013-08-06Handle CRLF correctly in global regexpPatrik Nyblom
2013-08-05Merge branch 'maint'Fredrik Gustafsson
2013-08-01Fix typo in abcast() function commentJohannes Weißl
2013-07-24Merge branch 'maint'Björn-Egil Dahlberg
2013-07-24Merge branch 'jv/update-io_prompt-type/OTP-11208' into maintBjörn-Egil Dahlberg
* jv/update-io_prompt-type/OTP-11208: Update io:prompt() type
2013-07-21Update filelib.erl typespecsJosé Valim
Most functions in filelib support binaries as arguments but that was not reflected in the typespecs. The types filename_all() and dirname_all() were introduced to mimic file:name_all().
2013-07-21Update io:prompt() typeJosé Valim
Functions that expect an io:prompt() also accept binaries and iolists as arguments. Therefore its type has been updated to reflect the same types accepted by other io functions.
2013-07-09Merge branch 'maint'Fredrik Gustafsson
2013-07-09Merge branch 'genrich/stdlib/gen_server_typo/OTP-11200' into maintFredrik Gustafsson
* genrich/stdlib/gen_server_typo/OTP-11200: handle_info Info type possible typo
2013-06-26Merge branch 'nox/illegal-bitstring-gen-pattern/OTP-11186'Fredrik Gustafsson
* nox/illegal-bitstring-gen-pattern/OTP-11186: Bootstrap added Simplify v3_core's translation of bit string generators Forbid unsized fields in patterns of binary generators
2013-06-12Merge branch 'maint'Björn-Egil Dahlberg
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-06-08handle_info Info type possible typogenrich
Should it be 'timeout' instead of timeout(), as in doc: http://www.erlang.org/doc/man/gen_server.html#Module:handle_info-2?
2013-06-05Merge branch 'siri/spawn-and-space'Siri Hansen
* siri/spawn-and-space: [sasl] In test, quote erlsrv executable in call to open_port/2 [test_server] Quote path to erl executable when starting slave nodes Quote path to erl executable in slave to allow space in path [sasl] Quote path to program run with open_port({spawn,... [os_mon] Quote path to programs run with open_port({spawn,... Conflicts: lib/os_mon/src/nteventlog.erl
2013-06-05Forbid unsized fields in patterns of binary generatorsAnthony Ramine
It makes no sense to be able to do `<<...,Rest/binary>> <= ...` in a comprehension. The related Dialyzer test is removed.
2013-06-05Merge branch 'maint'Fredrik Gustafsson
2013-06-05Merge branch 'jv/erl_lint-default_types/OTP-11143' into maintFredrik Gustafsson
* jv/erl_lint-default_types/OTP-11143: Updated primary bootstrap stdlib: re-factored erl_lint.erl Improve erl_lint performance
2013-06-04Merge branch 'maint'Fredrik Gustafsson
Conflicts: bootstrap/lib/stdlib/ebin/erl_pp.beam
2013-06-04Merge branch 'nox/erl_pp-callback/OTP-11140' into maintFredrik Gustafsson
* nox/erl_pp-callback/OTP-11140: Update primary bootstrap Support callback attributes in erl_pp
2013-06-04Merge branch 'maint'Björn Gustavsson
* maint: (128 commits) beam_lib: Correct wrong type specification testSeqOf: Test constrained, extensible sizes [snmp/agent] Some restructuring of test suite Clean up testSeqOf Extend tests cases for BIT STRING Improve tests of ENUMERATED asn1ct_check: Eliminate useless Per argument from complist_as_tuple() asn1ct_check: Don't pass on #'ObjectClassFieldType'{} with fixed type asn1ct_gen_per: Remove useless renewal of 'enumval' Fix encoding of semi-constrained, extensible INTEGERs PER/UPER: Fix decoding of semi-constrained INTEGERs testPrim: Simplify test cases using a roundtrip function BER: Fix handling of a constructed default value for a class PER: Generate code for deep table constraints at compile-time Normalize data representation for table constraints asn1ct: Simplify check_value/2 Extend tests to cover more code in asn1ct_check Clean up checking of values for ENUMERATEDs Introduce a new mechanism for structured error handling asn1_db: Make dbput/3 and dbsave/2 asynchronous ...
2013-06-04beam_lib: Correct wrong type specificationBjörn Gustavsson
The function was updated in 5805b576, but not the type specificatin.
2013-06-03Merge branch 'bmk/snmp/snmp424_integration/r16' into maintMicael Karlberg
2013-06-03Merge branch 'maint'Fredrik Gustafsson
2013-06-03Merge branch 'nox/erl_eval-receive/OTP-11137' into maintFredrik Gustafsson
* nox/erl_eval-receive/OTP-11137: Updated primary bootstrap for erl_eval Added preloaded prim_eval Fix receive support in erl_eval with a BEAM module
2013-05-29Merge branch 'maint'Fredrik Gustafsson
2013-05-29Merge branch 'bjorn/stdlib/improve-ls/OTP-11108' into maintBjörn Gustavsson
* bjorn/stdlib/improve-ls/OTP-11108: Teach c:ls/1 to show non-directory files
2013-05-28Merge branch 'bmk/snmp/agent/mib_storage_behaviour/OTP-11107' into ↵Micael Karlberg
bmk/snmp/snmp424_integration/r16 Conflicts: lib/snmp/doc/src/notes.xml
2013-05-28Support callback attributes in erl_ppAnthony Ramine
2013-05-28stdlib: re-factored erl_lint.erlFredrik Gustafsson
2013-05-28Improve erl_lint performanceJosé Valim
The default_types() in erl_lint returned a dictionary with all default types. However, calculating this dict was expensive and we actually didn't use the default values in this dictionary. This patch replaces the dictionary use for one function that checks if the type is a default type or not, and remove the bits that checked explicitly for those default types when iterating the dictionary.
2013-05-28[stdlib] Updated for snmp deprecationsMicael Karlberg
2013-05-28Fix receive support in erl_eval with a BEAM moduleAnthony Ramine
Using the low-level BEAM instructions, we can loop over each message in the process queue and removes the first message that matches, without receiving them all to later send them back to itself. The function prim_eval:'receive'/2 is equivalent to the following pseudo-code: 'receive'(F, T) -> RESET MESSAGE QUEUE POINTER, LOOP: case PEEK CURRENT MESSAGE WITH TIMEOUT T of {ok,Msg} -> case F(Msg) of nomatch -> DECREMENT TIMEOUT T, ADVANCE MESSAGE QUEUE POINTER, GOTO LOOP; Result -> RESET MESSAGE QUEUE POINTER, Result end; timeout -> RESET MESSAGE QUEUE POINTER, timeout end. To not break Dialyzer and other tools, we use a stub Erlang module which abstract code is forcefully inserted into prim_inet.erl afterwards compilation.
2013-05-28Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
Conflicts: bootstrap/lib/stdlib/ebin/beam_lib.beam lib/public_key/test/erl_make_certs.erl
2013-05-22Teach c:ls/1 to show non-directory filesBjörn Gustavsson
In an email to erlang-questions, Bengt Kleberg wrote: When I use c:ls/1 it reminds me so much of Unix "ls" that I expect c:ls("filename") to work. The resulting error surprises me every time (not the same day). While teaching c:ls/1 to show non-directory files, update the error handling to make use of the POSIX error codes from file:list_dir/1 and file:format_error/1 (which had not been invented when the c module was first implemented). Suggested-by: Bengt Kleberg Test-suite-by: Bengt Kleberg
2013-05-20beam_lib, compile: Replace use of deprecated crypto functionsBjörn Gustavsson
Since both the STDLIB and compiler applications turn warnings into errors, we must stop using the old deprecated crypto functions. While we are at it, generalize the format of the key tuple returned by beam_lib:make_crypto_key/2 to facilitate introducing new crypto methods in the future. Change the format to: {Type,Key,IV,BlockSize} where Type, Key, and IV are the first three arguments for either crypto:block_encrypt4/ or crypto:block_decrypt/4, and BlockSize is the block size for the crypto algorithm (it is needed to properly pad the plaintext blocks before encryption).
2013-05-20crypto: Correct deprecated informationIngela Anderton Andin
2013-05-17Merge branch 'maint'Hans Bolinder
* maint: [stdlib] Fix pretty printing of invalid forms
2013-05-16[stdlib] Fix pretty printing of invalid formsHans Bolinder
Thanks to Tomáš Janoušek.
2013-05-08Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
Conflicts: lib/crypto/doc/src/crypto_app.xml
2013-05-08ssl & crypto: Generalize the remaining crypto APIIngela Anderton Andin