<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/stdlib/src, branch KennethL-patch-1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Merge branch 'sverker/ets-match_spec_run-spec/OTP-14889' into maint</title>
<updated>2018-01-29T15:02:17+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-01-29T15:02:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=184db040e4fca5eacd7150098d77c4d5829d6c52'/>
<id>184db040e4fca5eacd7150098d77c4d5829d6c52</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'raimo/stdlib/optimize-gen_statem' into maint</title>
<updated>2018-01-24T14:55:25+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2018-01-24T14:55:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b171521e68262b9a830e8b8dd98467097d283753'/>
<id>b171521e68262b9a830e8b8dd98467097d283753</id>
<content type='text'>
* raimo/stdlib/optimize-gen_statem:
  Optimize plain call response time
  Correct typo in design principles for gen_statem
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* raimo/stdlib/optimize-gen_statem:
  Optimize plain call response time
  Correct typo in design principles for gen_statem
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Fix spec for match_spec_run/2</title>
<updated>2018-01-23T20:07:04+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2018-01-23T20:07:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7029ac608a31904c294e0d99da1cf4f7750b5294'/>
<id>7029ac608a31904c294e0d99da1cf4f7750b5294</id>
<content type='text'>
Matching can be done on any terms.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Matching can be done on any terms.
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Correct contracts</title>
<updated>2018-01-22T14:28:51+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2018-01-19T09:37:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a92b77d7cd19947bd3896dcd96c7e389efdec2de'/>
<id>a92b77d7cd19947bd3896dcd96c7e389efdec2de</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize plain call response time</title>
<updated>2018-01-16T15:29:38+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2017-12-08T08:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=412080c9e1f53785ef9f158deb91851561018c9d'/>
<id>412080c9e1f53785ef9f158deb91851561018c9d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Garbage the shell's evaluator process more often</title>
<updated>2018-01-16T14:24:50+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2018-01-16T14:14:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ff772a50d2be3770a480ccf6348935a5e389c626'/>
<id>ff772a50d2be3770a480ccf6348935a5e389c626</id>
<content type='text'>
A minor fix.

If the Erlang shell saves no results (history(0) or results(0)), the
evaluator process now garbage collects itself. This means that any
huge binaries created by the evaluation are reclaimed faster than
before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A minor fix.

If the Erlang shell saves no results (history(0) or results(0)), the
evaluator process now garbage collects itself. This means that any
huge binaries created by the evaluation are reclaimed faster than
before.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553' into maint</title>
<updated>2018-01-16T08:56:13+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2018-01-16T08:56:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a5a0d49a3e9e76ed893920698f7ddbd97601d671'/>
<id>a5a0d49a3e9e76ed893920698f7ddbd97601d671</id>
<content type='text'>
* hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553:
  stdlib: Handle Unicode when formatting stacktraces
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553:
  stdlib: Handle Unicode when formatting stacktraces
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'hasse/stdlib/find_src/OTP-14832/ERL-527' into maint</title>
<updated>2018-01-15T11:28:31+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2018-01-15T11:28:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=39dbc655f6aa2a971019feccefa3a27273305091'/>
<id>39dbc655f6aa2a971019feccefa3a27273305091</id>
<content type='text'>
* hasse/stdlib/find_src/OTP-14832/ERL-527:
  stdlib: Correct a filelib test case
  stdlib: Let filelib:find_source() search subdirs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* hasse/stdlib/find_src/OTP-14832/ERL-527:
  stdlib: Correct a filelib test case
  stdlib: Let filelib:find_source() search subdirs
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Handle Unicode when formatting stacktraces</title>
<updated>2018-01-15T07:37:17+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2018-01-12T15:43:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ff65e1164cc16739c51c456b4e350e966cc2b1ef'/>
<id>ff65e1164cc16739c51c456b4e350e966cc2b1ef</id>
<content type='text'>
See also ERL-553 and ERL-544 (commit c3ddb0f).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See also ERL-553 and ERL-544 (commit c3ddb0f).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix false Dialyzer warnings for erl_tar:table/1</title>
<updated>2018-01-09T13:18:30+00:00</updated>
<author>
<name>Guilherme Andrade</name>
<email>g@gandrade.net</email>
</author>
<published>2018-01-01T17:48:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=21214178d05ffa482d7377a22285b38834566d2c'/>
<id>21214178d05ffa482d7377a22285b38834566d2c</id>
<content type='text'>
'tar_entry()' values are only returned if we specify the 'verbose'
option when calling table/2, which table/1 doesn't do.

Now, it appears that Dialyzer as of OTP 20 is clever enough to realize
that the return type of table/1 must intersect with the return type of
table/2, and so it ignores the fact that table/1 says it returns
strings, and therefore its callers are expected to be dealing with
'tar_entry()' tuples, and never with strings.

This is obviously a mismatch between what the code does and what the
spec says is does, leading to false Dialyzer warnings on code that uses
table/1 (and, presumably, also table/2 when called without
the 'verbose' option.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'tar_entry()' values are only returned if we specify the 'verbose'
option when calling table/2, which table/1 doesn't do.

Now, it appears that Dialyzer as of OTP 20 is clever enough to realize
that the return type of table/1 must intersect with the return type of
table/2, and so it ignores the fact that table/1 says it returns
strings, and therefore its callers are expected to be dealing with
'tar_entry()' tuples, and never with strings.

This is obviously a mismatch between what the code does and what the
spec says is does, leading to false Dialyzer warnings on code that uses
table/1 (and, presumably, also table/2 when called without
the 'verbose' option.)
</pre>
</div>
</content>
</entry>
</feed>
