summaryrefslogtreecommitdiff
path: root/pp_proto.h
Commit message (Collapse)AuthorAgeFilesLines
* Implement the fc keyword and the \F string escape.Brian Fraser2012-01-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | Along with the simple_casefolding and full_casefolding features. fc() stands for foldcase, a sort of pseudo case (like lowercase), which is used to implement Unicode casefolding. It maps a string to a form where all case differences are erased, so it's a locale-independent way of checking if two strings are the same, regardless of case. This functionality was, and still is, available through the regular expression engine -- /i matches would use casefolding internally. The fc keyword merely exposes this for easier access. Previously, one could attempt to case-insensitively test two strings for equality by doing lc($a) eq lc($b) But that might get you wrong results, for example in the case of \x{DF}, LATIN SMALL LETTER SHARP S.
* [perl #80628] __SUB__Father Chrysostomos2011-11-221-0/+1
| | | | | After much alternation, altercation and alteration, __SUB__ is finally here.
* Merge postinc and postdecFather Chrysostomos2011-09-161-1/+0
| | | | They were nearly identical.
* Merge preinc and postincFather Chrysostomos2011-09-161-1/+0
| | | | | They are almost identical. This gives the compiler less code to digest.
* Add coreargs opFather Chrysostomos2011-08-181-0/+1
| | | | &CORE::foo subs will use this operator for sorting out @_.
* Move all the generated file header printing into read_only_top()Nicholas Clark2011-01-231-3/+3
| | | | | | | | | 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".
* Merge the implementations of {end,set}{gr,pw}ent with endhostent.Nicholas Clark2011-01-101-4/+0
| | | | | 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.
* Merge the implementations of pp_s{host,net,proto,serv}ent.Nicholas Clark2011-01-101-3/+0
|
* Merge the implementations of pp_e{host,net,proto,serv}ent.Nicholas Clark2011-01-101-3/+0
| | | | | | | 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.
* Rename pp_send to pp_syswrite, making send an alias for syswrite.Nicholas Clark2011-01-091-1/+1
| | | | | Previously syswrite was an alias for send. However, syswrite is always available, whereas send is not implemented if HAS_SOCKET is not defined.
* regen/opcode.pl should only generate prototypes for pp_* functions that exist.Nicholas Clark2011-01-091-91/+2
| | | | | | | 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).
* Generate pp_* prototypes in pp_proto.h, and remove pp.symNicholas Clark2011-01-091-2/+373
| | | | | | | | | | | Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13 locations that relied on them. regen/opcode.pl now generates prototypes for the PP functions directly, into pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads this, removing the only ordering dependency in the regen scripts. opcode.pl is now responsible for prototypes for pp_* functions. (embed.pl remains responsible for ck_* functions, reading from regen/opcodes)
* Move OP prototypes from pp_proto.h to proto.hNicholas Clark2010-09-271-414/+2
| | | | | | | | | | | | Make embed.pl fully responsible for generating prototypes and embedding macros for pp_* and ck_* functions, placing them in embed.h and proto.h opcode.pl no longer generates pp_proto.h Remove the (effectively) duplicate explicit entries for (all but 2) ck_* functions from embed.fnc We can't actually remove pp_proto.h from the distribution *yet*, as ExtUtils::MM_Unix and ExtUtils::MM_VMS have hardcoded lists of the installed headers. Once this is resolved, we can.
* Move the boolkeys op to the group of hash ops.Nicholas Clark2009-10-151-1/+1
| | | | This breaks binary compatibility.
* Optimise if (%foo) to be faster than if(keys %foo)demerphq2009-10-151-0/+1
| | | | | | | | | | | Thread was "[PATCH] Make if (%hash) {} act the same as if (keys %hash) {}" http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-11/msg00432.html but the implementation evolved from the approach described in the subject, to instead add a new opcode pp_boolkeys, to exactly preserve the existing behaviour. Various conflicts with the passage of time resolved, 'register' removed, and a $VERSION bump.
* Re: [PATCH] Splitting OP_CONST (Was: pp_const, not, that, hot?)Vincent Pit2008-02-231-0/+1
| | | | | | Message-ID: <47B60D72.50708@profvince.com> Date: Fri, 15 Feb 2008 23:08:50 +0100 p4raw-id: //depot/perl@33356
* Eliminate ck_lengthconst.Nicholas Clark2008-02-201-1/+0
| | | p4raw-id: //depot/perl@33338
* [patch] optimize OP_IS_(FILETEST|SOCKET) macrosJim Cromie2008-02-101-2/+2
| | | | | | Message-ID: <47ADBF3B.2050108@gmail.com> Date: Sat, 09 Feb 2008 07:56:59 -0700 p4raw-id: //depot/perl@33267
* Eliminate the OP_SETSTATE, which had been disabled by change 4309.Nicholas Clark2008-01-261-1/+0
| | | p4raw-id: //depot/perl@33072
* Implement each @array.Nicholas Clark2007-12-201-0/+4
| | | | | | Documentation needed, FIXME for proper 64 bit support of arrays longer than 2**32, re-order the new ops at the end if merging to 5.10.x. p4raw-id: //depot/perl@32680
* Make state $zok = slosh(); behave as the Perl 6 design with an implicitNicholas Clark2007-09-061-0/+1
| | | | | | | | | | | | | | | START block. First time through, call slosh() and assign to $zok. Subsequently neither call slosh() nor assign to $zok. Adds a new op ONCE to control the conditonal call and assign. No change to list context, so state ($zok) = slosh() and (state $zok) = ... etc will still repeatedly evaluate and assign. [Can't fix that before 5.10] Use as an RVALUE is as Larry's design - my $boff = state $zok = ...; will evaluate, assign and return first time, and subsequently act as if it were written my $boff = $zok; FIXME - state $zok = ...; won't deparse - I believe op->op_last isn't being correctly set on the sassign, but I don't know how to fix this. This change may be backed out before 5.10. p4raw-id: //depot/perl@31798
* A logical rearrangement of ops, to get the post 5.005 ops to theirNicholas Clark2007-03-301-12/+12
| | | | | logical groups. p4raw-id: //depot/perl@30784
* Make readline() default to *ARGV.Rafael Garcia-Suarez2007-03-241-0/+1
| | | | | Plus MAD fixes. p4raw-id: //depot/perl@30750
* Eliminate pp_threadsv, as it was only ever used by 5005 threads.Nicholas Clark2007-01-081-1/+0
| | | p4raw-id: //depot/perl@29727
* Patch by Yves Orton to fix the regression reported in :Andreas König2006-11-201-5/+5
| | | | | | Subject: 28325/6 break DateTime::Format::Strptime Message-ID: <877ixs6oa6.fsf@k75.linux.bogus> p4raw-id: //depot/perl@29324
* Re: $, and sayGisle Aas2006-11-021-1/+0
| | | | | | | | Message-ID: <lrek2t1e8n.fsf@caliper.activestate.com> with tweaks so "say;" continues to default to $_ plus a regression test p4raw-id: //depot/perl@29187
* Allow bareword file handle as argument to chdir().Gisle Aas2006-02-071-0/+1
| | | | | | This copies the mechanism used by truncate(). Fixes bug #38457. p4raw-id: //depot/perl@27125
* latest switch/say/~~Robin Houston2005-12-191-0/+10
| | | | | Message-Id: <20051217204431.GB28940@rpc142.cs.man.ac.uk> p4raw-id: //depot/perl@26400
* Include vim/emacs modelines in generated files to open themRafael Garcia-Suarez2005-05-111-1/+4
| | | | | | in read-only mode. Make vi modelines compatible with non-vim vi versions. p4raw-id: //depot/perl@24445
* retract 22328 and 22332: deprecation warning for my $x if fooDave Mitchell2004-03-041-1/+0
| | | p4raw-id: //depot/perl@22433
* add deprecation warning for C<my $x if foo> and C<foo && (my $x)>Dave Mitchell2004-02-171-0/+1
| | | p4raw-id: //depot/perl@22328
* Tidy up change #18751, so that the second parameter to unpack()Rafael Garcia-Suarez2004-01-031-0/+1
| | | | | | | defaults to $_ at compile-time, instead of run-time (like all other primitives that default to $_). p4raw-link: @18751 on //depot/perl: 13dcffc60adeca175c32a1ea11ec8756d4853ad2 p4raw-id: //depot/perl@22047
* Defined-or patch (cleaned up)Brent Dax2002-08-051-0/+2
| | | | | | From: "Brent Dax" <brentdax@cpan.org> Message-id: <000001c234a1$d1ca72c0$6501a8c0@deepblue> p4raw-id: //depot/perl@17682
* vmsish fix, ieee rand() cleanupCharles Lane2001-10-191-0/+1
| | | | | Message-Id: <011019174427.d749b@DUPHY4.Physics.Drexel.Edu> p4raw-id: //depot/perl@12513
* Retract #11166 (and #11237).Jarkko Hietaniemi2001-07-121-1/+0
| | | p4raw-id: //depot/perl@11285
* (Retracted by #11285.)Abhijit Menon-Sen2001-07-061-0/+1
| | | | | | Subject: Re: [PATCH] mkdir() mode argument is missing initial 0 Message-ID: <20010706012632.A28327@lustre.dyn.wiw.org> p4raw-id: //depot/perl@11166
* Integrate change #10412 from maintperl; locale is nowJarkko Hietaniemi2001-06-031-2/+0
| | | | | | | | | | | | | | | per-cop, not per-op; plus retweak the locale.t to always list the skipped utf8 locales. p4raw-link: @10412 on //depot/maint-5.6/perl: 71d0b827413df9e881d1c54d2d968823ed50c75b p4raw-id: //depot/perl@10413 p4raw-edited: from //depot/maint-5.6/perl@10411 'edit in' t/pragma/locale.t (@8600..) p4raw-integrated: from //depot/maint-5.6/perl@10411 'merge in' lib/locale.pm (@5902..) opcode.h pp.sym pp_proto.h (@8620..) opcode.pl (@8998..) op.h perl.h (@9288..) pp_sys.c (@9524..) util.c (@9538..) embed.h (@9584..) op.c (@9950..) pp.c (@10091..) pp_ctl.c (@10100..)
* Infrastructure to allow:Nick Ing-Simmons2001-01-201-1/+1
| | | | | | | | | | open($fh,"|-",@array); to be implemented i.e. mark pp_open as needing a stack mark, and make pp_open process its args in that style (and pass them _all_ to tied handles OPEN). Invent do_openn() which takes SV ** at allow it to see multiple args. Note this does not _do_ anything yet. p4raw-id: //depot/perlio@8484
* Consolidated lvalue sub changesStephen McCamant2001-01-121-0/+1
| | | | | Message-ID: <14941.16925.736415.785818@soda.csua.berkeley.edu> p4raw-id: //depot/perl@8417
* Regen headers.Jarkko Hietaniemi2000-10-031-0/+1
| | | p4raw-id: //depot/perl@7123
* support for C<use vmsish 'hushed'>; move VMSISH_EXIT out ofGurusamy Sarathy2000-03-191-0/+1
| | | | | op_private (from Charles Lane <lane@DUPHY4.Physics.Drexel.Edu>) p4raw-id: //depot/perl@5816
* support binmode(F,":crlf") and use open IN => ":raw", OUT => ":crlf"Gurusamy Sarathy2000-03-091-0/+1
| | | | | semantics; the pragma sets defaults for both open() and qx// p4raw-id: //depot/perl@5628
* optional warning on join(/foo/...) (reworked suggested patchGurusamy Sarathy1999-09-061-0/+1
| | | | | by Mark-Jason Dominus <mjd@plover.com>) p4raw-id: //depot/perl@4083
* initial implementation of lvalue subroutines (slightly fixedGurusamy Sarathy1999-09-051-0/+1
| | | | | | version of patch suggested by Ilya Zakharevich, which in turn is based on the one suggested by Tuomas J. Lukka <lukka@iki.fi>) p4raw-id: //depot/perl@4081
* optimize method name lookupChip Salzenberg1999-07-261-0/+2
| | | | | | Message-ID: <19990722134336.Q391@perlsupport.com> Subject: [PATCH] OP_METHOD_NAMED p4raw-id: //depot/perl@3768
* applied suggested patch for tracking line numbers correctly inHugo van der Sanden1999-07-231-0/+1
| | | | | | | | optimized blocks with a single statement; changed setcop to setstate and added code for -Dx dumps Message-Id: <199906231627.RAA24033@crypt.compulink.co.uk> Subject: [PATCH 5.005_57] Line number error in optimised else() p4raw-id: //depot/perl@3728
* add do-not-edit caveats for files generated by opcode.plGurusamy Sarathy1999-07-071-0/+5
| | | | | (suggested by Hugo van der Sanden) p4raw-id: //depot/perl@3633
* Optimize away OP_SASSIGNIlya Zakharevich1999-07-061-0/+1
| | | | | Message-Id: <199906120849.EAA26986@monk.mps.ohio-state.edu> p4raw-id: //depot/perl@3612
* initial stub implementation of implicit thread/thisGurusamy Sarathy1999-06-071-377/+377
| | | | | | | | | | | | pointer argument; builds/tests on Solaris, win32 hasn't been fixed up yet; proto.h, global.sym and static function decls are now generated from a common database in proto.pl; some inconsistently named perl_foo() things are now Perl_foo(), compatibility #defines provided; perl_foo() (lowercase 'p') reserved for functions that take an explicit context argument; next step: generate #define foo(a,b) Perl_foo(aTHX_ a,b) p4raw-id: //depot/perl@3522
* clean up some stray "global" symbolsGurusamy Sarathy1999-06-041-1/+1
| | | p4raw-id: //depot/perl@3521