<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/syntax_tools/test/merl_SUITE.erl, branch OTP-20.2.0.1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Fix infinite loop in merl_transform</title>
<updated>2016-07-09T15:21:27+00:00</updated>
<author>
<name>Péter Gömöri</name>
<email>gomoripeti@gmail.com</email>
</author>
<published>2016-07-09T15:21:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=fee45935eb7f5a098cbbbaf1c8d1a8f9a77ce418'/>
<id>fee45935eb7f5a098cbbbaf1c8d1a8f9a77ce418</id>
<content type='text'>
This can happen when a syntactically incorrect text is passed to a
merl:qquote/2,/3 call.

The parse transform optimizes calls to some functions in merl by
converting strings into templates at compile time. If this evaluation
fails (in eval_call/4 - for example because of a sytanx error in the
parsed text) the original function call should be kept unchanged.
However in case of qquote/3 the call is converted into a combination of
quote/2 and subst/2, but upon failure the original qquote/3 call is
substituted into the wrong place. E.g.:

this expression
  merl:qquote(Pos, Text, Env)

is first converted to
  merl:subst(merl:quote(Pos, Text), Env)

then if evaluating the quote call fails into
  merl:subst(merl:qquote(Pos, Text, Env), Env)

and the expansion is run again on the internal qquote/3 argument
resulting in an infinite loop.

This is now fixed so in case of failure the original qquote/3 call is kept.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This can happen when a syntactically incorrect text is passed to a
merl:qquote/2,/3 call.

The parse transform optimizes calls to some functions in merl by
converting strings into templates at compile time. If this evaluation
fails (in eval_call/4 - for example because of a sytanx error in the
parsed text) the original function call should be kept unchanged.
However in case of qquote/3 the call is converted into a combination of
quote/2 and subst/2, but upon failure the original qquote/3 call is
substituted into the wrong place. E.g.:

this expression
  merl:qquote(Pos, Text, Env)

is first converted to
  merl:subst(merl:quote(Pos, Text), Env)

then if evaluating the quote call fails into
  merl:subst(merl:qquote(Pos, Text, Env), Env)

and the expansion is run again on the internal qquote/3 argument
resulting in an infinite loop.

This is now fixed so in case of failure the original qquote/3 call is kept.
</pre>
</div>
</content>
</entry>
<entry>
<title>Eliminate use of test_server.hrl and test_server_line.hrl</title>
<updated>2016-02-17T09:34:51+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2016-02-15T14:33:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=03fcb7dabf8861e60ffab4121a909b347bccfec9'/>
<id>03fcb7dabf8861e60ffab4121a909b347bccfec9</id>
<content type='text'>
As a first step to removing the test_server application as
as its own separate application, change the inclusion of
test_server.hrl to an inclusion of ct.hrl and remove the
inclusion of test_server_line.hrl.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a first step to removing the test_server application as
as its own separate application, change the inclusion of
test_server.hrl to an inclusion of ct.hrl and remove the
inclusion of test_server_line.hrl.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change license text to APLv2</title>
<updated>2015-06-18T09:31:02+00:00</updated>
<author>
<name>Bruce Yinhe</name>
<email>bruce@erlang.org</email>
</author>
<published>2015-06-18T09:31:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=738c34d4bb8f1a3811acd00af8c6c12107f8315b'/>
<id>738c34d4bb8f1a3811acd00af8c6c12107f8315b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for merl in syntax_tools</title>
<updated>2015-05-22T10:43:53+00:00</updated>
<author>
<name>Richard Carlsson</name>
<email>richardc@klarna.com</email>
</author>
<published>2015-05-12T08:48:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5b5fa217dc72f9d3dd679d59c8bab262d5ce8da2'/>
<id>5b5fa217dc72f9d3dd679d59c8bab262d5ce8da2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
