summaryrefslogtreecommitdiff
path: root/perlapi.c
Commit message (Collapse)AuthorAgeFilesLines
* Simplify embedvar.h, removing a level of macro indirection for PL_* variables.Nicholas Clark2011-08-111-5/+5
| | | | | | | For the default (non-multiplicity) configuration, PERLVAR*() macros now directly expand their arguments to tokens such as C<PL_defgv>, instead of expanding to C<PL_Idefgv>. This removes over 350 lines from F<embedvar.h>, which defined macros to map from C<PL_Idefgv> to C<PL_defgv> and so forth.
* Move PL_{No,Yes,hexdigit} from perlvars.h to perl.h, as all are const char[]Nicholas Clark2011-06-121-4/+0
| | | | | | | | | | | They were converted in perl.h from const char[] to #define in 31fb120917c4f65d, then re-instated as const char[], but in perlvars.h, in 3fe35a814d0a98f4. There's no need for compile-time constants to jump through the hoops of perlvars.h, even for Symbian, as the various "EXTCONST" variables already in perl.h demonstrate. These were the only 3 users of the the PERLVARISC macro, so eliminate that, and all related code.
* Move all the generated file header printing into read_only_top()Nicholas Clark2011-01-231-4/+4
| | | | | | | | | 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".
* Generate pp_* prototypes in pp_proto.h, and remove pp.symNicholas Clark2011-01-091-1/+1
| | | | | | | | | | | 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)
* embed.pl -> regen/embed.plFather Chrysostomos2010-10-131-2/+2
| | | | so newcomers can find it more easily
* Eliminate PL_* accessor functions under ithreads.Nicholas Clark2010-09-211-41/+4
| | | | | | | | | | | | | | | | | | | | | | When MULTIPLICITY was first developed, and interpreter state moved into an interpreter struct, thread and interpreter local PL_* variables were defined as macros that called accessor functions, returning the address of the value, outside of the perl core. The intent was to allow members within the interpreter struct to change size without breaking binary compatibility, so that bug fixes could be merged to a maintenance branch that necessitated such a size change. However, some non-core code defines PERL_CORE, sometimes intentionally to bypass this mechanism for speed reasons, sometimes for other reasons but with the inadvertent side effect of bypassing this mechanism. As some of this code is widespread in production use, the result is that the core *can't* change the size of members of the interpreter struct, as it will break such modules compiled against a previous release on that maintenance branch. The upshot is that this mechanism is redundant, and well-behaved code is penalised by it. Hence it can and should be removed. Accessor functions are still needed for globals when PERL_GLOBAL_STRUCT is defined.
* Bump coopyright year in embed.pl and various files that were just touchedRafael Garcia-Suarez2009-01-021-1/+1
| | | | (and run "make regen")
* Regenerate API docsRafael Garcia-Suarez2008-11-121-1/+3
| | | p4raw-id: //depot/perl@34820
* Update copyright year in embed.pl, and everything that it builds.Nicholas Clark2008-10-251-1/+1
| | | p4raw-id: //depot/perl@34586
* delete thrdvar.h and move its contents to intrpvar.hDave Mitchell2007-05-201-2/+1
| | | p4raw-id: //depot/perl@31245
* Welcome to 2007! Time to update copyrights from changes earlierSteve Peters2007-01-011-1/+1
| | | | | today. p4raw-id: //depot/perl@29653
* embed.pl enhancementsAndy Lester2006-07-031-3/+3
| | | | | | | Message-ID: <20060702171139.GA20266@petdance.com> Add experimental (and optional) splint support p4raw-id: //depot/perl@28472
* unused context warningsAndy Lester2006-02-241-10/+13
| | | | | Message-ID: <20060221062711.GA16160@petdance.com> p4raw-id: //depot/perl@27300
* Run regen.pl (Just updating copyright years)Steve Hay2006-01-041-1/+1
| | | p4raw-id: //depot/perl@26654
* 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
* Symbian port of PerlJarkko Hietaniemi2005-04-211-5/+32
| | | | | Message-ID: <B356D8F434D20B40A8CEDAEC305A1F2453D653@esebe105.NOE.Nokia.com> p4raw-id: //depot/perl@24271
* Update copyrights.Rafael Garcia-Suarez2005-03-311-1/+2
| | | | | Well, those are generated files anyway. p4raw-id: //depot/perl@24121
* Regen perlapi.Jarkko Hietaniemi2003-08-011-0/+6
| | | p4raw-id: //depot/perl@20406
* Fix up Larry's copyright statements to my best knowledge.Jarkko Hietaniemi2003-04-161-1/+1
| | | | | | | (Lots of Perl 5 source code archaeology was involved.) Larry didn't make strangled noises when I showed him the patch, either :-) p4raw-id: //depot/perl@19242
* [PATCH] assertionsSalvador FandiƱo2003-03-041-1/+1
| | | | | | | | | | Message-ID: <3E566138.4090709@yahoo.com> and the complement : (with added comments) Subject: [PATCH] bug in ext/B/t/deparse.t Message-ID: <3E563E16.7060303@yahoo.com> plus perldiag.pod patch for the new warning (previous change was, once again, empty) p4raw-id: //depot/perl@18828
* Reverse copyright update (#18801) for files not changed in 2003.Hugo van der Sanden2003-03-021-1/+1
| | | p4raw-id: //depot/perl@18807
* Update all copyrights to 2003, from JarkkoHugo van der Sanden2003-03-021-1/+1
| | | p4raw-id: //depot/perl@18801
* make regen_headers.Rafael Garcia-Suarez2002-11-051-3/+5
| | | | | | Backport change #18078 to warnings.pl. p4raw-link: @18078 on //depot/perl: 92cde64730ac68c05bd8f8990a57fb156d283457 p4raw-id: //depot/perl@18113
* Sprinkle some copyrights (use the oldest timestamp toJarkko Hietaniemi2002-01-241-4/+13
| | | | | | be found in the repository, which is most often not right, but at least consistent) p4raw-id: //depot/perl@14400
* remove deprecated PERL_OBJECT cruft, it has long since stoppedGurusamy Sarathy2001-08-311-4393/+5
| | | | | working in 5.7.x p4raw-id: //depot/perl@11803
* Removed tripple definitions of CUSTOM_OP functions.Artur Bergman2001-08-271-32/+0
| | | p4raw-id: //depot/perl@11761
* Regen headersArtur Bergman2001-08-271-0/+48
| | | p4raw-id: //depot/perl@11760
* Changes USE_THREADS to USE_5005THREADS in the entire source.Artur Bergman2001-08-271-7/+7
| | | | | | Thanks to H. Merijn Brand for the patch. Some of the comments and or guards might be removable in perl.h now. p4raw-id: //depot/perl@11758
* [PATHC] sharedsv.[c|h]Jarkko Hietaniemi2001-08-131-0/+51
| | | | | | | | | | | | | | | | | | | | | | From: "Artur Bergman" <artur@contiller.se> Date: Mon, 13 Aug 2001 14:38:41 +0200 Message-ID: <005401c123f4$e1f53360$21000a0a@vogw2kdev> Subject: [PATCH] embed.pl From: Arthur Bergman <arthur@contiller.se> Date: Mon, 13 Aug 2001 14:38:14 +0200 Message-ID: <B79D96D6.3088%arthur@contiller.se> Subject: [PATCH] sharedsv cleanups From: "Arthur Bergman" <arthur@contiller.se> Date: Mon, 13 Aug 2001 15:14:25 +0200 Message-ID: <005a01c123f9$dfe525d0$21000a0a@vogw2kdev> Plus few tweaks: _init needs to be Adp, the prototypes should not be revealed unless using ithreads, #endif FOO must be #endif /* FOO */, adding (parentheses) around do { } while doesn't work too well. p4raw-id: //depot/perl@11659
* Make perl fork()-safe (in a slightly limited way) even onGurusamy Sarathy2001-07-201-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | platforms that don't have pthread_atfork() (extension of the fix in change#11151). Note that this will not help extensions that call fork() directly in C, or that link to libraries that call fork() directly. Such cases must be fixed to either call PerlProc_fork(), or call atfork_lock() in parent before the calling the function that forks and call atfork_unlock() in both parent and child immediately after the fork(). (There are no worries if C code calls exec() in the child immediately after a fork(). Only cases where the child calls perl's API functions (including New()) after the fork() are problematic.) This change also eliminates the use of vfork() from perl, since all such uses were violating the severe restrictions on modifying the state of the process between the vfork() and the exec(). This is a modified version of patches suggested by Abhijit Menon-Sen and Richard Soderberg. p4raw-link: @11151 on //depot/perl: 50dd6e574ff39b609595ddb16b2fe9f625a26f8c p4raw-id: //depot/perl@11423
* Perl_re_dup()Abhijit Menon-Sen2001-07-121-2/+2
| | | | | Message-ID: <20010712235432.J24707@lustre.dyn.wiw.org> p4raw-id: //depot/perl@11321
* rename s/sv_getcwd/getcwd_sv/ for better conformance to existingGurusamy Sarathy2001-07-021-3/+3
| | | | | | | | | | naming discipline win32 fix: enable getcwd_sv() to work on windows (POSIX.t was failing because of this) fix a warning about "fd" being used without being set in Cwd.xs p4raw-id: //depot/perl@11067
* Retract the #10417 mg.c and embed.pl parts because ofJarkko Hietaniemi2001-06-211-1/+1
| | | | | | strange SEGVs in 64bit x86 FreeBSD observed by Nicholas Clark. p4raw-id: //depot/perl@10798
* Regen headers.Jarkko Hietaniemi2001-06-201-14/+14
| | | p4raw-id: //depot/perl@10758
* Replace our implementation of realpath() with OpenBSD'sJarkko Hietaniemi2001-06-201-7/+0
| | | | | (src/lib/libc/stdlib/realpath.c 1.4). p4raw-id: //depot/perl@10750
* After some reading I don't think we can blindlyJarkko Hietaniemi2001-06-201-2/+2
| | | | | | | | | use systems' realpath(). Too many security problems, too many buggy implementations. TODO: the realpath() emulation code in util.c doesn't seem fully operational? (readlink(), for example?) p4raw-id: //depot/perl@10744
* Split off the pack/unpack code, from Nicholas Clark.Jarkko Hietaniemi2001-06-181-0/+2
| | | p4raw-id: //depot/perl@10685
* splitting util.cHugo van der Sanden2001-06-131-0/+2
| | | | | Message-Id: <200106132341.AAA24935@crypt.compulink.co.uk> p4raw-id: //depot/perl@10579
* Small bcopy cleanupAndy Dougherty2001-06-131-1/+1
| | | | | Message-ID: <Pine.SOL.4.10.10106121706360.11034-100000@maxwell.phys.lafayette.edu> p4raw-id: //depot/perl@10542
* Move the grok_number and its lieutenant grok_numeric_radixJarkko Hietaniemi2001-06-101-1/+15
| | | | | from sv.c statics to util.c and public. p4raw-id: //depot/perl@10505
* APIfy op_clear Simon Cozens2001-06-031-1/+14
| | | | | | | Message-ID: <20010603135146.A9984@deep-dark-truthful-mirror.pmb.ox.ac.uk> (despite the subject line, op_null is APIfied by the patch) p4raw-id: //depot/perl@10400
* Re: [ID 20010529.006] String plus zero inconsistent across platformsHugo van der Sanden2001-06-011-0/+7
| | | | | Message-Id: <200105311949.UAA02798@crypt.compulink.co.uk> p4raw-id: //depot/perl@10379
* [patch] Cwd.xs optimizations/abstractionDoug MacEachern2001-06-011-0/+14
| | | | | Message-ID: <Pine.LNX.4.21.0105311733270.732-100000@mako.covalent.net> p4raw-id: //depot/perl@10369
* Re: 5.6.*, bleadperl: bugs in pp_concatHugo van der Sanden2001-05-261-0/+42
| | | | | Message-Id: <200105261605.RAA12295@crypt.compulink.co.uk> p4raw-id: //depot/perl@10223
* Regen headers for #10221.Jarkko Hietaniemi2001-05-261-0/+7
| | | p4raw-id: //depot/perl@10222
* Change PL_numeric_radix to PL_numeric_radix_sv (and leave inJarkko Hietaniemi2001-04-301-2/+23
| | | | | | a dummy for PL_numeric_radix); no pressing reason to break binary compatibility; regen API. p4raw-id: //depot/perl@9910
* Integrate changes #9584,9587 from maintperl into mainline.Jarkko Hietaniemi2001-04-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | keep eval"" CVs alive until the end of the statement in which they're called add README.macos (from Chris Nandor) tyop in change#9555 p4raw-link: @9587 on //depot/maint-5.6/perl: d72c2fc956b5cb46ede17d06f89a463c78f1cf5f p4raw-link: @9584 on //depot/maint-5.6/perl: e6fbcc36a54a8afd8dbcdcb9a8d8e178df530b97 p4raw-link: @9555 on //depot/perl: 6a0af2f17bcde4767b90a72eff7083c5effff21d p4raw-id: //depot/perl@9588 p4raw-branched: from //depot/maint-5.6/perl@9583 'branch in' README.macos p4raw-integrated: from //depot/maint-5.6/perl@9583 'copy in' pod/perlfaq9.pod (@9585..) 'merge in' scope.h (@8568..) pod/perl.pod (@8986..) MANIFEST (@9227..) win32/Makefile (@9286..) pp_ctl.c scope.c (@9288..) global.sym (@9289..) embed.h embed.pl objXSUB.h perlapi.c proto.h (@9292..) pod/buildtoc.PL (@9312..) win32/makefile.mk (@9495..) sv.c (@9496..) pod/perlguts.pod (@9514..)
* Generated files.Nick Ing-Simmons2001-03-241-0/+7
| | | p4raw-id: //depot/perlio@9319
* Integrate change #9154 from maintperl to mainline.Jarkko Hietaniemi2001-03-141-0/+12
| | | | | | | | | | | | PerlIO_stdoutf() wasn't properly supported under PERL_IMPLICIT_SYS (caused Storable 1.0.10 to break on windows) p4raw-link: @9154 on //depot/maint-5.6/perl: 241ea079897f140daac27d059c9935e78ec152ec p4raw-id: //depot/perl@9156 p4raw-integrated: from //depot/maint-5.6/perl@9155 'copy in' globals.c (@5902..) 'merge in' global.sym (@8599..) iperlsys.h (@8800..) objXSUB.h perlapi.c (@8993..) embed.h embed.pl proto.h (@9108..)
* EBCDIC sanity - phase INick Ing-Simmons2001-03-101-9/+30
| | | | | | | | | | | | | | - rename utf8/uv functions to indicate what sort of uv they provide (uvuni/uvchr) - use utf8n_xxxx (c.f. pvn) for forms which take length. - back out vN.N and $^V exceptions to e2a/a2e - make "locale" isxxx macros be uvchr (may be redundant?) Not clear yet that toUPPER_uni et. al. return being handled correctly. The tr// and rexexp stuff still needs an audit, assumption is they are working in Unicode space. Need to provide v5.6 names for XS modules (decide is uni or chr ?). p4raw-id: //depot/perlio@9096