<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/debugger/src, branch OTP-20.0.2</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Update copyright year</title>
<updated>2017-05-04T13:42:21+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2017-05-04T13:42:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=83e20c62057ebc1d8064bf57b01be560cd244e1d'/>
<id>83e20c62057ebc1d8064bf57b01be560cd244e1d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>debugger: Improve handling of pids, ports, and refs</title>
<updated>2017-04-27T08:26:48+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2017-03-31T14:41:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=32c1c7e5de9240eedd421f81f84c5469e6a5d0da'/>
<id>32c1c7e5de9240eedd421f81f84c5469e6a5d0da</id>
<content type='text'>
The extended parser is used by the debugger for handling pids, ports,
references, and external funs in the evaluator area and in the
bindings area.

Notice that pids, ports, references, and external funs that cannot be
created in the currently running are ignored (as before).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The extended parser is used by the debugger for handling pids, ports,
references, and external funs in the evaluator area and in the
bindings area.

Notice that pids, ports, references, and external funs that cannot be
created in the currently running are ignored (as before).
</pre>
</div>
</content>
</entry>
<entry>
<title>debugger: Show Latin-1 code correctly</title>
<updated>2017-04-07T06:57:27+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2017-03-30T13:30:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=55f4e2b93c92607a5a1c798541f101bae3e9247d'/>
<id>55f4e2b93c92607a5a1c798541f101bae3e9247d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>debugger: Enable editing of bit strings in the bindings area</title>
<updated>2017-04-03T12:35:11+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2017-03-31T14:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=20ba9ab511e645098ea278d2c96638e225a5013e'/>
<id>20ba9ab511e645098ea278d2c96638e225a5013e</id>
<content type='text'>
The evaluated string looked like "V=&lt;&lt;1&gt;&gt;", which cannot be scanned
correctly. A space after "=" fixes the bug.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The evaluated string looked like "V=&lt;&lt;1&gt;&gt;", which cannot be scanned
correctly. A space after "=" fixes the bug.
</pre>
</div>
</content>
</entry>
<entry>
<title>debugger: Remove a debug printout</title>
<updated>2017-04-03T12:35:00+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2017-03-31T14:41:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=97c3397831811fbde6fd60678e7056ee580210e3'/>
<id>97c3397831811fbde6fd60678e7056ee580210e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>debugger: Fix handling of locations and annotations</title>
<updated>2017-03-08T13:11:49+00:00</updated>
<author>
<name>Hans Bolinder</name>
<email>hasse@erlang.org</email>
</author>
<published>2017-02-10T15:00:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=bce73eb11441c3593304ccc88d6145ba1fbeffa1'/>
<id>bce73eb11441c3593304ccc88d6145ba1fbeffa1</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 'maint'</title>
<updated>2016-12-07T14:05:52+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2016-12-07T14:05:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ba1d721c4af43a1c775ef83322105ab9c5d96265'/>
<id>ba1d721c4af43a1c775ef83322105ab9c5d96265</id>
<content type='text'>
* maint:
  Update copyright-year

Conflicts:
	lib/dialyzer/src/dialyzer.hrl
	lib/dialyzer/src/dialyzer_options.erl
	lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl
	lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl
	lib/hipe/icode/hipe_icode.erl
	lib/hipe/main/hipe.erl
	lib/hipe/main/hipe.hrl.src
	lib/hipe/main/hipe_main.erl
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint:
  Update copyright-year

Conflicts:
	lib/dialyzer/src/dialyzer.hrl
	lib/dialyzer/src/dialyzer_options.erl
	lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl
	lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl
	lib/hipe/icode/hipe_icode.erl
	lib/hipe/main/hipe.erl
	lib/hipe/main/hipe.hrl.src
	lib/hipe/main/hipe_main.erl
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright-year</title>
<updated>2016-12-07T12:15:31+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2016-12-07T12:15:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3eddb0f762de248d3230b38bc9d478bfbc8e7331'/>
<id>3eddb0f762de248d3230b38bc9d478bfbc8e7331</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>warn_obsolete_guard is already default</title>
<updated>2016-11-29T13:15:32+00:00</updated>
<author>
<name>Richard Carlsson</name>
<email>richardc@klarna.com</email>
</author>
<published>2016-10-29T21:30:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=12f6a1b18fc573ce3f245bfd69e62fbaa378b80e'/>
<id>12f6a1b18fc573ce3f245bfd69e62fbaa378b80e</id>
<content type='text'>
Update compiler documentation and remove superfluous erlc flags.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update compiler documentation and remove superfluous erlc flags.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix overridden BIFs</title>
<updated>2016-09-02T12:24:36+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2016-08-15T13:34:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=0baa07cdf2754748bbc2d969bf83f08c0976fb78'/>
<id>0baa07cdf2754748bbc2d969bf83f08c0976fb78</id>
<content type='text'>
The filters in a list comprehension can be guard expressions or
an ordinary expressions.

If a guard expression is used as a filter, an exception will basically
mean the same as 'false':

  t() -&gt;
    L = [{some_tag,42},an_atom],
    [X || X &lt;- L, element(1, X) =:= some_tag]
    %% Returns [{some_tag,42}]

On the other hand, if an ordinary expression is used as a filter, there
will be an exception:

  my_element(N, T) -&gt; element(N, T).

  t() -&gt;
    L = [{some_tag,42},an_atom],
    [X || X &lt;- L, my_element(1, X) =:= some_tag]
    %% Causes a 'badarg' exception when element(1, an_atom) is evaluated

It has been allowed for several releases to override a BIF with
a local function. Thus, if we define a function called element/2,
it will be called instead of the BIF element/2 within the module.
We must use the "erlang:" prefix to call the BIF.

Therefore, the following code is expected to work the same way as in
our second example above:

-compile({no_auto_import,[element/2]}).

element(N, T) -&gt;
    erlang:element(N, T).

t() -&gt;
    L = [{some_tag,42},an_atom],
    [X || X &lt;- L, element(1, X) =:= some_tag].
    %% Causes a 'badarg' exception when element(1, an_atom) is evaluated

But the compiler refuses to compile the code with the following
diagnostic:

  call to local/imported function element/2 is illegal in guard
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The filters in a list comprehension can be guard expressions or
an ordinary expressions.

If a guard expression is used as a filter, an exception will basically
mean the same as 'false':

  t() -&gt;
    L = [{some_tag,42},an_atom],
    [X || X &lt;- L, element(1, X) =:= some_tag]
    %% Returns [{some_tag,42}]

On the other hand, if an ordinary expression is used as a filter, there
will be an exception:

  my_element(N, T) -&gt; element(N, T).

  t() -&gt;
    L = [{some_tag,42},an_atom],
    [X || X &lt;- L, my_element(1, X) =:= some_tag]
    %% Causes a 'badarg' exception when element(1, an_atom) is evaluated

It has been allowed for several releases to override a BIF with
a local function. Thus, if we define a function called element/2,
it will be called instead of the BIF element/2 within the module.
We must use the "erlang:" prefix to call the BIF.

Therefore, the following code is expected to work the same way as in
our second example above:

-compile({no_auto_import,[element/2]}).

element(N, T) -&gt;
    erlang:element(N, T).

t() -&gt;
    L = [{some_tag,42},an_atom],
    [X || X &lt;- L, element(1, X) =:= some_tag].
    %% Causes a 'badarg' exception when element(1, an_atom) is evaluated

But the compiler refuses to compile the code with the following
diagnostic:

  call to local/imported function element/2 is illegal in guard
</pre>
</div>
</content>
</entry>
</feed>
