<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/perl.git/opcode.h, branch smoke-me/cpan</title>
<subtitle>github.com: perl/perl5.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/'/>
<entry>
<title>Make push/shift $scalar accept only unblessed aryrefs</title>
<updated>2011-04-18T13:34:33+00:00</updated>
<author>
<name>Father Chrysostomos</name>
<email>sprout@cpan.org</email>
</author>
<published>2011-04-18T13:34:01+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=d4fc4415aac96132fac5b1e43e73bcba33a41b79'/>
<id>d4fc4415aac96132fac5b1e43e73bcba33a41b79</id>
<content type='text'>
See ticket #80626.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See ticket #80626.
</pre>
</div>
</content>
</entry>
<entry>
<title>Move all the generated file header printing into read_only_top()</title>
<updated>2011-01-23T00:13:20+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-23T00:09:24+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=78102347e0341b1cd4795accd0ca5ff1f2621bb2'/>
<id>78102347e0341b1cd4795accd0ca5ff1f2621bb2</id>
<content type='text'>
Previously all the scripts in regen/ had code to generate header comments
(buffer-read-only, "do not edit this file", and optionally regeneration
script, regeneration data, copyright years and filename).

This change results in some minor reformatting of header blocks, and
standardises the copyright line as "Larry Wall and others".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously all the scripts in regen/ had code to generate header comments
(buffer-read-only, "do not edit this file", and optionally regeneration
script, regeneration data, copyright years and filename).

This change results in some minor reformatting of header blocks, and
standardises the copyright line as "Larry Wall and others".
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge the implementations of {end,set}{gr,pw}ent with endhostent.</title>
<updated>2011-01-10T11:54:28+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-10T11:54:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=720d5dbf0d947286fddc718fa10dcc1b55949caf'/>
<id>720d5dbf0d947286fddc718fa10dcc1b55949caf</id>
<content type='text'>
Unlike set{host,net,proto,serv}ent, set{gr,pw}ent don't have stayopen
parameter, hence their "signature" is the same as the ent*ent functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unlike set{host,net,proto,serv}ent, set{gr,pw}ent don't have stayopen
parameter, hence their "signature" is the same as the ent*ent functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge the implementations of pp_s{host,net,proto,serv}ent.</title>
<updated>2011-01-10T11:39:34+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-10T10:29:06+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=396166e10147fc6b88509af7c63dd916a683a86c'/>
<id>396166e10147fc6b88509af7c63dd916a683a86c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge the implementations of pp_e{host,net,proto,serv}ent.</title>
<updated>2011-01-10T11:19:18+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-10T10:12:10+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=d8ef1fcdce21e8d5905a1ed77bc1caa307b2b79e'/>
<id>d8ef1fcdce21e8d5905a1ed77bc1caa307b2b79e</id>
<content type='text'>
PL_op_desc[] rather than PL_op_name(), as the OPs are internally named e*ent,
but implement the ent*ent functions, and when unimplemented report themselves
using the function name. No need for OP_DESC(), as the switch statement means
that we can't encounter OP_CUSTOM.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PL_op_desc[] rather than PL_op_name(), as the OPs are internally named e*ent,
but implement the ent*ent functions, and when unimplemented report themselves
using the function name. No need for OP_DESC(), as the switch statement means
that we can't encounter OP_CUSTOM.
</pre>
</div>
</content>
</entry>
<entry>
<title>Generate "Unsupported socket function" stubs using PL_ppaddr.</title>
<updated>2011-01-09T17:28:17+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-08T15:56:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=7627e6d0fe772ac90fce9e03fea273109521e261'/>
<id>7627e6d0fe772ac90fce9e03fea273109521e261</id>
<content type='text'>
Instead of having each socket op conditionally compile as either the
implementation or a DIE() depending on #HAS_SOCKET

1: remove the conditional code from the ops themselves
2: only compile the ops if HAS_SOCKET is defined
3: general conditional code for the intialisation of PL_ppaddr - as appropriate
   either the ops, or Perl_unimplemented_op
4: Amend Perl_unimplemented_op to generate the appropriate DIE() for socket
   ops (ie not the "panic"... message)

