diff options
Diffstat (limited to 'lib/stdlib/doc/src')
-rw-r--r-- | lib/stdlib/doc/src/calendar.xml | 9 | ||||
-rw-r--r-- | lib/stdlib/doc/src/ets.xml | 6 | ||||
-rw-r--r-- | lib/stdlib/doc/src/gen_event.xml | 2 | ||||
-rw-r--r-- | lib/stdlib/doc/src/io.xml | 17 | ||||
-rw-r--r-- | lib/stdlib/doc/src/notes.xml | 393 |
5 files changed, 26 insertions, 401 deletions
diff --git a/lib/stdlib/doc/src/calendar.xml b/lib/stdlib/doc/src/calendar.xml index 8f2b6b747a..6b4fa7f98a 100644 --- a/lib/stdlib/doc/src/calendar.xml +++ b/lib/stdlib/doc/src/calendar.xml @@ -323,7 +323,9 @@ <type name="rfc3339_string"/> <type name="rfc3339_time_unit"/> <desc> - <p>Converts an RFC 3339 timestamp into system time.</p> + <p>Converts an RFC 3339 timestamp into system time. The data format + of RFC 3339 timestamps is described by + <url href="https://www.ietf.org/rfc/rfc3339.txt">RFC 3339</url>.</p> <p>Valid option:</p> <taglist> <tag><c>{unit, Unit}</c></tag> @@ -378,7 +380,10 @@ <type name="rfc3339_string"/> <type name="rfc3339_time_unit"/> <desc> - <p>Converts a system time into RFC 3339 timestamp.</p> + <p>Converts a system time into an RFC 3339 timestamp. The data format + of RFC 3339 timestamps is described by + <url href="https://www.ietf.org/rfc/rfc3339.txt">RFC 3339</url>. + The data format of offsets is also described by RFC 3339.</p> <p>Valid options:</p> <taglist> <tag><c>{offset, Offset}</c></tag> diff --git a/lib/stdlib/doc/src/ets.xml b/lib/stdlib/doc/src/ets.xml index 305376a425..1995262145 100644 --- a/lib/stdlib/doc/src/ets.xml +++ b/lib/stdlib/doc/src/ets.xml @@ -49,14 +49,16 @@ associated with each key. A <c>bag</c> or <c>duplicate_bag</c> table can have many objects associated with each key.</p> + <marker id="max_ets_tables"></marker> <note> <p> The number of tables stored at one Erlang node <em>used</em> to be limited. This is no longer the case (except by memory usage). The previous default limit was about 1400 tables and could be increased by setting the environment variable - <c>ERL_MAX_ETS_TABLES</c> before starting the Erlang runtime - system. This hard limit has been removed, but it is currently + <c>ERL_MAX_ETS_TABLES</c> or the command line option + <seealso marker="erts:erl#+e"><c>+e</c></seealso> before starting the + Erlang runtime system. This hard limit has been removed, but it is currently useful to set the <c>ERL_MAX_ETS_TABLES</c> anyway. It should be set to an approximate of the maximum amount of tables used. This since an internal table for named tables is sized using this value. If diff --git a/lib/stdlib/doc/src/gen_event.xml b/lib/stdlib/doc/src/gen_event.xml index 51378a6b73..6170801e87 100644 --- a/lib/stdlib/doc/src/gen_event.xml +++ b/lib/stdlib/doc/src/gen_event.xml @@ -207,7 +207,7 @@ gen_event:stop -----> Module:terminate/2 </item> <item> <p>If the event handler is deleted later, the event manager - sends a message<c>{gen_event_EXIT,Handler,Reason}</c> to + sends a message <c>{gen_event_EXIT,Handler,Reason}</c> to the calling process. <c>Reason</c> is one of the following:</p> <list type="bulleted"> <item> diff --git a/lib/stdlib/doc/src/io.xml b/lib/stdlib/doc/src/io.xml index f1037ec76b..d4a2713840 100644 --- a/lib/stdlib/doc/src/io.xml +++ b/lib/stdlib/doc/src/io.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>1996</year><year>2017</year> + <year>1996</year><year>2018</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -332,11 +332,22 @@ Here T = [{attributes,[[{id,age,1.5}, {tag,{'PRIVATE',3}}, {mode,implicit}] ok</pre> + + <p>As from Erlang/OTP 21.0, a field width of value + <c>0</c> can be used for specifying that a line is + infinitely long, which means that no line breaks + are inserted. For example:</p> + + <pre> +5> <input>io:fwrite("~0p~n", [lists:seq(1, 30)]).</input> +[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30] +ok</pre> + <p>When the modifier <c>l</c> is specified, no detection of printable character lists takes place, for example:</p> <pre> -5> <input>S = [{a,"a"}, {b, "b"}].</input> -6> <input>io:fwrite("~15p~n", [S]).</input> +6> <input>S = [{a,"a"}, {b, "b"}], + io:fwrite("~15p~n", [S]).</input> [{a,"a"}, {b,"b"}] ok diff --git a/lib/stdlib/doc/src/notes.xml b/lib/stdlib/doc/src/notes.xml index b925fa3b02..e26c4aba74 100644 --- a/lib/stdlib/doc/src/notes.xml +++ b/lib/stdlib/doc/src/notes.xml @@ -31,399 +31,6 @@ </header> <p>This document describes the changes made to the STDLIB application.</p> -<section><title>STDLIB 3.5</title> - - <section><title>Fixed Bugs and Malfunctions</title> - <list> - <item> - <p><c>gen_statem</c> improvements.</p> <p> When using an - exception that is valid but not allowed in a state enter - call, the reason has been changed from - <c>{bad_action_from_state_function,Action}</c> to - <c>{bad_state_enter_action_from_state_function,Action}</c>. - </p><p> Timer parsing has been improved. Many erroneous - timeout tuples was not handled correctly. </p><p> The - documentation has been updated, in particular the User's - Guide and the pointer to it from the Reference Manual is - much more obvious. </p> - <p> - Own Id: OTP-14015</p> - </item> - <item> - <p> - The type specifications for <c>file:posix/0</c> and - <c>inet:posix/0</c> have been updated according to which - errors file and socket operations should be able to - return.</p> - <p> - Own Id: OTP-14019 Aux Id: ERL-550 </p> - </item> - <item> - <p> File operations used to accept <seealso - marker="kernel:file#type-name_all">filenames</seealso> - containing null characters (integer value zero). This - caused the name to be truncated and in some cases - arguments to primitive operations to be mixed up. - Filenames containing null characters inside the filename - are now <em>rejected</em> and will cause primitive file - operations to fail. </p> <p> Also environment variable - operations used to accept <seealso - marker="kernel:os#type-env_var_name">names</seealso> and - <seealso - marker="kernel:os#type-env_var_value">values</seealso> of - environment variables containing null characters (integer - value zero). This caused operations to silently produce - erroneous results. Environment variable names and values - containing null characters inside the name or value are - now <em>rejected</em> and will cause environment variable - operations to fail. </p> <p>Primitive environment - variable operations also used to accept the <c>$=</c> - character in environment variable names causing various - problems. <c>$=</c> characters in environment variable - names are now also <em>rejected</em>. </p> <p>Also - <seealso - marker="kernel:os#cmd/1"><c>os:cmd/1</c></seealso> now - reject null characters inside its <seealso - marker="kernel:os#type-os_command">command</seealso>. - </p> <p><seealso - marker="erts:erlang#open_port/2"><c>erlang:open_port/2</c></seealso> - will also reject null characters inside the port name - from now on.</p> - <p> - *** POTENTIAL INCOMPATIBILITY ***</p> - <p> - Own Id: OTP-14543 Aux Id: ERL-370 </p> - </item> - <item> - <p> Make <c>io_lib:unscan_format/1</c> work with pad char - and default precision. </p> - <p> - Own Id: OTP-14958 Aux Id: PR-1735 </p> - </item> - <item> - <p> The control sequence modifiers <c>t</c> and <c>l</c> - can be used together in the same control sequence which - makes it possible to have Unicode atoms and no detection - of printable character lists at the same time. </p> - <p> - Own Id: OTP-14971 Aux Id: PR-1743 </p> - </item> - <item> - <p> Fix a bug in the Erlang code linter: the check of - guard expressions no longer returns <c>false</c> if the - map syntax is used. The bug affected the Erlang shell, - the Debugger, and other modules evaluating abstract code. - </p> - <p> - Own Id: OTP-15035 Aux Id: ERL-613 </p> - </item> - <item> - <p> - A sys debug fun of type {Fun,State} should not be - possible to install twice. This was, however, possible if - the current State was 'undefined', which was mistaken for - non-existing fun. This has been corrected.</p> - <p> - Own Id: OTP-15049</p> - </item> - </list> - </section> - - - <section><title>Improvements and New Features</title> - <list> - <item> - <p> - The <c>gen_server</c> has gotten a new callback - <c>handle_continue/2</c> for check pointing the state. - This is useful at least when implementing behaviours on - top of <c>gen_server</c> and for some start up scenarios.</p> - <p> - Own Id: OTP-13019 Aux Id: PR-1490 </p> - </item> - <item> - <p> The semantics of timeout parameter - <c>{clean_timeout,infinity}</c> to - <c>gen_statem:call/3</c> has been changed to use a proxy - process for the call. With this change - <c>clean_timeout</c> implicates a proxy process with no - exceptions. This may be a hard to observe - incompatibility: in the presence of network problems a - late reply could arrive in the caller's message queue - when catching errors. That will not happen after this - correction. </p><p> The semantics of timeout parameter - <c>infinity</c> has not been changed. </p> - <p> - *** POTENTIAL INCOMPATIBILITY ***</p> - <p> - Own Id: OTP-13073 Aux Id: PR-1595 </p> - </item> - <item> - <p>A new logging API is added to Erlang/OTP, see the - <seealso - marker="kernel:logger"><c>logger(3)</c></seealso> manual - page, and section <seealso - marker="kernel:logger_chapter">Logging</seealso> in the - Kernel User's Guide.</p> - <p>Calls to <c>error_logger</c> are automatically - redirected to the new API, and legacy error logger event - handlers can still be used. It is, however, recommended - to use the Logger API directly when writing new code.</p> - <p>Notice the following potential incompatibilities:</p> - <list> <item><p>Kernel configuration parameters - <c>error_logger</c> still works, but is overruled if the - default handler's output destination is configured with - Kernel configuration parameter <c>logger</c>.</p> <p>In - general, parameters for configuring error logger are - overwritten by new parameters for configuring - Logger.</p></item> <item><p>The concept of SASL error - logging is deprecated, meaning that by default the SASL - application does not affect which log events are - logged.</p> <p>By default, supervisor reports and crash - reports are logged by the default Logger handler started - by Kernel, and end up at the same destination (terminal - or file) as other standard log event from Erlang/OTP.</p> - <p>Progress reports are not logged by default, but can be - enabled with the Kernel configuration parameter - <c>logger_progress_reports</c>.</p> <p>To obtain - backwards compatibility with the SASL error logging - functionality from earlier releases, set Kernel - configuration parameter <c>logger_sasl_compatible</c> to - <c>true</c>. This prevents the default Logger handler - from logging any supervisor-, crash-, or progress - reports. Instead, SASL adds a separate Logger handler - during application start, which takes care of these log - events. The SASL configuration parameters - <c>sasl_error_logger</c> and <c>sasl_errlog_type</c> - specify the destination (terminal or file) and severity - level to log for these events.</p></item></list> - <p> - *** POTENTIAL INCOMPATIBILITY ***</p> - <p> - Own Id: OTP-13295</p> - </item> - <item> - <p> Add functions - <c>calendar:system_time_to_local_time/2</c> and - <c>calendar:system_time_to_universal_time/2</c>. </p> - <p> - Own Id: OTP-13413</p> - </item> - <item> - <p> Functions <c>rand:uniform_real/0</c> and - <c>rand:uniform_real_s/1</c> have been added. They - produce uniformly distributed numbers in the range <c>0.0 - =< X < 1.0</c> that are as close to random real - numbers as Normalized IEEE 754 Double Precision allows. - Because the random real number exactly <c>0.0</c> is - infinitely improbable they will never return exactly - <c>0.0</c>. </p><p> These properties are useful when you - need to call for example <c>math:log(X)</c> or <c>1 / - X</c> on a random value <c>X</c>, since that will never - fail with a number from these new functions. </p> - <p> - Own Id: OTP-13764 Aux Id: PR-1574 </p> - </item> - <item> - <p> - Added maps:iterator/0 and maps:next/1 to be used for - iterating over the key-value associations in a map.</p> - <p> - Own Id: OTP-14012</p> - </item> - <item> - <p>Changed the default behaviour of <c>.erlang</c> - loading: <c>.erlang</c> is no longer loaded from the - current directory. <c>c:erlangrc(PathList)</c> can be - used to search and load an <c>.erlang</c> file from user - specified directories.</p> <p><c>escript</c>, - <c>erlc</c>, <c>dialyzer</c> and <c>typer</c> no longer - load an <c>.erlang</c> at all.</p> - <p> - *** POTENTIAL INCOMPATIBILITY ***</p> - <p> - Own Id: OTP-14439</p> - </item> - <item> - <p> - Added new uri_string module to stdlib for handling URIs - (RFC 3986).</p> - <p> - Own Id: OTP-14496</p> - </item> - <item> - <p> - Update Unicode specification to version 10.0.</p> - <p> - Own Id: OTP-14503</p> - </item> - <item> - <p><c>filelib:wildcard()</c> now allows characters with a - special meaning to be escaped using backslashes.</p> - <p>This is an incompatible change, but note that the use - of backslashes in wildcards would already work - differently on Windows and Unix. Existing calls to - <c>filelib:wildcard()</c> needs to be updated. On - Windows, directory separators must always be written as a - slash.</p> - <p> - *** POTENTIAL INCOMPATIBILITY ***</p> - <p> - Own Id: OTP-14577</p> - </item> - <item> - <p> - The supervisor now stores its child specifications in a - map instead of a list. This causes a significant - improvement when starting many children under a - non-simple_one_for_one supervisor.</p> - <p> - Own Id: OTP-14586</p> - </item> - <item> - <p> The <c>base64</c> module is optimized. </p> <p> Note - that the functions <c>encode/1</c>, <c>decode/1</c>, and - <c>mime_decode/1</c> fail unless called with an argument - of the documented type. They used to accept any - <c>iodata()</c>. </p> - <p> - Own Id: OTP-14624 Aux Id: PR-1565 </p> - </item> - <item> - <p> Add function <c>lists:search/2</c>. </p> - <p> - Own Id: OTP-14675 Aux Id: PR-102 </p> - </item> - <item> - <p> - uri_string module extended with functions for handling - application/x-www-form-urlencoded query strings based on - the HTML5 specification.</p> - <p> - Own Id: OTP-14747</p> - </item> - <item> - <p> Add functions - <c>calendar:rfc3339_to_system_time/1,2</c> and - <c>calendar:system_time_to_rfc3339/1,2</c>. </p> - <p> - Own Id: OTP-14764</p> - </item> - <item> - <p> The stack traces returned by the functions of the - <c>erl_eval</c> module more accurately reflect where the - exception occurred. </p> - <p> - Own Id: OTP-14826 Aux Id: PR 1540 </p> - </item> - <item> - <p> Add options <c>atime</c>, <c>mtime</c>, <c>ctime</c>, - <c>uid</c>, and <c>gid</c> to the <c>erl_tar:add/3,4</c> - functions. </p> - <p> - Own Id: OTP-14834 Aux Id: PR 1608 </p> - </item> - <item> - <p>Added <c>ets:whereis/1</c> for retrieving the table - identifier of a named table.</p> - <p> - Own Id: OTP-14884</p> - </item> - <item> - <p> - Improved URI normalization functions in the uri_string - module.</p> - <p> - Own Id: OTP-14910</p> - </item> - <item> - <p> The new functions <c>io_lib:fwrite/3</c> and - <c>io_lib:format/3</c> take a third argument, an option - list. The only option is <c>chars_limit</c>, which is - used for limiting the number of returned characters. The - limit is soft, which means that the number of returned - characters exceeds the limit with at most a smallish - amount. If the limit is set, the functions - <c>format/3</c> and <c>fwrite/3</c> try to distribute the - number of characters evenly over the control sequences - <c>pPswW</c>. Furthermore, the control sequences - <c>pPwP</c> try to distribute the number of characters - evenly over substructures. </p> <p> A modification of the - control sequences <c>pPwW</c> is that even if there is no - limit on the number of returned characters, all - associations of a map are printed to the same depth. The - aim is to give a more consistent output as the order of - map keys is not defined. As before, if the depth is less - than the number of associations of a map, the selection - of associations to print is arbitrary. </p> - <p> - Own Id: OTP-14983</p> - </item> - <item> - <p> Add functions <c>ordsets:is_empty/1</c> and - <c>sets:is_empty/1</c>. </p> - <p> - Own Id: OTP-14996 Aux Id: ERL-557, PR-1703 </p> - </item> - <item> - <p> - Improve performance of <c>string:uppercase/1</c>, - <c>string:lowercase/1</c> and <c>string:casefold/1</c> - when handling ASCII characters.</p> - <p> - Own Id: OTP-14998</p> - </item> - <item> - <p>External funs with literal values for module, name, - and arity (e.g. <c>erlang:abs/1</c>) are now treated as - literals. That means more efficient code that produces - less garbage on the heap.</p> - <p> - Own Id: OTP-15003</p> - </item> - <item> - <p> - sys:statistics(Pid,get) did not report 'out' messages - from gen_server. This is now corrected.</p> - <p> - Own Id: OTP-15047</p> - </item> - <item> - <p> - A sys debug function can now have the format - {Id,Fun,State} in addition to the old {Fun,State}. This - allows installing multiple instances of a debug fun.</p> - <p> - Own Id: OTP-15048</p> - </item> - <item> - <p> The <c>lib</c> module is removed:</p> <list - type="bulleted"> <item><c>lib:error_message/2</c> is - removed.</item> <item><c>lib:flush_receive/0</c> is - removed.</item> <item><c>lib:nonl/1</c> is - removed.</item> <item><c>lib:progname/0</c> is replaced - by <c>ct:get_progname/0</c>.</item> - <item><c>lib:send/2</c> is removed.</item> - <item><c>lib:sendw/2</c> is removed.</item> </list> - <p> - *** POTENTIAL INCOMPATIBILITY ***</p> - <p> - Own Id: OTP-15072 Aux Id: PR 1786 </p> - </item> - <item> - <p> - Function <c>ets:delete_all_objects/1</c> now yields the - scheduler thread for large tables that take significant - time to clear. This to improve real time characteristics - of other runnable processes.</p> - <p> - Own Id: OTP-15078</p> - </item> - </list> - </section> - -</section> - <section><title>STDLIB 3.4.5</title> <section><title>Fixed Bugs and Malfunctions</title> |