aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2013-12-12Increase versions for OTP_R16B03_yielding_binary_to_termOTP_R16B03_yielding_binary_to_termSverker Eriksson
2013-12-12Merge branch 'sverk/trapping-bin2term' into OTP_R16B03Sverker Eriksson
* sverk/trapping-bin2term: erts: Adjust term_to_binary reduction factors erts: Yield after trapping term_to_binary if gc has been ordered erts: Let term_to_binary disable gc while trapping erts: Improve stress of binary_to_term in binary_SUITE erts: Fix bug in binary_to_term for compressed on halfword erts: Fix crash when binary_to_term throws badarg erts: Trapping memcpy in binary_to_term erts: Cleanup code for trapping binary_to_term erts: Add erlang wrappers to binary_to_term trapping uncompress trapping size calculation trapping binary_to_term/2 trapping STRING_EXT trapping lists and tuples trapping binary_to_term passing binary_SUITE Parallel check_process_code when code_server purge a module Functionality for disabling garbage collection Use asynchronous check_process_code in code_parallel_SUITE Execution of system tasks in context of another process Conflicts: erts/emulator/beam/external.c erts/emulator/beam/sys.h erts/emulator/test/binary_SUITE.erl erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-12-09Prepare releaseOTP_R16B03Erlang/OTP
2013-11-18Execution of system tasks in context of another processRickard Green
A process requesting a system task to be executed in the context of another process will be notified by a message when the task has executed. This message will be on the form: {RequestType, RequestId, Pid, Result}. A process requesting a system task to be executed can set priority on the system task. The requester typically set the same priority on the task as its own process priority, and by this avoiding priority inversion. A request for execution of a system task is made by calling the statically linked in NIF erts_internal:request_system_task(Pid, Prio, Request). This is an undocumented ERTS internal function that should remain so. It should *only* be called from BIF implementations. Currently defined system tasks are: * garbage_collect * check_process_code Further system tasks can and will be implemented in the future. The erlang:garbage_collect/[1,2] and erlang:check_process_code/[2,3] BIFs are now implemented using system tasks. Both the 'garbage_collect' and the 'check_process_code' operations perform or may perform garbage_collections. By doing these via the system task functionality all garbage collect operations in the system will be performed solely in the context of the process being garbage collected. This makes it possible to later implement functionality for disabling garbage collection of a process over context switches. Newly introduced BIFs: * erlang:garbage_collect/2 - The new second argument is an option list. Introduced option: * {async, RequestId} - making it possible for users to issue asynchronous garbage collect requests. * erlang:check_process_code/3 - The new third argument is an option list. Introduced options: * {async, RequestId} - making it possible for users to issue asynchronous check process code requests. * {allow_gc, boolean()} - making it possible to issue requests that aren't allowed to garbage collect (operation will abort if gc should be needed). These options have been introduced as a preparation for parallelization of check_process_code operations when the code_server is about to purge a module.
2013-11-07Merge branch 'asterite/atan2_spec/OTP-11465' into maintFredrik Gustafsson
* asterite/atan2_spec/OTP-11465: Spec for atan2 should be atan2(Y, X), not atan2(X, Y)
2013-10-25Add XML marker for regexp syntaxHåkan Mattsson
2013-10-16Spec for atan2 should be atan2(Y, X), not atan2(X, Y)Ary Borenszweig
2013-10-15Merge branch 'blt/gen_server-typo/OTP-11398' into maintFredrik Gustafsson
* blt/gen_server-typo/OTP-11398: Change 'recive' to 'receive' in gen_server.erl
2013-10-14Merge branch 'fenollp/treewide_remove_unexpected_0xff/OTP-11323' into maintFredrik Gustafsson
* fenollp/treewide_remove_unexpected_0xff/OTP-11323: Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.
2013-10-12Change 'recive' to 'receive' in gen_server.erlBrian L. Troutwine
A small spelling correction merely; no functionality change.
2013-09-30Merge branch 'msassak/empty-pattern-badarg/OTP-11350' into maintFredrik Gustafsson
* msassak/empty-pattern-badarg/OTP-11350: stdlib: extended binary_module_SUITE to assure badarg for OTP-11350 Check all pattern arguments passed to binary:matches/2
2013-09-25stdlib: extended binary_module_SUITE to assure badarg for OTP-11350Fredrik Gustafsson
2013-09-24Update version numbers for R16B03 developmentFredrik Gustafsson
2013-09-16Prepare releaseOTP_R16B02Erlang/OTP
2013-09-12Remove ^L characters hidden randomly in the code. Not those used in text ↵Pierre Fenoll
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters.
2013-09-09Merge branch 'bjorn/xml-encoding-fix/OTP-11310' into maintBjörn Gustavsson
* bjorn/xml-encoding-fix/OTP-11310: Change encoding of troublesome notes.xml files to utf-8 Convert some notes.xml files from latin-1 to utf-8
2013-09-06Change encoding of troublesome notes.xml files to utf-8Björn Gustavsson
Most notes.xml files will be updated in every release and cause the kind of the problems described in the previous commit.
2013-08-27Fix variable usage tracking in some record errorsAnthony Ramine
When reporting a field redefinition in a record, erl_lint can forget about some old unused variables. f() -> X = 1, #r{a=foo,a=bar,a=qux}.
2013-08-27Fix unsafe variable tracking in try expressionsAnthony Ramine
Variables used in the body of a try expression were marked as unsafe *and* used, which makes no sense as an unsafe variable can't be used. Function vtsubtract/2 is used to forget usage of such unsafe variables. Reported-by: Paul Davis
2013-08-27Fix variable usage tracking in erl_lintAnthony Ramine
When analyzing complex expressions (i.e. comprehensions, cases, tries, ifs and receives), erl_lint does not forget about old unused variables when returning the updated variable table. This causes a bug where old unused variables are not recorded as such: t(X, Y) -> #r{a=[ K || K <- Y ],b=[ K || K <- Y ]}. As erl_lint uses vtmerge_pat/2 to merge the results of the analysis of the two list comprehensions, X is marked as used and the warning is not emitted. The function vtmerge_pat/2 is used instead of the similar vtmerge/2 which does not mark multiple occurrences of a variable as usage to handle cases like the following one: t(X, Y) -> #r{a=A=X,b=A=Y}. Other simpler expressions like conses, tuples and external fun references do not correctly follow this behaviour, e.g. A is not marked as used in the following code: t(X, Y) -> {A=X,A=Y}. This commit fixes both issues and makes erl_lint not return old unused variables in updated tables and makes all compound expressions use vtmerge_pat/2. Reported-by: Anders Ramsell
2013-08-26Merge branch 'sze/edlin_understand_keys/OTP-11251' into maintFredrik Gustafsson
* sze/edlin_understand_keys/OTP-11251: Added primary bootstrap erts: fixed documentation regarding tty and arrow keys make edlin understand a few important control keys
2013-08-26Merge branch 'alexrp/export_edge/OTP-11266' into maintFredrik Gustafsson
* alexrp/export_edge/OTP-11266: Export the edge/0 type from the digraph module
2013-08-21Correct the specifications of io_lib:fread/2,3Hans Bolinder
Thanks to Chris King and Kostis Sagonas for pinpointing the bug.
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-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-08stdlib: Include file:all datatypes in filelibLukas Larsson
2013-08-07Export the edge/0 type from the digraph moduleAlex Rønne Petersen
2013-08-07make edlin understand a few important control keysStefan Zegenhagen
Hi Fredrik, > I've gotten some feedback from your review, > You need to add documentation under Erts-> "User's Guide" -> "tty - A > command line interface" > > You need to add testcase in interactive_shell_SUITE a simplified > example of how this testcase could look like; > ctrl_w_and_ctrl_u(_Conf) -> > rtnode([{putline,""}, {putline, "2."}, {getline, "2"}, > {putline,"xxx yy"++[$\^w]++"."}, {getline,"xxx"}, {putline,"xxx > yy"++[$\^u]++"z."}, {getline,"z"}],[]). Please find an updated version of the patch attached to this e-mail. I hope that you still accept it via e-mail because the former patch was sent the same way ;-). I have extended the documentation to list the new key combinations and added tests to make sure they work. Kind regards, -- Dr. Stefan Zegenhagen arcutronix GmbH Garbsener Landstr. 10 30419 Hannover Germany Tel: +49 511 277-2734 Fax: +49 511 277-2709 Email: [email protected] Web: www.arcutronix.com *Synchronize the Ethernet* General Managers: Dipl. Ing. Juergen Schroeder, Dr. Josef Gfrerer - Legal Form: GmbH, Registered office: Hannover, HRB 202442, Amtsgericht Hannover; Ust-Id: DE257551767. Please consider the environment before printing this message. >From ce4b827c78d18f39bb1146fd2959ffd7ae2b4bb6 Mon Sep 17 00:00:00 2001 From: Stefan Zegenhagen <[email protected]> Date: Mon, 6 May 2013 14:39:07 +0200 Subject: [PATCH] [EDLIN] support a few more control keys Add support for the following control keys that many users have become accustomed to: - <CTRL>+W : backward kill word - <CTRL>+U : backward kill line - <HOME> : goto start of line - <END> : goto end of line - <CTRL>+<LEFT> : backward word - <CTRL>+<RIGHT> : forward word It seems that the <CTRL>+<LEFT|RIGHT> control key sequences are different between terminal emulators, therefore a few possible combinations were added (similar to how libreadline is configured). Documentation and tests are extended to reflect the new functionality.
2013-08-01Fix typo in abcast() function commentJohannes Weißl
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-11Fix supervisor typogoofansu
`I` should be `If`
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-19Update version numbers for R16B02 developmentMagnus Lidén
2013-06-17Prepare releaseOTP_R16B01Erlang/OTP
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 'pan/unicode_error_wrong_offset' into maintPatrik Nyblom
* pan/unicode_error_wrong_offset: Fix faulty rest on error in unicode:characters_to_list OTP-11080
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 'rickard-sverker/carrier-migration/OTP-10279' into maintRickard Green
* rickard-sverker/carrier-migration/OTP-10279: stdlib: Fix ets_SUITE memory tests
2013-06-04stdlib: Fix ets_SUITE memory testsRickard Green
Need to take 'mbcs_pool' into account.
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 'rickard-sverker/carrier-migration/OTP-10279' into maintRickard Green
* rickard-sverker/carrier-migration/OTP-10279: erts: Document the +M<S>acul command line argument erts: Carrier pool information in allocator information erts: Use carrier pool for migration of carriers erts: Implement test case for carrier pool erts: Implement carrier pool erts: Fix type errors in info functions erts: Use Uint64 for call counts erts: Fix failing testcase alloc_SUITE:rbtree erts: Rename allocator aoffcbf to aoffcaobf erts: Remove unnecessary flag arguments in allocators erts: Remove SBMBC allocator erts: Add test for add_mbc and remove_mbc callbacks erts: Fix deallocation in removed carrier erts: Change naive list to rb-tree of carriers in AOFF allocator erts: Prepare aoff allocator for carrier migration erts: Make carrier header sizes customizable erts: Add "bestfit within carrier" for aoff allocator (aoffcbf)
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 '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-06-03erts: Remove SBMBC allocatorSverker Eriksson
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