Whilst this complicates the support code in regen/opcode.pl, it's already a
net saving of 5 lines in the C code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of having each socket op conditionally compile as either the
implementation or a DIE() depending on #HAS_SOCKET

1: remove the conditional code from the ops themselves
2: only compile the ops if HAS_SOCKET is defined
3: general conditional code for the intialisation of PL_ppaddr - as appropriate
   either the ops, or Perl_unimplemented_op
4: Amend Perl_unimplemented_op to generate the appropriate DIE() for socket
   ops (ie not the "panic"... message)

Whilst this complicates the support code in regen/opcode.pl, it's already a
net saving of 5 lines in the C code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename pp_send to pp_syswrite, making send an alias for syswrite.</title>
<updated>2011-01-09T12:22:53+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-08T13:49:21+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=60504e186da3226f64f36cdc4c9e700993e6f372'/>
<id>60504e186da3226f64f36cdc4c9e700993e6f372</id>
<content type='text'>
Previously syswrite was an alias for send. However, syswrite is always
available, whereas send is not implemented if HAS_SOCKET is not defined.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously syswrite was an alias for send. However, syswrite is always
available, whereas send is not implemented if HAS_SOCKET is not defined.
</pre>
</div>
</content>
</entry>
<entry>
<title>In opcode.h, use the alias macros in PL_ppaddr[]</title>
<updated>2011-01-09T12:11:24+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-08T11:11:52+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=6f3ed33686edc657dce73f7b5a70e096a40970aa'/>
<id>6f3ed33686edc657dce73f7b5a70e096a40970aa</id>
<content type='text'>
For OPs that share implementations, use #define aliases for the "original"
names in PL_ppaddr[], instead of having regen/opcode.pl replace them with
the name of the implementing OP body. Whilst this initially adds another layer
of indirection, it will give more flexibility where conditional compilation of
OPs is determined by the feature macros in config.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For OPs that share implementations, use #define aliases for the "original"
names in PL_ppaddr[], instead of having regen/opcode.pl replace them with
the name of the implementing OP body. Whilst this initially adds another layer
of indirection, it will give more flexibility where conditional compilation of
OPs is determined by the feature macros in config.h
</pre>
</div>
</content>
</entry>
<entry>
<title>regen/opcode.pl should only generate prototypes for pp_* functions that exist.</title>
<updated>2011-01-09T11:59:14+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-09T11:27:19+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=981b7185ef2472d1c02fc44a48e3319544ae0baf'/>
<id>981b7185ef2472d1c02fc44a48e3319544ae0baf</id>
<content type='text'>
It now generates prototypes for all functions that implement OPs. Hence
Perl_unimplemented_op no longer needs a special-case prototype. As it is now
generating a prototype for Perl_do_kv, no need for regen/embed.pl to duplicate
this. Convert the last two users of the macro do_kv() to Perl_do_kv(aTHX).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It now generates prototypes for all functions that implement OPs. Hence
Perl_unimplemented_op no longer needs a special-case prototype. As it is now
generating a prototype for Perl_do_kv, no need for regen/embed.pl to duplicate
this. Convert the last two users of the macro do_kv() to Perl_do_kv(aTHX).
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace OP stubs in mathoms.c with #define aliases in opcode.h</title>
<updated>2011-01-09T09:04:40+00:00</updated>
<author>
<name>Nicholas Clark</name>
<email>nick@ccl4.org</email>
</author>
<published>2011-01-02T19:13:12+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/perl.git/commit/?id=9561d06f3dc19930c1acfa8c2e046c80782cb876'/>
<id>9561d06f3dc19930c1acfa8c2e046c80782cb876</id>
<content type='text'>
External code that references OPs by name will still link (and work).
Unlike the other compatibility functions in mathoms.c, the OP stubs were simply
making calls onwards to their replacements, so simply taking up space without
adding anything.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
External code that references OPs by name will still link (and work).
Unlike the other compatibility functions in mathoms.c, the OP stubs were simply
making calls onwards to their replacements, so simply taking up space without
adding anything.
</pre>
</div>
</content>
</entry>
</feed>
