summaryrefslogtreecommitdiff
path: root/mg.h
Commit message (Collapse)AuthorAgeFilesLines
* foreach \$varFather Chrysostomos2014-10-111-0/+1
| | | | Some passing tests are still marked to-do. We need more tests still.
* Add cv_set_call_checker_flagsFather Chrysostomos2014-09-151-0/+1
| | | | | | | | This is like cv_set_call_checker, except that it allows the caller to decide whether the call checker needs a GV. Currently the GV flag is recorded, but ck_subr does not do anything with it yet.
* mg.h: Suppress compiler warningFather Chrysostomos2013-08-271-2/+2
| | | | | | GCC says: pp_hot.c: In function 'Perl_pp_match': pp_hot.c:1453: warning: signed and unsigned type in conditional expression
* Stop pos() from being confused by changing utf8nessFather Chrysostomos2013-08-251-0/+14
| | | | | | | | | | | | | | | | | | | | | | | The value of pos() is stored as a byte offset. If it is stored on a tied variable or a reference (or glob), then the stringification could change, resulting in pos() now pointing to a different character off- set or pointing to the middle of a character: $ ./perl -Ilib -le '$x = bless [], chr 256; pos $x=1; bless $x, a; print pos $x' 2 $ ./perl -Ilib -le '$x = bless [], chr 256; pos $x=1; bless $x, "\x{1000}"; print pos $x' Malformed UTF-8 character (unexpected end of string) in match position at -e line 1. 0 So pos() should be stored as a character offset. The regular expression engine expects byte offsets always, so allow it to store bytes when possible (a pure non-magical string) but use char- acters otherwise. This does result in more complexity than I should like, but the alter- native (always storing a character offset) would slow down regular expressions, which is a big no-no.
* [perl #72766] Allow huge pos() settingsFather Chrysostomos2013-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is part of #116907, too. It also fixes #72924 as a side effect; the next commit will explain. The value of pos($foo) was being stored as an I32, not allowing values above I32_MAX. Change it to SSize_t (the signed equivalent of size_t, representing the maximum string length the OS/compiler supports). This is accomplished by changing the size of the entry in the magic struct, which is the simplest fix. Other parts of the code base can benefit from this, too. We actually cast the pos value to STRLEN (size_t) when reading it, to allow *very* long strings. Only the value -1 is special, meaning there is no pos. So the maximum supported offset is 2**sizeof(size_t)-2. The regexp engine itself still cannot handle large strings, so being able to set pos to large values is useless right now. This is but one piece in a larger puzzle. Changing the size of mg->mg_len also requires that Perl_hv_placeholders_p change its type. This function should in fact not be in the API, since it exists solely to implement the HvPLACEHOLDERS macro. See <https://rt.perl.org/rt3/Ticket/Display.html?id=116907#txn-1237043>.
* remove obsolete STRUCT_MGVTBL_DEFINITION from mg.hDaniel Dragan2013-06-041-4/+0
| | | | | | | | | | | | | STRUCT_MGVTBL_DEFINITION was added in commit 0f4eea8fa1 in 5.004_67 as part of ML thread "[PATCH 5.004_67] Fixes for broken MS compiler" and stopped being used in commit acfe0abced in 5.7.2. STRUCT_MGVTBL_DEFINITION was used to provide binary compatibility between C++ objs and C structs, where extra C++ data was stored with each function * raising the member size to 16 bytes instead of 4 on a 32 bit build, also see http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/2793a64f-ec09-495c-b995-4f5b98a26321 The define in struct mgvtbl is a left over that wasn't removed. Remove it to improve code readability.
* update the editor hints for spaces, not tabsRicardo Signes2012-05-291-2/+2
| | | | | This updates the editor hints in our files for Emacs and vim to request that tabs be inserted as spaces.
* whichsig nul-cleanup.Brian Fraser2011-10-061-0/+2
| | | | | This adds _pv, _pvn, and _pv versions of whichsig() in mg.c, which get both kill "NAME" and %SIG lookup nul-clean.
* Remove CALL_FPTR and CPERLscope.Ben Morrow2010-08-201-8/+8
| | | | | | | | | | | | | | | | These are left from PERL_OBJECT, which was an implementation of multiplicity using C++ objects. PERL_OBJECT was removed in 5.8, but the macros seem to have been cargo-culted all over the core (including in places where they would have been inappropriate originally). Since they now do exactly nothing, it's cleaner to remove them. I have left the definitions in perl.h, under #ifndef PERL_CORE, since some CPAN XS code uses them (also often incorrectly). I have also left STATIC alone, since it seems potentially more useful and is much more ingrained. The only appearance of these macros this patch doesn't touch is in Devel-PPPort, because that's a CPAN module.
* Fix assorted bugs related to magic (such as pos) not "sticking" toDavid Mitchell2010-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | magical array and hash elements; e.g. the following looped infinitely: $h{tainted_element} =~ /..../g There are two side-effects of this fix. First, MGf_GSKIP has been extended to work on tied array elements as well as hash elements. This is the mechanism that skips all but the first tied element magic gets until after the next set. Second, rvalue hash/array element access where the element has get magic, now directly returns the element rather than a mortal copy. The root cause of the bug was code similar to the following in pp_alem, pp_aelemfast, pp_helem and pp_rv2av: if (!lval && SvGMAGICAL(sv)) /* see note in pp_helem() */ sv = sv_mortalcopy(sv); According to the note, this was added in 1998 to make this work: local $tied{foo} = $tied{foo} Since it returns a copy rather than the element, this make //g fail. My first attempt, a few years ago, to fix this, took the approach that the LHS of the bind should be made an lvalue in the presence of //g, since it now modifies its LHS; i.e. expr =~ // expr is rvalue expr =~ s/// expr is lvalue expr =~ //g expr was rvalue, I proposed to change it to lvalue Unfortunately this fix broke too much stuff (stuff that was arguably already broken, but it upset people). For example, f() ~= s//// correctly gives the error Can't modify non-lvalue subroutine call My fix extended f() =~ //g to give the same error. Which is reasonable, because the g isn't doing what you want. But plenty of people had code that only needed to match once and the g had just been cargo-culted. So it broke their working code. So lets not do this. My new approach has been to remove the sv_mortalcopy(). It turns out that this is no longer needed to fix the local $tied{foo} issue. Presumably that went away as a side-effect of my container/value magic localisation rationalisation of a few years ago, although I haven't analysed it - just noted that the tests still pass (!). However, an issue with removing it is that mg_get() no longer gets called. So a plain $tied_hash{elem}; in void context no longer calls FETCH(). Which broke some tests and might break some code. Also, there's an issue with the delayed calling of magic in @+[n] and %+{foo}; by the time the get magic is called, the original pattern may have gone out of scope. The solution is to simply replace the original sv = sv_mortalcopy(sv); with mg_get(sv); This then caused problems with tied array FETCH() getting called too much. I fixed this by extending the MGf_GSKIP mechanism to tied arrays as well as hashes. I don't understand why tied arrays have always been treated differently than tied hashes, but unifying them didn't seem to break anything (except for a Storable test, whose comment indicated that the test's author thought FETCH() was being called to often anyway).
* Add a macro MUTABLE_PTR(p), which on (non-pedantic) gcc will not castNicholas Clark2008-10-271-4/+4
| | | | | | | | | | away const, returning a void *. Add MUTABLE_SV(sv) which uses this, and replace all (SV *) casts either with MUTABLE_SV(sv), or (const SV *). This probably still needs some work - assigning to SvPVX() and SvRV() is now likely to generate a casting error. The core doesn't do this. But as-is it's finding bugs that can be fixed. p4raw-id: //depot/perl@34605
* Update copyright years.Nicholas Clark2008-10-251-1/+1
| | | p4raw-id: //depot/perl@34585
* mg_copy ought to take an I32Vincent Pit2008-02-081-1/+1
| | | | | | From: "Vincent Pit" <perl@profvince.com> Message-ID: <39468.147.210.17.175.1202290798.squirrel@147.210.17.175> p4raw-id: //depot/perl@33256
* Add editor blocks to some header files.Marcus Holland-Moritz2008-01-011-0/+10
| | | p4raw-id: //depot/perl@32793
* Fix up copyright years for files modified in 2007.Nicholas Clark2007-11-071-1/+1
| | | p4raw-id: //depot/perl@32237
* Rearrange members of structures to reduce memory size on someNicholas Clark2007-03-311-1/+1
| | | | | | platforms. On LP64 structs stackinfo, refcounted_he, and magic shrink by 8 bytes, struct yy_parser by 16. p4raw-id: //depot/perl@30817
* More NullXXX macro removal from Andy LesterRafael Garcia-Suarez2006-02-201-2/+1
| | | p4raw-id: //depot/perl@27238
* Un-const magic virtual tables; this consting breaks the nastyRafael Garcia-Suarez2006-01-231-1/+1
| | | | | things done by Swig, as noticed by Audrey. p4raw-id: //depot/perl@26924
* Update copyright years (including some years where we made changes butNicholas Clark2006-01-081-1/+1
| | | | | did not update) p4raw-id: //depot/perl@26732
* add svt_local slot to magic vtable, and fix local $sharedDave Mitchell2006-01-021-2/+4
| | | p4raw-id: //depot/perl@26569
* Add and use MgPV_nolen_constNicholas Clark2005-06-081-2/+5
| | | p4raw-id: //depot/perl@24761
* Add MgPV_constNicholas Clark2005-06-071-0/+3
| | | p4raw-id: //depot/perl@24738
* Third consting batchAndy Lester2005-03-241-1/+1
| | | | | Message-Id: <2f14220e7101a03f7659dbe79a03b115@petdance.com> p4raw-id: //depot/perl@24074
* Fix up Larry's copyright statements to my best knowledge.Jarkko Hietaniemi2003-04-161-1/+2
| | | | | | | (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
* 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
* Re: sv_2pv_flags and ROK and UTF8 flagsYitzchak Scott-Thoennes2002-10-011-3/+2
| | | | | Message-ID: <lSCg9gzkgymX092yn@efn.org> p4raw-id: //depot/perl@17947
* Integrate mainlineNick Ing-Simmons2002-01-251-1/+1
| | | | | All but ../lib/Unicode/UCD.t pass. p4raw-id: //depot/perlio@14412
* Nearly-working threads re-structuring. Do not integrate,Nick Ing-Simmons2002-01-191-0/+5
| | | | | submit-ing to get to Win32, and as "off site" backup. p4raw-id: //depot/perlio@14352
* Bump up Larry's copyright.Jarkko Hietaniemi2001-01-011-1/+1
| | | p4raw-id: //depot/perl@8289
* Minor fixes to assuage picky compilers (unsigned comparisons andCharles Bailey2000-02-091-1/+1
| | | | | alias rules lead to compilation warnings) p4raw-id: //depot/vmsperl@5050
* Resync with mainlineCharles Bailey2000-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | p4raw-id: //depot/vmsperl@5049 p4raw-branched: from //depot/perl@4822 'branch in' ext/Sys/Syslog/Makefile.PL ext/Sys/Syslog/Syslog.pm lib/Pod/Find.pm lib/Pod/ParseUtils.pm t/op/exists_sub.t t/op/ver.t t/pragma/diagnostics.t win32/bin/exetype.pl vos/config.def vos/config.pl (@4896..) pod/perlintern.pod (@4915..) ext/Sys/Syslog/Syslog.xs (@4980..) pod/perlunicode.pod (@5013..) pod/perlapi.pod (@5015..) Todo-5.6 (@5027..) p4raw-deleted: from //depot/perl@4822 'delete in' lib/Sys/Syslog.pm (@2406..) Todo-5.005 (@4008..) lib/caller.pm (@4860..) p4raw-edited: from //depot/perl@4822 'edit in' vms/subconfigure.com (@4767..) p4raw-integrated: from //depot/perl@4822 'copy in' hints/unicosmk.sh (@948..) lib/FileHandle.pm (@1044..) lib/ExtUtils/Packlist.pm (@1315..) ext/IPC/SysV/SysV.pm (@1372..) lib/Net/protoent.pm lib/Net/servent.pm lib/Text/Soundex.pm (@1575..) README.vos vos/Changes vos/build.cm vos/compile_perl.cm vos/perl.bind vos/test_vos_dummies.c vos/vos_dummies.c (@1838..) lib/utf8_heavy.pl (@2039..) ext/IO/lib/IO/Seekable.pm lib/ExtUtils/Command.pm lib/Net/hostent.pm lib/Net/netent.pm lib/Time/gmtime.pm lib/Time/localtime.pm lib/User/grent.pm lib/User/pwent.pm (@2620..) eg/cgi/index.html lib/CGI/Apache.pm lib/CGI/Switch.pm (@2830..) ext/IO/lib/IO/Dir.pm ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Poll.pm ext/IO/lib/IO/Socket/UNIX.pm (@2882..) t/comp/use.t (@2891..) lib/File/Compare.pm (@3061..) form.h (@3124..) hints/netbsd.sh (@3158..) t/op/grep.t (@3180..) lib/AnyDBM_File.pm (@3317..) lib/Test.pm (@3376..) lib/CPAN/Nox.pm (@3458..) hints/openbsd.sh (@3516..) mg.h (@3524..) lib/CGI/Cookie.pm lib/CGI/Pretty.pm (@3559..) lib/Text/ParseWords.pm (@3563..) ext/IO/lib/IO/File.pm lib/File/Basename.pm (@3650..) x2p/find2perl.PL (@3677..) cflags.SH (@3774..) utils/dprofpp.PL (@3778..) ext/IO/lib/IO/Handle.pm (@3825..) lib/CGI.pm lib/dumpvar.pl (@3848..) README.cygwin lib/ExtUtils/MM_Cygwin.pm (@3852..) README.threads (@3860..) lib/SelfLoader.pm t/io/tell.t t/lib/cgi-html.t t/op/attrs.t (@4076..) ext/SDBM_File/sdbm/sdbm.c (@4082..) lib/Test/Harness.pm (@4092..) pod/perlcompile.pod (@4120..) ext/Opcode/Safe.pm (@4131..) ext/DB_File/Changes ext/DB_File/Makefile.PL ext/DB_File/version.c (@4142..) ext/DB_File/DB_File.xs (@4144..) lib/File/Spec/VMS.pm (@4182..) hints/dynixptx.sh (@4271..) t/lib/fields.t (@4303..) thrdvar.h (@4316..) pod/perlguts.pod (@4339..) Porting/makerel (@4391..) lib/Text/Tabs.pm (@4398..) perlio.c (@4402..) lib/CPAN/FirstTime.pm (@4416..) README (@4433..) lib/attributes.pm (@4438..) ext/Devel/Peek/Peek.xs (@4475..) Policy_sh.SH (@4496..) universal.c xsutils.c (@4511..) ext/B/B/Stash.pm ext/B/NOTES ext/B/O.pm keywords.h keywords.pl (@4515..) util.h (@4545..) ext/B/B/Asmdata.pm ext/B/B/Deparse.pm (@4546..) ext/Data/Dumper/Dumper.xs pod/perlmod.pod (@4556..) ext/IO/IO.xs lib/unicode/Is/ASCII.pl lib/unicode/Is/Alnum.pl lib/unicode/Is/Alpha.pl lib/unicode/Is/BidiAN.pl lib/unicode/Is/BidiB.pl lib/unicode/Is/BidiCS.pl lib/unicode/Is/BidiEN.pl lib/unicode/Is/BidiES.pl lib/unicode/Is/BidiET.pl lib/unicode/Is/BidiL.pl lib/unicode/Is/BidiON.pl lib/unicode/Is/BidiR.pl lib/unicode/Is/BidiS.pl lib/unicode/Is/BidiWS.pl lib/unicode/Is/C.pl lib/unicode/Is/Cc.pl lib/unicode/Is/Cn.pl lib/unicode/Is/Cntrl.pl lib/unicode/Is/Co.pl lib/unicode/Is/DCcircle.pl lib/unicode/Is/DCcompat.pl lib/unicode/Is/DCfinal.pl lib/unicode/Is/DCfont.pl lib/unicode/Is/DCinital.pl lib/unicode/Is/DCinitial.pl lib/unicode/Is/DCisolated.pl lib/unicode/Is/DCnarrow.pl lib/unicode/Is/DCnoBreak.pl lib/unicode/Is/DCsmall.pl lib/unicode/Is/DCsquare.pl lib/unicode/Is/DCsub.pl lib/unicode/Is/DCsuper.pl lib/unicode/Is/DCvertical.pl lib/unicode/Is/DCwide.pl lib/unicode/Is/DecoCanon.pl lib/unicode/Is/DecoCompat.pl lib/unicode/Is/Digit.pl lib/unicode/Is/Graph.pl lib/unicode/Is/L.pl lib/unicode/Is/Ll.pl lib/unicode/Is/Lm.pl lib/unicode/Is/Lo.pl lib/unicode/Is/Lower.pl lib/unicode/Is/Lt.pl lib/unicode/Is/Lu.pl lib/unicode/Is/M.pl lib/unicode/Is/Mc.pl lib/unicode/Is/Mirrored.pl lib/unicode/Is/Mn.pl lib/unicode/Is/N.pl lib/unicode/Is/Nd.pl lib/unicode/Is/No.pl lib/unicode/Is/P.pl lib/unicode/Is/Pd.pl lib/unicode/Is/Pe.pl lib/unicode/Is/Po.pl lib/unicode/Is/Print.pl lib/unicode/Is/Ps.pl lib/unicode/Is/Punct.pl lib/unicode/Is/S.pl lib/unicode/Is/Sc.pl lib/unicode/Is/Sm.pl lib/unicode/Is/So.pl lib/unicode/Is/Space.pl (@4573..) perly.c vms/perly_c.vms (@4578..) deb.c (@4588..) lib/Pod/Checker.pm lib/Pod/Parser.pm lib/Pod/Usage.pm t/pod/poderrs.t t/pod/poderrs.xr (@4590..) pod/Makefile pod/roffitall unixish.h vos/vosish.h (@4602..) run.c (@4603..) utils/perlbug.PL utils/perldoc.PL (@4604..) hints/hpux.sh (@4606..) lib/strict.pm pod/perlsyn.pod (@4616..) ext/DB_File/DB_File.pm ext/Fcntl/Fcntl.pm ext/GDBM_File/GDBM_File.pm ext/Opcode/Opcode.pm ext/SDBM_File/SDBM_File.pm ext/Socket/Socket.pm lib/AutoLoader.pm lib/Getopt/Std.pm (@4623..) lib/ExtUtils/Manifest.pm (@4632..) pod/perlfaq2.pod (@4636..) t/op/misc.t t/pragma/warn/2use (@4641..) lib/Math/BigFloat.pm (@4685..) pod/perlfilter.pod pod/perlopentut.pod (@4699..) t/pragma/warn/pp_hot t/pragma/warn/pp_sys (@4709..) cygwin/Makefile.SHs os2/Makefile.SHs (@4710..) lib/Net/Ping.pm (@4711..) ext/POSIX/POSIX.xs ext/SDBM_File/sdbm/pair.c (@4717..) lib/ExtUtils/Liblist.pm (@4720..) t/lib/charnames.t t/lib/dumper.t (@4723..) lib/byte_heavy.pl (@4726..) t/pragma/warn/doop t/pragma/warn/pp t/pragma/warn/sv t/pragma/warn/utf8 (@4727..) lib/ExtUtils/xsubpp (@4731..) pod/perlre.pod (@4732..) INTERN.h (@4734..) globals.c (@4744..) lib/File/Copy.pm (@4753..) lib/ExtUtils/MM_VMS.pm lib/ExtUtils/MM_Win32.pm (@4754..) lib/ExtUtils/Install.pm (@4758..) ext/B/B/C.pm (@4763..) README.os2 (@4766..) lib/ExtUtils/MakeMaker.pm (@4769..) installperl (@4774..) lib/CPAN.pm lib/ExtUtils/Installed.pm lib/ExtUtils/MM_Unix.pm lib/ExtUtils/Mksymlists.pm lib/diagnostics.pm (@4777..) t/lib/thread.t (@4780..) pod/perl.pod (@4781..) ext/IO/lib/IO/Socket.pm (@4782..) win32/perlhost.h (@4792..) lib/Tie/Array.pm (@4796..) t/pragma/strict-vars (@4801..) win32/config.bc win32/config.gc win32/config.vc (@4817..) INSTALL (@4824..) utils/h2xs.PL (@4825..) embed.h (@4830..) ext/Data/Dumper/Dumper.pm (@4832..) lib/Tie/Handle.pm (@4833..) proto.h t/op/closure.t (@4834..) lib/base.pm lib/fields.pm (@4835..) dump.c (@4836..) t/io/fs.t (@4838..) lib/Carp/Heavy.pm (@4839..) t/cmd/while.t (@4848..) Porting/Glossary Porting/config.sh Porting/config_H (@4850..) lib/Sys/Hostname.pm (@4851..) ext/Devel/DProf/DProf.pm (@4852..) hints/cygwin.sh (@4853..) patchlevel.h (@4858..) ext/File/Glob/Glob.pm ext/IO/lib/IO/Socket/INET.pm ext/NDBM_File/NDBM_File.pm ext/ODBM_File/ODBM_File.pm ext/POSIX/POSIX.pm lib/Dumpvalue.pm lib/Fatal.pm lib/File/Path.pm lib/File/stat.pm lib/Math/Complex.pm lib/Math/Trig.pm lib/Shell.pm lib/constant.pm lib/lib.pm (@4860..) lib/AutoSplit.pm (@4873..) lib/Pod/Html.pm (@4883..) win32/perllib.c (@4884..) vos/config.h vos/config_h.SH_orig (@4896..) perly.y pod/perlrun.pod pod/perlsub.pod pod/perltodo.pod (@4905..) README.win32 lib/Class/Struct.pm (@4906..) Porting/p4desc (@4908..) ext/Devel/Peek/Peek.pm ext/Thread/Thread.pm lib/File/Find.pm lib/UNIVERSAL.pm pod/buildtoc pod/perlfork.pod (@4910..) t/op/fork.t (@4914..) XSUB.h av.h cop.h cv.h gv.h handy.h hv.h makedef.pl pod/perltoc.pod pp.h scope.h (@4915..) global.sym objXSUB.h (@4916..) lib/Cwd.pm (@4921..) doop.c t/pragma/warn/toke (@4930..) win32/win32.c (@4933..) embedvar.h intrpvar.h lib/charnames.pm op.h sv.h (@4937..) embed.pl (@4939..) lib/utf8.pm regcomp.c regexec.c (@4941..) vms/descrip_mms.template (@4944..) lib/warnings.pm warnings.pl (@4947..) lib/File/Spec/Win32.pm (@4949..) lib/perl5db.pl (@4955..) lib/Benchmark.pm (@4958..) lib/English.pm (@4960..) lib/byte.pm (@4969..) scope.c (@4970..) ext/Devel/DProf/DProf.xs (@4973..) malloc.c (@4974..) op.c pod/perldebug.pod pp_ctl.c (@4975..) Makefile.SH (@4977..) config_h.SH (@4978..) pod/perlop.pod (@4979..) pod/perlfunc.pod (@4998..) pod/perldiag.pod (@5001..) pp_sys.c (@5006..) EXTERN.h doio.c perl.h util.c (@5008..) av.c hv.c pp.c pp_hot.c utf8.c utf8.h (@5009..) pod/perldelta.pod pod/perlport.pod (@5015..) MANIFEST (@5016..) sv.c (@5017..) win32/config_H.bc win32/config_H.gc win32/config_H.vc (@5019..) win32/Makefile win32/makefile.mk (@5022..) win32/win32.h (@5024..) mg.c toke.c (@5025..) gv.c perl.c pod/perlvar.pod (@5029..) pod/perlhist.pod (@5034..) Configure (@5036..) Changes (@5038..) 'merge in' configure.com (@4773..)
* more complete support for implicit thread/interpreter pointer,Gurusamy Sarathy1999-06-091-5/+5
| | | | | | | | | | | | | | | | | | | | | enabled via -DPERL_IMPLICIT_CONTEXT (all changes are noops without that enabled): - USE_THREADS now enables PERL_IMPLICIT_CONTEXT, so dTHR is a noop; tests pass on Solaris; should be faster now! - MULTIPLICITY has been tested with and without PERL_IMPLICIT_CONTEXT on Solaris - improved function database now merged with embed.pl - everything except the varargs functions have foo(a,b,c) macros to provide compatibility - varargs functions default to compatibility variants that get the context pointer using dTHX - there should be almost no source compatibility issues as a result of all this - dl_foo.xs changes other than dl_dlopen.xs untested - still needs documentation, fixups for win32 etc Next step: migrate most non-mutex variables from perlvars.h to intrpvar.h p4raw-id: //depot/perl@3524
* remove _() non-ansismGurusamy Sarathy1999-06-021-5/+5
| | | p4raw-id: //depot/perl@3518
* update copyright yearsGurusamy Sarathy1999-03-221-1/+1
| | | p4raw-id: //depot/perl@3124
* integrate changes#1982,2014,2021 (from maint-5.005)Gurusamy Sarathy1998-10-251-0/+5
| | | | | | | p4raw-link: @2021 on //depot/maint-5.005/perl: ece095e7b265a16d4ec3543b1418100f9c635a87 p4raw-link: @2014 on //depot/maint-5.005/perl: cca0b9804acab4b7678c0f185888d57497a5c2a9 p4raw-link: @1982 on //depot/maint-5.005/perl: fe676099d996f70caaedeb6ae85adc3ee59d2240 p4raw-id: //depot/perl@2059
* applied patch, along with many changes:Douglas Lankshear1998-06-211-0/+4
| | | | | | | | | | | - ipfoo.h headers have been coalesced along with perlfoo.h into iperlsys.h - win32/cp*.h have been combined in perlhost.h - CPerlObj::PerlParse() takes an extra xsinit arg - tweaks to get dl_win32.xs compiling again w/ PERL_OBJECT Message-Id: <000001bd9b8c$0417fe90$a32fa8c0@tau.Active> Subject: RE: [PATCH 5.004_67] Fixes for broken MS compiler p4raw-id: //depot/perl@1172
* [asperl] added AS patch#3Douglas Lankshear1998-02-011-2/+2
| | | | | | | | | | | | | | | | Message-Id: <01BD2EF2.53433A40.dougl@ActiveState.com> To: "'Gurusamy Sarathy'" <gsar@umich.edu> Here's an additional diff against //depot/asperl The field name mg_length was changed back to mg_len The function name mg_len was change to mg_length The need for sort_mutex removed thanks to the code derived from Tom Horsley's work. -- Doug p4raw-id: //depot/asperl@451
* [asperl] added AS patch#2Gurusamy Sarathy1998-01-301-7/+7
| | | p4raw-id: //depot/asperl@443
* [inseparable changes from match from perl-5.003_97 to perl-5.003_97a]Perl 5 Porters1997-04-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CORE PORTABILITY Subject: Add support for Cygwin32 (GNU-Win32) -- very low impact Date: Thu, 3 Apr 1997 09:21:17 +0100 From: John Cerney <j-cerney1@ti.com> Files: MANIFEST README.cygwin32 cygwin32/cw32imp.h cygwin32/gcc2 cygwin32/ld2 cygwin32/perlgcc cygwin32/perlld ext/DynaLoader/dl_cygwin32.xs hints/cygwin32.sh perl.h pp_sys.c Msg-ID: 199704030821.JAA08762@pluto.tiuk.ti.com (applied based on p5p patch as commit 2a079e0090406b1b2e50643540f149206c9e9de8) Subject: Win32 update (six patches) From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: MANIFEST README.win32 dosish.h t/io/fs.t t/io/tell.t t/lib/io_tell.t t/op/magic.t t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/taint.t win32/Makefile win32/VC-2.0/pod.mak win32/makedef.pl win32/pod.mak win32/win32.c win32/win32.h win32/win32io.c win32/win32io.h win32/win32iop.h LIBRARY AND EXTENSIONS Subject: Math::Trig, based on (and from an author of) Math::Complex From: Chip Salzenberg <chip@perl.com> Files: MANIFEST lib/Math/Complex.pm lib/Math/Trig.pm pod/perldelta.pod t/lib/complex.t t/lib/trig.t OTHER CORE CHANGES Subject: Fix const-sub-related panic on C<sub foo { my $x; 0 } foo> From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Fix warning for useless C<1..2> From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Minor cleanups Date: Thu, 03 Apr 1997 19:56:57 -0500 From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: mg.c mg.h perl.c Msg-ID: 199704040056.TAA22253@aatma.engin.umich.edu (applied based on p5p patch as commit 609794497049cf42bdd2396c04cbb7728e10374d) Subject: Eliminate unreliable warning with %SIG and strict refs From: Chip Salzenberg <chip@perl.com> Files: mg.c Subject: Fix impossible test in vivification From: Chip Salzenberg <chip@perl.com> Files: mg.c
* [inseparable changes from match from perl-5.003_91 to perl-5.003_92]Perl 5 Porters1997-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CORE LANGUAGE CHANGES Subject: Strictly follow lexical context of C<eval ''> and nested subs From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Make ::SUPER and UNIVERSAL work together From: Chip Salzenberg <chip@perl.com> Files: gv.c pod/perlguts.pod CORE PORTABILITY Subject: OS/2 patches Date: Wed, 5 Mar 1997 22:08:43 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: hints/os2.sh lib/ExtUtils/MakeMaker.pm t/op/taint.t Msg-ID: 199703060308.WAA22211@monk.mps.ohio-state.edu (applied based on p5p patch as commit eda4d5189d403b15f244b4696a710fb91d15053e) Subject: VMS patches Date: Wed, 05 Mar 1997 23:10:24 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Manifest.pm perlsdio.h t/op/runlevel.t t/op/taint.t vms/descrip.mms vms/perly_c.vms vms/sockadapt.c vms/sockadapt.h vms/vms_yfix.pl private-msgid: 01IG5SQE4A6U00661G@hmivax.humgen.upenn.edu DOCUMENTATION Subject: Add taint checks and srand to perldelta Date: Sun, 2 Mar 1997 11:56:08 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perldelta.pod Msg-ID: Pine.GSO.3.95q.970302115355.23058D-100000@kelly.teleport.com (applied based on p5p patch as commit b28e0bc0aa3232e18d1bacb3efcbfb755ad100e0) Subject: Don't call FileHandle 'deprecated' From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod Subject: Improve sample module header Date: Sat, 01 Mar 1997 10:32:31 -0700 From: Tom Christiansen <tchrist@jhereg.perl.com> Files: pod/perlmod.pod Msg-ID: 199703011732.KAA14693@jhereg.perl.com (applied based on p5p patch as commit 3e1e15658152387f41e00ded4796cede4e1e10d3) Subject: Update list of CPAN sites Date: Sun, 2 Mar 1997 16:54:22 +0200 (EET) From: Jarkko Hietaniemi <jhi@iki.fi> Files: pod/perlmod.pod Msg-ID: 199703021454.QAA07446@alpha.hut.fi (applied based on p5p patch as commit 9423903e60e6c92c1893f5f4cab2476f403f8a4b) Subject: Enhance description of 'server error' Date: Tue, 4 Feb 1997 21:03:23 +0200 (EET) From: Jarkko Hietaniemi <jhi@cc.hut.fi> Files: pod/perldiag.pod private-msgid: 199702041903.VAA16070@alpha.hut.fi Subject: Regularize format of E-Mail addresses in *.pod From: Chip Salzenberg <chip@perl.com> Files: pod/*.pod LIBRARY AND EXTENSIONS Subject: Use IV instead of double for tms structure members From: Chip Salzenberg <chip@perl.com> Files: ext/POSIX/POSIX.xs OTHER CORE CHANGES Subject: Make sure $^X is tainted when ARG_ZERO_IS_SCRIPT From: Chip Salzenberg <chip@perl.com> Files: toke.c Subject: Clarify '-T too late' error From: Chip Salzenberg <chip@perl.com> Files: perl.c pod/perldiag.pod Subject: Warn when redefining or undefining a constant sub From: Chip Salzenberg <chip@perl.com> Files: pod/perldiag.pod pp.c sv.c Subject: Don't generate spurious 'not imported' warning From: Chip Salzenberg <chip@perl.com> Files: gv.c t/pragma/strict-vars pod/perldiag.pod Subject: Clarify message re: @host in string From: Chip Salzenberg <chip@perl.com> Files: pod/perldiag.pod pod/perltrap.pod toke.c Subject: Disconnect refs that are targets of pp_readline From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c Subject: Fix typo in test of HvFILL() From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Allow for pad name array to be shorter than pad array From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Eliminate format-string type warnings Date: Mon, 3 Mar 1997 10:15:11 +0100 (MET) From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> Files: doio.c ext/POSIX/POSIX.xs gv.c hints/dec_osf.sh pp.c pp_ctl.c pp_hot.c run.c sv.c x2p/a2py.c private-msgid: 199703030915.KAA11634@bombur2.uio.no Subject: Update copyright dates From: Chip Salzenberg <chip@perl.com> Files: *.[hc] x2p/*.[hc] win32/EXTERN.h vms/vmsish.h vms/vms.c TESTS Subject: Smarter t/op/taint.t Date: Mon, 3 Mar 1997 10:31:54 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: t/op/taint.t private-msgid: Pine.GSO.3.95q.970303103047.24000A-100000@kelly.teleport.com Subject: Fix taint test for systems without csh From: Chip Salzenberg <chip@perl.com> Files: t/op/taint.t
* [inseparable changes from match from perl-5.003_90 to perl-5.003_91]Perl 5 Porters1997-02-251-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUILD PROCESS Subject: Sanity check linking with $libs Date: Tue, 25 Feb 1997 14:13:45 -0500 (EST) From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> Files: Configure Msg-ID: <Pine.SOL.3.95q.970225221634.2486A-100000@fractal.lafayette.edu> (applied based on p5p patch as commit 5c37e92e59bb92e49d5a21017cd6dc066a28ddea) Subject: Flush stdout when printing $randbits guess From: Chip Salzenberg <chip@perl.com> Files: Configure Subject: Configure changes for Irix nm From: Helmut Jarausch <helmutjarausch@unknown> Files: Configure CORE LANGUAGE CHANGES Subject: Fix perl_call_*() when !G_EVAL Date: Tue, 25 Feb 1997 02:25:56 -0500 From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: MANIFEST gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c t/op/runlevel.t Msg-ID: <199702250725.CAA09192@aatma.engin.umich.edu>, <199702251925.OAA15498@aatma.engin.umich.edu>, <199702252200.RAA16853@aatma.engin.umich.edu> (applied based on p5p patch as commits 40f788c454d994616342c409de5b5d181ad9b8af, and 907a881cde89c56bc61d3f314c0efb8754ca472a, 20efc0829f6564c44574762adb07e8865bc14026) Subject: Fix taint tests for writeable dirs in $ENV{PATH} From: Chip Salzenberg <chip@perl.com> Files: mg.c mg.h pod/perlsec.pod taint.c Subject: Forbid tainted parameters for truncate() From: Chip Salzenberg <chip@perl.com> Files: pp_sys.c Subject: Don't taint magic hash keys unnecessarily Date: Fri, 28 Feb 1997 02:11:26 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: hv.c private-msgid: <01IFXL9TY74Y00661G@hmivax.humgen.upenn.edu> CORE PORTABILITY Subject: VMS patches post _90 Date: Fri, 28 Feb 1997 15:26:33 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: doio.c mg.c perl.h pp_hot.c t/op/rand.t t/op/taint.t taint.c vms/descrip.mms vms/vms.c private-msgid: <01IFYDE5ZT7O005A53@hmivax.humgen.upenn.edu> Subject: Fix taint check in system() and exec() under VMS and OS/2 From: Chip Salzenberg <chip@perl.com> Files: pp_sys.c Subject: If _XOPEN_VERSION >= 4, socket length parameters are size_t From: Michael H. Moran <mhm@austin.ibm.com> Files: perl.h pp_sys.c Subject: Make dooneliner() compile again From: Chip Salzenberg <chip@perl.com> Files: pp_sys.c DOCUMENTATION Subject: Move ENVIRONMENT from perl.pod to perlrun.pod From: Chip Salzenberg <chip@perl.com> Files: pod/perl.pod pod/perlrun.pod Subject: Describe PERL_DEBUG_MSTATS in perlrun.pod From: Nat <gnat@frii.com> Files: pod/perlrun.pod Subject: Fix references to perlbug From: Chip Salzenberg <chip@perl.com> Files: pod/perl.pod pod/perldelta.pod pod/perllocale.pod pod/perltoc.pod OTHER CORE CHANGES Subject: Short-circuit duplicate study() calls From: Chip Salzenberg <chip@perl.com> Files: pp.c Subject: Call sv_set[iu]v() with [IU]V parameter, not [IU]32 From: Chip Salzenberg <chip@perl.com> Files: perl.c pp.c pp_sys.c toke.c util.c Subject: Clean up and document API for hashes Date: Tue, 25 Feb 1997 13:24:02 -0500 From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: hv.c hv.h pod/perldelta.pod pod/perlguts.pod Msg-ID: <199702251824.NAA14859@aatma.engin.umich.edu> (applied based on p5p patch as commit a61fe43df197fcc70e6f310c06ee17d52b606c45) Subject: pp_undef was not always freeing memory Date: Thu, 27 Feb 1997 01:53:51 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: pp.c Msg-ID: <199702270653.BAA13949@monk.mps.ohio-state.edu> (applied based on p5p patch as commit 1da885048b65b5be1bd3077c6fc45f92c567e1b5) Subject: Don't examine rx->exec_tainted if pregexec() fails From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c TESTS Subject: New test op/taint.t Date: Tue, 25 Feb 1997 11:36:53 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: MANIFEST t/op/taint.t private-msgid: <Pine.GSO.3.95q.970225101328.18288M-100000@kelly.teleport.com Subject: Patch to t/op/rand.t Date: Tue, 25 Feb 1997 18:19:34 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: t/op/rand.t private-msgid: <Pine.GSO.3.95q.970225181321.13796Q-100000@kelly.teleport.com UTILITIES Subject: Add --lax option to pod2man; use it in perldoc From: Nat <gnat@frii.com> Files: pod/pod2man.PL utils/perldoc.PL Subject: Eliminate dead code in pod2man From: Chip Salzenberg <chip@perl.com> Files: pod/pod2man.PL
* perl 5.003_05: mg.hPerl 5 Porters1996-09-081-0/+4
| | | | | | | | Replace the oft-repeated mg_ptr incantation with the simple MgPVKEY macro. Rename MgPVKEY to MgPV (to match with HePV elsewhere). Add additional parens around the "mg".
* Perl 5.001perl-5.001Larry Wall1995-03-121-0/+3
| | | | [See the Changes file for a list of changes]
* perl 5.000perl-5.000Larry Wall1994-10-171-8/+8
| | | | | | | | | | | [editor's note: this commit combines approximate 4 months of furious releases of Andy Dougherty and Larry Wall - see pod/perlhist.pod for details. Andy notes that; Alas neither my "Irwin AccuTrack" nor my DC 600A quarter-inch cartridge backup tapes from that era seem to be readable anymore. I guess 13 years exceeds the shelf life for that backup technology :-(. ]
* perl 5.0 alpha 9perl-5a9Larry Wall1994-05-041-0/+1
| | | | [editor's note: the sparc executables have not been included, and emacs backup files have been removed]
* perl 5.0 alpha 6Larry Wall1994-03-181-0/+4
| | | | [editor's note: cleaned up from the September '94 InfoMagic CD, just like the last commit]
* perl 5.0 alpha 4Larry Wall1993-11-101-1/+1
| | | | | | | [editor's note: the sparc executables have not been included, and emacs backup files have been removed. This was reconstructed from a tarball found on the September 1994 InfoMagic CD; the date of this is approximate]
* perl 5.0 alpha 2perl-5a2Larry Wall1993-10-071-0/+28
[editor's note: from history.perl.org. The sparc executables originally included in the distribution are not in this commit.]