<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/stdlib/src, branch OTP_R16B03-1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Spec for atan2 should be atan2(Y, X), not atan2(X, Y)</title>
<updated>2013-10-16T18:00:28+00:00</updated>
<author>
<name>Ary Borenszweig</name>
<email>aborenszweig@manas.com.ar</email>
</author>
<published>2013-10-16T18:00:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d8fc186214f28c757d9ff06578f6042497d8bba5'/>
<id>d8fc186214f28c757d9ff06578f6042497d8bba5</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 'blt/gen_server-typo/OTP-11398' into maint</title>
<updated>2013-10-15T12:52:44+00:00</updated>
<author>
<name>Fredrik Gustafsson</name>
<email>fredrik@erlang.org</email>
</author>
<published>2013-10-15T12:52:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bbe80d2ad4ef0ca607ba557102212cb7c9a06e2c'/>
<id>bbe80d2ad4ef0ca607ba557102212cb7c9a06e2c</id>
<content type='text'>
* blt/gen_server-typo/OTP-11398:
  Change 'recive' to 'receive' in gen_server.erl
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* blt/gen_server-typo/OTP-11398:
  Change 'recive' to 'receive' in gen_server.erl
</pre>
</div>
</content>
</entry>
<entry>
<title>Change 'recive' to 'receive' in gen_server.erl</title>
<updated>2013-10-12T23:02:20+00:00</updated>
<author>
<name>Brian L. Troutwine</name>
<email>brian@troutwine.us</email>
</author>
<published>2013-10-12T23:02:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=dec57df06c6ed0f96995b979d16489c484039bd2'/>
<id>dec57df06c6ed0f96995b979d16489c484039bd2</id>
<content type='text'>
A small spelling correction merely; no functionality change.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A small spelling correction merely; no functionality change.</pre>
</div>
</content>
</entry>
<entry>
<title>Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.</title>
<updated>2013-09-12T13:09:35+00:00</updated>
<author>
<name>Pierre Fenoll</name>
<email>pierrefenoll@gmail.com</email>
</author>
<published>2013-09-10T14:48:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=21095e6830f37676dd29c33a590851ba2c76499b'/>
<id>21095e6830f37676dd29c33a590851ba2c76499b</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix variable usage tracking in some record errors</title>
<updated>2013-08-27T14:15:21+00:00</updated>
<author>
<name>Anthony Ramine</name>
<email>n.oxyde@gmail.com</email>
</author>
<published>2013-07-31T08:31:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=92460f4035e369be8726c88a72055d0fd6c7cdfe'/>
<id>92460f4035e369be8726c88a72055d0fd6c7cdfe</id>
<content type='text'>
When reporting a field redefinition in a record, erl_lint can forget
about some old unused variables.

f() -&gt; X = 1, #r{a=foo,a=bar,a=qux}.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When reporting a field redefinition in a record, erl_lint can forget
about some old unused variables.

f() -&gt; X = 1, #r{a=foo,a=bar,a=qux}.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix unsafe variable tracking in try expressions</title>
<updated>2013-08-27T14:15:21+00:00</updated>
<author>
<name>Anthony Ramine</name>
<email>n.oxyde@gmail.com</email>
</author>
<published>2013-07-22T19:41:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=9ce148b1059e4da746a11f1d80a653340216c468'/>
<id>9ce148b1059e4da746a11f1d80a653340216c468</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix variable usage tracking in erl_lint</title>
<updated>2013-08-27T14:15:21+00:00</updated>
<author>
<name>Anthony Ramine</name>
<email>n.oxyde@gmail.com</email>
</author>
<published>2013-06-05T23:34:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f846bf70b0c97ce66f29b0ff88a50316924bf34e'/>
<id>f846bf70b0c97ce66f29b0ff88a50316924bf34e</id>
<content type='text'>
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) -&gt;
  #r{a=[ K || K &lt;- Y ],b=[ K || K &lt;- 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) -&gt;
  #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) -&gt;
  {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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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) -&gt;
  #r{a=[ K || K &lt;- Y ],b=[ K || K &lt;- 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) -&gt;
  #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) -&gt;
  {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
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sze/edlin_understand_keys/OTP-11251' into maint</title>
<updated>2013-08-26T08:27:30+00:00</updated>
<author>
<name>Fredrik Gustafsson</name>
<email>fredrik@erlang.org</email>
</author>
<published>2013-08-26T08:27:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5e2876e4524eb7de61a6d3661e0bfe1a22472668'/>
<id>5e2876e4524eb7de61a6d3661e0bfe1a22472668</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'alexrp/export_edge/OTP-11266' into maint</title>
<updated>2013-08-26T08:19:09+00:00</updated>
<author>
<name>Fredrik Gustafsson</name>
<email>fredrik@erlang.org</email>
</author>
<published>2013-08-26T08:19:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6dcd4ebc32dc0356331cb29e323a56f72e2dbaf4'/>
<id>6dcd4ebc32dc0356331cb29e323a56f72e2dbaf4</id>
<content type='text'>
* alexrp/export_edge/OTP-11266:
  Export the edge/0 type from the digraph module
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* alexrp/export_edge/OTP-11266:
  Export the edge/0 type from the digraph module
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct the specifications of io_lib:fread/2,3</title>
<updated>2013-08-21T13:53:37+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2013-08-21T11:50:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=a474bdfda30a3b6a520bf2be4b4550b251095703'/>
<id>a474bdfda30a3b6a520bf2be4b4550b251095703</id>
<content type='text'>
Thanks to Chris King and Kostis Sagonas for pinpointing the bug.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks to Chris King and Kostis Sagonas for pinpointing the bug.
</pre>
</div>
</content>
</entry>
</feed>
