aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2017-11-20stdlib: Make io_lib and io_lib_pretty use maps iteratorLukas Larsson
2017-11-20erts: Implement batching maps:iteratorLukas Larsson
This iterator implementation fetches multiple elements to iterate over in one call to erts_internal:maps_next instead of one at a time. This means that the memory usage will go up for the iterator as we are buffering elements, but the usage is still bounded. In this implementation the max memory usage is 1000 words. Using this approach makes the iterator as fast as using maps:to_list, so maps:iterator/2 has been removed.
2017-10-13erts: Implement maps path iteratorLukas Larsson
2017-10-13erts: Implement map iterator using a stackLukas Larsson
This version does not work great as the subtrees created are not proper hash maps. Also it is not all that performant as the extra allocations to keep the stack there is expensive.
2017-10-13stdlib: Introduce maps iterator APILukas Larsson
2017-10-12Merge branch 'rickard/null-chars/ERL-370/OTP-14543'Rickard Green
* rickard/null-chars/ERL-370/OTP-14543: Don't allow null chars in various strings Conflicts: erts/emulator/beam/erl_alloc.types erts/preloaded/ebin/erlang.beam
2017-10-12Merge branch 'maint'Rickard Green
* maint: Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"
2017-10-12Revert "Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maint"Rickard Green
This reverts commit 0717a2194e863f3a78595184ccc5637697f03353, reversing changes made to 71a40658a0cef8b3e25df3a8e48a72d0563a89bf.
2017-10-11Don't allow null chars in various stringsRickard Green
Various places that now reject null chars inside strings - Primitive file operations reject it in filenames. - Primitive environment variable operations reject it in names and values. - os:cmd() reject it in its input. Also '=' characters are rejected by primitive environment variable operations in environment variable names. Documentation has been updated to document null characters in these types of data as invalid. Currently these operations accept null chars at the end of strings, but that will change in the future.
2017-10-11Merge pull request #1595 from ↵Raimo Niskanen
RaimoNiskanen/raimo/stdlib/gen_statem-clean_timeout-infinity/OTP-13073 Change gen_statem:call(_, _, {clean_timeout,infinity}) to use proxy
2017-10-10Update gen_statem.erlRuan Pienaar
2017-10-10Merge branch 'maint'Lars Thorsen
2017-10-10Merge branch 'lars/doc-cleanup/OTP-14475' into maintLars Thorsen
* lars/doc-cleanup/OTP-14475: [edoc] Remove unused module otpsgml_layout.erl Remove unused files from the documentation build
2017-10-09Change {clean_timeout,infinity} to use proxyRaimo Niskanen
2017-10-05Merge pull request #1573 from RaimoNiskanen/raimo/crypto/rand-cachedRaimo Niskanen
Rand plugin for cached strong crypto bytes OTP-13370
2017-10-04Implement escaping of special characters in wildcardsBjörn Gustavsson
Allow characters with special meaning to be escaped using \ (which must be writen as \\ in a string). That allows matching of filenames containing characters that are special in wildcards. This is an incompatible change, but note that the use of backslashes in wildcards would already work differently on Windows and Unix. Take for example this call: filelib:wildcard("a\\b") On Windows, filelib:wildcard/1 would look for a directory named "a", and a file or directory named "b" inside it. On Unix, filelib:wildcard/1 would look for a file named "a\\b". With this commit applied, filelib:wildcard/1 will look for a file named "ab" on both Windows and Unix. https://bugs.erlang.org/browse/ERL-451
2017-10-02Merge branch 'maint'Rickard Green
* maint: Don't allow null in filenames
2017-10-02Merge branch 'rickard/null-char-filenames/ERL-370/OTP-14543' into maintRickard Green
* rickard/null-char-filenames/ERL-370/OTP-14543: Don't allow null in filenames
2017-09-28Merge branch 'maint'Sverker Eriksson
2017-09-28Fix grammar in ets:foldl/3 and ets:foldr/3 docsAyanda Dube
2017-09-28Remove unused files from the documentation buildLars Thorsen
2017-09-27Don't allow null in filenamesRickard Green
2017-09-26Merge branch 'maint'Henrik Nord
2017-09-26stdlib: Add unicode string benchmarksDan Gudmundsson
2017-09-22Update release notesErlang/OTP
2017-09-22Update version numbersErlang/OTP
2017-09-22Merge branch 'maint'Dan Gudmundsson
* maint: stdlib: Remove gs removed warning
2017-09-22stdlib: Remove gs removed warningDan Gudmundsson
Caused warnings which could not be suppressed, if old 'gs' application was compiled and used together with otp-20, which is fair usage even if OTP does not support the application anymore.
2017-09-20erts, stdlib: Fix xmllint warningHans Bolinder
2017-09-18Update appup in stdlib and sasl for OTP-20.1Siri Hansen
2017-09-18Merge pull request #1570 from Zorbash/typo-poolHans Bolinder
Fix doc typos in pool module
2017-09-18Merge branch 'maint'Raimo Niskanen
2017-09-18Merge commit '3d6a68727182c05fbbef9ad9e694f2e79b6731de' into maintRaimo Niskanen
* commit '3d6a68727182c05fbbef9ad9e694f2e79b6731de': Update link text to algorithms homepage
2017-09-17Fix doc typos in pool moduleDimitris Zorbas
2017-09-15Merge branch 'siri/string-new-api'Siri Hansen
* siri/string-new-api: (28 commits) hipe (test): Do not use deprecated functions in string(3) dialyzer (test): Do not use deprecated functions in string(3) eunit (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) mnesia (test): Do not use deprecated functions in string(3) Deprecate old string functions observer: Do not use deprecated functions in string(3) common_test: Do not use deprecated functions in string(3) eldap: Do not use deprecated functions in string(3) et: Do not use deprecated functions in string(3) os_mon: Do not use deprecated functions in string(3) debugger: Do not use deprecated functions in string(3) runtime_tools: Do not use deprecated functions in string(3) asn1: Do not use deprecated functions in string(3) compiler: Do not use deprecated functions in string(3) sasl: Do not use deprecated functions in string(3) reltool: Do not use deprecated functions in string(3) kernel: Do not use deprecated functions in string(3) hipe: Do not use deprecated functions in string(3) ... Conflicts: lib/eunit/src/eunit_lib.erl lib/observer/src/crashdump_viewer.erl lib/reltool/src/reltool_target.erl
2017-09-15Deprecate old string functionsDan Gudmundsson
They should not be used.
2017-09-14Update link text to algorithms homepageRaimo Niskanen
2017-09-14Merge branch 'maint'Dan Gudmundsson
* maint: stdlib: Fix jumping to beginning or end of line Fix del_chars not considering wide chars and update buffer length before calling write_buf Make cp_pos_to_col function aware of the ANSI escape codes
2017-09-14Merge pull request #1549 from ggcampinho/fix-move-cursorDan Gudmundsson
Consider ANSI escape codes on cp_pos_to_col
2017-09-13stdlib: Fix jumping to beginning or end of lineDan Gudmundsson
When cursor is before or after a multi-codepoint grapheme cluster.
2017-09-12Merge branch 'maint'Sverker Eriksson
2017-09-12Merge branch 'sverker/valgrind-fixes/OTP-14609' into maintSverker Eriksson
* sverker/valgrind-fixes/OTP-14609: erts: Suppress false memory leak for dlerror [ct] Cleanup and rename purify related functions as valgrind Revert "remove unused purify functions" erts: Fix memory leak when sending to terminating port erts: Fix harmless use of uninitialised value
2017-09-08Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap Eliminate incorrect get_stacktrace/0 warning Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_utils.beam bootstrap/lib/compiler/ebin/beam_validator.beam bootstrap/lib/compiler/ebin/sys_core_fold.beam bootstrap/lib/kernel/ebin/error_logger.beam bootstrap/lib/kernel/ebin/file_server.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/kernel.appup bootstrap/lib/kernel/ebin/net_kernel.beam bootstrap/lib/kernel/ebin/user_drv.beam bootstrap/lib/stdlib/ebin/c.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/edlin.beam bootstrap/lib/stdlib/ebin/erl_lint.beam bootstrap/lib/stdlib/ebin/error_logger_file_h.beam bootstrap/lib/stdlib/ebin/error_logger_tty_h.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/ets.beam bootstrap/lib/stdlib/ebin/gen_event.beam bootstrap/lib/stdlib/ebin/gen_fsm.beam bootstrap/lib/stdlib/ebin/gen_server.beam bootstrap/lib/stdlib/ebin/gen_statem.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/proc_lib.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/shell.beam bootstrap/lib/stdlib/ebin/slave.beam bootstrap/lib/stdlib/ebin/string.beam bootstrap/lib/stdlib/ebin/supervisor.beam
2017-09-08Merge pull request #1561 from ↵Björn Gustavsson
bjorng/bjorn/stdlib/false-warning/ERL-478/OTP-14600 Eliminate incorrect get_stacktrace/0 warning
2017-09-07Merge branch 'maint'Siri Hansen
2017-09-06Test crypto rand cacheRaimo Niskanen
Restructure measure test case
2017-09-06Eliminate incorrect get_stacktrace/0 warningBjörn Gustavsson
There could be a false warning for erlang:get_stacktrace/0 being outside a try block when it was actually inside a try block. https://bugs.erlang.org/browse/ERL-478
2017-09-06Merge pull request #1490 from josevalim/jv-gen-server-continueRaimo Niskanen
Add {continue, Term} and handle_continue/2 to gen_server
2017-09-05Fix xml-lint warning in docRickard Green
2017-09-05stdlib: use 'unicode' option for regexp in etsSiri Hansen