summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* perlbug -ok [PATCH]Charles F. Randall1997-08-071-20/+67
| | | | | | | | | | | | | Here's a simple patch to perlbug.PL to add an "-ok" option for reporting success. It includes the configuration data from the Config module by forcing the -v option. The resulting subject line on my system is, OK: perl 5.00401 on freebsd 2.1.5-release ^version ^osname ^osvers p5p-msgid: 199706181824.MAA04082@free.click-n-call.com
* perlbug - check sendmail and fix win32 tmp pathGurusamy Sarathy1997-08-071-1/+2
| | | | | | | | | | | | | | Subject: [PATCH] "perlbug" =~ /(bug){2}/ perlbug -ok fails to quit cleanly and save a copy of the report if there is no sendmail. Further, it saves the bugreport in the wrong place on win32 (c:\tempbugrep027) due to a missing path-separator. The attached patch fixes both problems. p5p-msgid: 199708060349.XAA15895@aatma.engin.umich.edu
* Easier TCP stack selection for VMSDan Sugalski1997-08-071-1/+36
| | | | | | | | | | | | | | Here's a patch for [.vms]descrip.mms to make it a touch easier to use UCX sockets instead of socketshr ones. (Use /Macro= DECC_SOCKETS=1 or SOCKETSHR_SOCKETS=1 to select the stack) It also skips the ?2P programs when compiling with __DEBUG__ support, as MMK gets real unhappy up if you try. This is an evil hack, though, as the real answer is to fix things so they work either way. Hopefully Eudora hasn't word wrapped this... p5p-msgid: 3.0.1.32.19970624151939.00994490@stargate.lbcc.cc.or.us
* Assorted OS/2 fixesIlya Zakharevich1997-08-078-9/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In article <9706131709.AA05526@toad.ig.co.uk>, Tim Bunce <Tim.Bunce@ig.co.uk> wrote: > It give me great pleasure to announce the arrival of perl5.004_01. Thank you for a great job! You even corrected os2/diff.configure! Unfortunately, several sections of os2/diff.configure were erroneously removed, so it will not create a valid config.sh any more (ar used instead of $ar, and one extra method to extract symbols is not tried). Unfortunately, I was away from my development machine, so could not try it earlier. A patch to correct this problem, and some other ones, follows. a) Missing sections restored; os2/diff.configure b) my_flock added to os2/os2.c (libc contains a dummy implementation only) (switchable off in case CRT DLL is fixed in this respect); os2/os2ish.h os2/Makefile.SHs os2/os2.c c) depending on architecture, waitpid may be implemented or not. New define HAS_WAITPID_RUNTIME is added and wait4pid corrected correspondingly; os2/os2ish.h util.c d) if -S was given and the file name contained \ , it was nevertheless searched on path; perl.c e) updated: os2/Changes README.os2 f) by default use better gcc optimization options (as mbeattie advices): hints/os2.sh [editor's note: this was applied in the reverse order to one a couple of commits ago] p5p-msgid: 1997Jun16.163234.2091727@hmivax.humgen.upenn.edu
* Additional patch is needed for os2/diff.configureIlya Zakharevich1997-08-071-24/+43
| | | | | | | | | | I spoke too quick, and in fact an additional patch is needed for os2/diff.configure. [editor's note: some failed hunks here, hunk header numbers had changed] p5p-msgid: 199708020745.DAA19483@monk.mps.ohio-state.edu
* Additional OS/2 patchesIlya Zakharevich1997-08-073-0/+15
| | | | | | | | | | | | | | | | | This is yet-another after-candidate2 -S fix: a) We enable adding extensions for -S search on OS/2 (needed for pod2man in makemaker after binary install); b) remove an extra stat(); c) Update docs; Credited: Gurusamy Sarathy <gsar@engin.umich.edu> [editor's note: one hunk from original patch was already applied] p5p-msgid: 199708020823.EAA19521@monk.mps.ohio-state.edu
* win32_stat() fixes (2nd try)Gurusamy Sarathy1997-08-073-4/+27
| | | | | | | | Here's a better version (the earlier one didn't clear the execute bit for some files). This one also enables a test. p5p-msgid: 199708040137.VAA16810@aatma.engin.umich.edu
* win32 tweaksGurusamy Sarathy1997-08-072-1/+6
| | | | | | | | | One of my earlier patches used the unportable MAXPATH instead of MAX_PATH. The getenv() fix produced linker warnings because of a missing declaration. This fixes both problems. p5p-msgid: 199707042150.RAA01065@aatma.engin.umich.edu
* win32 extras and embeddingGurusamy Sarathy1997-08-078-277/+302
| | | | | | | | | | | | | | | | | | | | | | This patch makes the various Win32-specific builtins available in embedded perl. It also fixes a problem with FP errors thrown by the Borland runtime when doing something like C<perl -e "print(1.0e+26 % 1">. The VC runtime doesn't throw those errors because FP errors are off by default in VC, on in Borland. The patch adds code to always turn them off. (This should ultimately be made user-settable via $SIG{FPE}, when we have more robust signal handling). I've also made Borland builds use gcvt(), which is available there, and is much faster than sprintf(). Most of the size of the patch comes from moved code. [editor's note: some of these changes are being applied in the wrong order and changing slightly] p5p-msgid: 199707250232.WAA03421@aatma.engin.umich.edu
* win32 docs and runperl.batGurusamy Sarathy1997-08-074-3/+97
| | | | | | | | | | | | | This patch fills in some gaps in the docs, and adds runperl.bat. The fix to pl2bat makes it so that a #!perl line is always available, so that "perl -x" always works on a batific file. This goes over my previous win32 patches (esp. the exec patch and the pl2bat patch). I'm going to post a consolidated win32 patch here soon, never fear. p5p-msgid: 199707070446.AAA29560@aatma.engin.umich.edu
* minor win32 scribblesGurusamy Sarathy1997-08-076-42/+50
| | | | | | | | | This patch updates the Config.pm templates to have more reasonable entries. Credited: Hugo van der Sanden <hv@crypt.compulink.co.uk> p5p-msgid: 199707262307.TAA28410@aatma.engin.umich.edu
* getenv() after my_setenv() gets old entry on Win32Gurusamy Sarathy1997-08-072-0/+28
| | | | | | | | | | | | | | | Perl uses the environment to communicate the -d:DProf switch to itself. Since the win32 code sets the operating system's env block directly when my_setenv() is called, calls to the RTL's getenv() won't see the changed environment, so the -d:Foo option is not honored. The attached patch fixes the problem by supplying our own getenv() equivalent. p5p-msgid: 199706231700.NAA23400@aatma.engin.umich.edu
* exec() fixed on win32Gurusamy Sarathy1997-08-0710-12/+75
| | | | | | | | | exec() doesn't work right on Win32 because of the UNIX-specific do_exec(). This patch fixes that, and updates the README.win32 in spots. p5p-msgid: 199706241525.LAA06554@aatma.engin.umich.edu
* Win32 sitelib intuition from DLL locationGurusamy Sarathy1997-08-073-1/+12
| | | | | | | | | | | | | There is code for win32 that determines archlib from the location of PERL.DLL. This is only 50% effective, as any sitelib at the same location is not found. This simple patch adds that feature. It is needed for the win32 binary distribution to work in a relocatable fashion. [editor's note: perhaps only partially applied] p5p-msgid: 199706231647.MAA23260@aatma.engin.umich.edu
* Minor fix for pl2bat.batGurusamy Sarathy1997-08-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | A long time ago, on Tue, 24 Jun 1997 12:02:25 PDT, Warren Jones wrote: >Scripts created by pl2bat pass themselves to perl with "perl -x -X %0.bat". >Adding the ".bat" extension to %0 is unnecessary, since "perl -S" will >try this automatically. It makes the script impossible to run from >the MKS Korn shell, since that shell alway invokes batch files using >the full path and ".bat" extension. Thus perl ends up getting a file >name with *two* ".bat" extensions (foo.bat.bat) which doesn't work. >A patch follows. > >Also, does anyone know why pl2bat uses "%1 %2 %3 ..." rather than %* ? >Admittedly, all this dosish foolery is pretty lame. %* does not work with 4DOS/NT. I just found out it can be made to work there by setting C<ParameterChar = *> in the 4nt.ini file. Since using %* eliminates the 9 arg limit for perl bat files, I recommend this patch (which includes yours). Credited: Warren Jones <wjones@tc.fluke.com> p5p-msgid: 199707061843.OAA23874@aatma.engin.umich.edu
* Embedding threaded apps in perl.dllGurusamy Sarathy1997-08-071-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Resend: I forgot to cc p5p] On Fri, 25 Jul 1997 17:22:09 EDT, Doug MacEachern wrote: >> >Were you able to run Apache w/ mod_status & perl? >> >> Not yet, maybe tonight. > >Now I get "Unhandled execption in Apache.exe(PERL.DLL); 0x...: >Access Violation." During perl_alloc(), win32_malloc() tries to >pIOSubSystem->pfnmalloc(size), but it looks like pIOSubSystem has not >been initialized at all (0x00000000). I've poked around, guessing, >tried adding: >PERL_SYS_INIT(&argc,&args); >SetIOSubSystem(&win32stdio); The first thing I noticed was Apache is threaded, and mod_status code will be invoked in a thread different from the main one. The second thing I found out was I couldn't reproduce the problem when running Apache with perl.dll produced by Borland. Putting two and one together, I came up with this fix. Note that another way to fix it would be to initialize pIOSubSystem in DllMain's DLL_THREAD_ATTACH, but there is no call for pIOSubSystem to be thread-local in the first place (it is simply a pointer to an application level global). p5p-msgid: 199707261518.LAA24346@aatma.engin.umich.edu
* Sys::Hostname -w unclean in trial 2Gurusamy Sarathy1997-08-071-1/+1
| | | | | | | | | | | Subject: [PATCH] trial2: Sys::Hostname -w unclean The new Sys::Hostname generates a compiler warning. [editor's note: the base for this one is wrong. Previously gethostbyname was called in void context.] p5p-msgid: 199708032055.QAA14278@aatma.engin.umich.edu
* MM_Unix.pm nits for Win32 DMAKEGurusamy Sarathy1997-08-071-0/+2
| | | | | | | This works around some problems DMAKE has with the new MakeMaker in trial2. p5p-msgid: 199708032051.QAA14248@aatma.engin.umich.edu
* perl debugger, win32, and emacsJay Rogers1997-08-071-0/+4
| | | | | | | | The following patch is necessary for the perl debugger to run under emacs on a win32 machine. The "or defined $ENV{EMACS}" is necessary for the debugger to run under emacs shell-mode as well. p5p-msgid: 199707311759.NAA13276@crooked-i.mitre.org
* PATCH: make DBM*_File modules sub-classablePaul Marquess1997-08-078-5/+331
| | | | | | | | Here is a patch to make the DBM*_File modules sub-classable. The sub-class patch for DB_File will be along presently. p5p-msgid: 9707121854.AA19472@claudius.bfsec.bt.co.uk
* [MM] [PATCH] Re: Liblist problems for MSWin32Gurusamy Sarathy1997-08-071-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Wed, 18 Jun 1997 14:57:37 EDT, Owen Stenseth wrote: >>>>>> "Sarathy" == Gurusamy Sarathy <gsar@engin.umich.edu> writes: > Sarathy> On 18 Jun 1997 12:01:59 MDT, Owen Stenseth wrote: > >> When building the extension on NT I ran into a problem with > >> the Liblist. The linker supported on NT does not understand -L > >> or -l switches so the contents of LDLOADLIBS and EXTLIBS cause > >> an error in the linker. > > Sarathy> You should try 5.004_01. I added Liblist support for > Sarathy> win32 in that version. It handles -l and -L flags, as > Sarathy> well as default libraries that are sufficient for most > Sarathy> purposes. Let me know if it doesn't work for you. > >I guess my latest.tgz was not the latest. > > Sarathy> If the problems you describe are with 5.004_01, please do > Sarathy> send us your changes. Thanks. > >No but you do use $verbose instead of $Verbose at the very end of the >_win32_ext sub in the 5.004_01 version. Aak, that was a poor cut-and-paste job from the VMS code (where $Verbose is rightfully called $verbose). Here's a patch, that also incidentally corrects a typo in the VMS code. p5p-msgid: 199706182152.RAA20273@aatma.engin.umich.edu
* Repost of fork() debugger patchIlya Zakharevich1997-08-072-11/+77
| | | | | | | | | Here is the repost of what was apparently lost during some turmoil on p5-p. Enjoy, p5p-msgid: 199707252101.RAA11846@monk.mps.ohio-state.edu
* DB_File 1.15 patchPaul Marquess1997-08-076-30/+333
| | | | | | | | | | | | | | | | | | | | This patch for DB_File fixes a few minor bugs and adds the sub-class patch. Patch from Gisle Aas <gisle@aas.no> to suppress "use of undefined value" warning with db_get and db_seq. Patch from Gisle Aas <gisle@aas.no> to make DB_File export only the O_* constants from Fcntl. Removed the DESTROY method from the DB_File::HASHINFO module. Previously DB_File hard-wired the class name of any object that it created to "DB_File". This makes sub-classing difficult. Now DB_File creats objects in the namespace of the package it has been inherited into. p5p-msgid: 9707192117.AA01973@claudius.bfsec.bt.co.uk
* Sys::Hostname should localize $SIG{__DIE__}Ken Shan1997-08-071-1/+6
| | | | | | | | | | | ~s Sys::Hostname should localize $SIG{__DIE__} When Sys::Hostname is trying various methods to get the hostname, it should localize $SIG{__DIE__}. Patch follows. (I'm not sure if $SIG{__WARN__} should also be localized.) p5p-msgid: 199707070357.XAA18065@digitas.harvard.edu
* perl5.004 Time::Local still brokenMathias Koerber1997-08-071-16/+18
| | | | | | | | | | lib/Time/Local.pm is still broken under the new perl5.004. In effect, when starting up it assumes that the tzsec variable can be filled with the *current* time difference between localtime and gmtime. However, there are timezones where this p5p-msgid: 199706260452.MAA22647@dnssec1.singnet.com.sg
* Remove 'use UNIVERSAL;', switch to UNIVERSAL::isa()M.J.T. Guy1997-08-073-9/+8
| | | | | | | | | | | | | | | | | Subject: Re: UNIVERSAL.pm and import methods I wrote > I've a sneaking feeling that I'm the only person who's tried to use > this. And as you might guess from my bug reports, I've learnt the > error of my ways. I spoke too soon. There are three uses in the standard distribution. The attached patch should get rid of them. Probably worth doing this irrespective of how the UNIVERSAL/import question is resolved. p5p-msgid: E0whaZJ-0007BA-00@ursa.cus.cam.ac.uk
* Exporter errors give wrong locationM.J.T. Guy1997-08-071-3/+5
| | | | | | | | | If you attempt to import a symbol which a module doesn't export, the error is reported as in Exporter.pm rather than in the offending module, because Exporter.pm uses warn instead of carp. Patch attached. (Against either 5.004 or 5.004_01.) p5p-msgid: E0wdJra-0000n8-00@taurus.cus.cam.ac.uk
* Binary installers for Perl modulesIlya Zakharevich1997-08-071-3/+39
| | | | | | | | | | | | | The following patch makes it possible to trivially write a binary installer for a module on a given platform. This still leaves a question on binary uninstaller (on platforms where there is a standard database of installed software, so it may be easy to hook into it). Why is the uninstall target of Makefiles disabled? Enjoy, p5p-msgid: 199707210006.UAA06165@monk.mps.ohio-state.edu
* perl4 to perl5.004 converion with debugger problemM.J.T. Guy1997-08-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jmm@elegant.com (John Macdonald) wrote > The other issue is an annoyance rather than a stopper. As cited > in perl425traps, "stuff${'var}more stuff" is no longer > supported, only $::var and ${::var} are recognized with a > string. Changing the ' to :: means that the code is no longer > perl4 compatible. I don't want to have ongoing work on two > versions (perl4 and perl5), so the only good workaround, for > now, is to break the string into: > > "stuff" . $'var . "more stuff" > > As I said, it's an annoyance - there's lots of them in the code > and a significant proportion of the conversions to . would cause > lines that ought to be wrapped for readability purposes. > > Is there any hope of getting the $' syntax recognized within > strings? (Sigh, I'm sure it's too late for it to go into > 5.004_01, though.) I think it would be a very bad idea to retrofit this. Having single quotes which don't start quoted strings is a syntactic ambiguity nightmare. Consider soft references such as "stuff${'var'}more stuff". (I presume that's why it had to be removed.) You can avoid this problem, and not extend the lines quite as much, by explicitly including the package name: "stuff${main'var}more stuff" which works compatibly in perl4 and perl5. Attached is a suggested patch for perltrap. p5p-msgid: E0wdKJY-00010w-00@taurus.cus.cam.ac.uk
* patch to 5.004_01 perltrap.podJohn Macdonald1997-08-071-13/+3
| | | | | | | I noticed that one entry was repeated, and the description for both didn't really describe the full nature of the trap. p5p-msgid: 9706231525.AA22790@revenge.elegant.com
* multiline commands in qx//Gurusamy Sarathy1997-08-072-7/+35
| | | | | | | | | | | | | | | | | | On Mon, 21 Jul 1997 15:50:03 EDT, Ilya Zakharevich wrote: >In article <199707202332.TAA05144@aatma.engin.umich.edu>, >Gurusamy Sarathy <gsar@engin.umich.edu> wrote: >> +the system's command shell for parsing (this is C</bin/sh -c> on Unix >> +platforms, but varies on other platforms). If there are none, the >> +argument is split into words and passed directly to execvp(), which is >> +more efficient. Note: exec() and system() do not flush your output >> +buffer, so you may need to set C<$|> to avoid lost output. Examples: > >"If there are none" should be changed to "if command contains no shell >metacharacters". Here's a newer version of that doc patch. Ignore the old one. p5p-msgid: 199707212350.TAA18496@aatma.engin.umich.edu
* cool quote for perldebugGreg Bacon1997-08-071-0/+8
| | | | | | A by-product of #perl discussion [sic]. Take it or leave it. p5p-msgid: 199707292140.QAA28579@adtrn-srv4.adtran.com
* [BUG] perlembed.pod:power.c exampleDoug MacEachern1997-08-071-5/+2
| | | | | | | | I think this one has been around since perlembed.pod first became more than "Look at perlmain.c and do something like that" :-) This is on top of the patch I sent the other day. p5p-msgid: 199707181344.JAA10565@postman.opengroup.org
* Updates to perlguts (repost)Ilya Zakharevich1997-08-071-0/+144
| | | | | | Enjoy, p5p-msgid: 199707152223.SAA00776@monk.mps.ohio-state.edu
* [BUG:PATCH] Missing semicolon message wrong in perldiagM.J.T. Guy1997-08-071-7/+7
| | | | | | | | | | | | | | | This error message is different between the source and perldiag.pod, so that "use diagnostics;" doesn't pick it up. I have moved the message to be in the correct collating order, _ignoring_ the initial TAB. Is this the right thing to do? Is the ordering merely for the convenience of humans, or are there programs which exploit it? I note that "use diagnostics;" doesn't. Warning: This patch inserts a TAB into perldiag - make sure it stays as a TAB. p5p-msgid: E0welEn-0002vT-00@taurus.cus.cam.ac.uk
* Magic info in perlguts, take 2Stephen McCamant1997-08-071-33/+53
| | | | | | | | This patch supersedes the previous one, adding information about 'k', 'f', and 'U', as well as being more specific about 'A', 'a', 'c', 'g', 'L', and 'l'. p5p-msgid: m0wr6P8-000EYLC@alias-2.pr.mcs.net
* new perlembed.pod:match.cDoug MacEachern1997-08-071-109/+127
| | | | | | | | I didn't see any negative (or positive) feedback on the new version of the match.c perlembed example I posted in reply to someone's perlbug a while back. So, here's a perlembed.pod patch. p5p-msgid: 199707170355.XAA21370@postman.opengroup.org
* Better "Can't locate auto/%s.al in @INC" error documentationIlya Zakharevich1997-08-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subject: Re: perl 5.004_01 query: did something change relating to IO::Handle In article <1997Jun23.211618.2091741@hmivax>, Ilya Zakharevich <ilya@math.ohio-state.edu> wrote: > I *thought* I corrected this message a year or two ago... The patch > was probably lost, but it is very easy to restore it: > > Best, Ilya > > --- ./pod/perldiag.pod.old Mon Jun 9 17:11:58 1997 > +++ ./pod/perldiag.pod Mon Jun 23 18:14:30 1997 > @@ -611,6 +611,12 @@ > localize a package variable of the same name, qualify it with the > package name. > > +=item Can't locate auto/%s.al in @INC > + > +(F) A function (or method) was called in a package which allows autoload, > +but there is no function to autoload. Most probable cause is a misprint > +in a function/method name. > + > =item Can't locate %s in @INC > > (F) You said to do (or require, or use) a file that couldn't be found I think the following variant may be even better: p5p-msgid: 1997Jun24.195847.2091744@hmivax.humgen.upenn.edu
* Duplicates in perlguts.podHans Mulder1997-08-071-43/+0
| | | | | | | | Seven entries in the API listing at the end of perlguts.pod are duplicated: p5p-msgid: 9707082346.AA13231@ icgned.icgned.nl private-msgid: 9707082346.AA13231@icgned.icgned.nl
* work around compiler bug on CX/UX (perl5.004_01)Tom Horsley1997-08-072-7/+24
| | | | | | | | | | | | | | | | | | | | | | | This patch provides a work-around for a compiler bug on CX/UX systems (which shows up as a failure in the 'w' format of pack). The CXUX_BROKEN_CONSTANT_CONVERT ifdef flag is added to the hints/cxux.sh compiler and pp.c is modified to avoid a compile time constant conversion which fails based on that ifdef. While I was in the hints file, I also added the magical -Qtarget=M88110compat compiler option which makes it build code that will run on both 88110 and 88100 CX/UX machines interchangably. This patch was generated from a brand new copy of perl5.004_01, so I'm confident there are no extraneous changes that slipped in. I even built and tested and it passed all tests. (I decided to go with option #3 in my previous mail about how to do the patch). If its too late for 5.004_02, I wouldn't worry - it isn't very critical. p5p-msgid: 9707301934.AA18594@amber.ssd.hcsc.com
* Fwd: substr("foo", -1000)M.J.T. Guy1997-08-071-4/+1
| | | | | | | | | | | | | | | | | | | | | Subject: hmmm. Isn't it weird that substr("foo", -1000) is silently converted to substr("foo", 0, 3) while substr("foo", 1000) always causes RETPUSHUNDEF and possibly a warning? I'd say there's too much code in pp.c:pp_substr. Credited: Jarkko Hietaniemi <jhi@iki.fi> Credited: Tim Bunce <Tim.Bunce@ig.co.uk> p5p-msgid: 9707072304.AA01069@toad.ig.co.uk private-msgid: 199707100655.JAA14924@alpha.hut.fi
* semctl broken under LinuxAndreas Schwab1997-08-071-7/+3
| | | | | | | | | | semctl(...,[GS]ETALL,...) passes an uninitialized pointer to the syscall. Credited: Graham Barr <gbarr@ti.com> Credited: Tim Bunce <Tim.Bunce@ig.co.uk> p5p-msgid: 9707040912.AA03470@issan.informatik.uni-dortmund.de private-msgid: 33C38291.2D9302DA@ti.com
* Enable PERL_DEBUG_MSTATS without -DDEBUGGING_MSTATSIlya Zakharevich1997-08-072-2/+6
| | | | | | | | | | | | | | | | | | Subject: [PATCH]: reduced malloc patch Since this problems arise again and again on the list, here is the reduced malloc patch. It corrects the following problems: a) several off-by-one in av_make(); b) Growing TMP on conversion number=>string; c) Uncompatibility of -DDEBUGGING_MSTATS and system malloc; (The first two problems are fixed by malloc_jumbo_2 as well, but the 2 chunks for "c" - in perl.c - were forgotten in that patch). Enjoy, p5p-msgid: 199707150829.EAA01291@monk.mps.ohio-state.edu
* Re: q and escaping paired delimitersGurusamy Sarathy1997-08-071-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Sun, 27 Jul 1997 19:57:31 EDT, Kenneth Albanowski wrote: >In fact, the code in toke.c looks a little suspicious, as if a cut'n'paste >error happened, and the balanced branch didn't get the cleanup it >deserved. There's a "if term != '\\'" statement that does nothing, for >example. Keen. That same deadcode was in one of my post 4_01 patches too (it does no damage, but like you say it serves no purpose either). >Here'a patch over 5.004_01 (although I'd expect it to work with most >versions) to allow you to escape both the starting and end quotes for q >(unbalanced and qq is unchanged), and the obligatory addition to the >tests. If nobody has any complaints, I expect this will be in _02. The toke.c hunk is "dangerous", in the sense that GNU patch will apply it to the wrong branch, if it needs to offset the patch due to later patches having been applied. This is thanks to the two branches having the exact same 8 lines of code. I of course recommend the change you suggest, and to prove my faith, I attach my own version, which: * eliminates the same deadcode in one of my later patches * uses the more meaningful names in the balanced branch * doesn't provoke the GNU patch problem with inadequate context Credited: Kenneth Albanowski <kjahds@kjahds.com> p5p-msgid: 199707280516.BAA14055@aatma.engin.umich.edu
* Re: q and escaping paired delimitersKenneth Albanowski1997-08-072-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Sun, 27 Jul 1997 chrisn@rock.petersons.com wrote: > $\ = "\n"; > print '\'this\''; > print q{'this'}; > print q{{this}}; > print q{\{this\}}; > > I would expect the output to be: > > 'this' > 'this' > {this} > {this} That this should be fixed makes perfect sense to me. You can view easily view backwhacking both sides as a generalization of backwhacking the quote for an unbalanced q''. In fact, the code in toke.c looks a little suspicious, as if a cut'n'paste error happened, and the balanced branch didn't get the cleanup it deserved. There's a "if term != '\\'" statement that does nothing, for example. Here'a patch over 5.004_01 (although I'd expect it to work with most versions) to allow you to escape both the starting and end quotes for q (unbalanced and qq is unchanged), and the obligatory addition to the tests. If nobody has any complaints, I expect this will be in _02. Credited: Gurusamy Sarathy <gsar@engin.umich.edu> p5p-msgid: Pine.LNX.3.93.970727172201.350K-100000@kjahds.com
* -S flag fixes for DOSISH platformsGurusamy Sarathy1997-08-073-20/+113
| | | | | | | | | | | | | | | | | | | | This patch supercedes the one posted here by Ilya (Message-Id: <199707191651.MAA04897@monk.mps.ohio-state.edu>). There are no changes for Unix platforms over Ilya's version. On DOSISH platforms, the initial check in the current directory (or the actual path to the script, if supplied) includes searching for valid extensions. The fact that -S does not do a PATH search if the supplied filename contains directory separators (on all platforms) is documented. This behavior is similar to Unix and DOS shells. Note -S *does* have an effect on DOSISH platforms even if no PATH search happens: valid extensions will be checked for if the file name is not found. p5p-msgid: 199707250043.UAA02385@aatma.engin.umich.edu
* $\1 and serious bug in evallingIlya Zakharevich1997-08-071-1/+2
| | | | | | | | A bug report of several hours ago (that you cannot enter $\1 in debugger with some combinations of mallocs and ReadLines) is fixed by this: p5p-msgid: 199707262127.RAA12883@monk.mps.ohio-state.edu
* Win32 UNC path causes autoload to failWarren Jones1997-08-071-0/+3
| | | | | | | This is a bug report for perl from wjones@tc.fluke.com, generated with the help of perlbug 1.17 running under perl 5.004. p5p-msgid: 97Jun18.163826pdt.35714-1@gateway.fluke.com
* Weirdness in sv_peek()Stephen McCamant1997-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tom Phoenix writes: > On Sat, 26 Jul 1997, Stephen McCamant sent a patch and wrote: > > > I don't know what to say about this one. > > Well, it would be nice to tell us what it's supposed to accomplish! :-) I've given it more thought, and I've thought of something to say. :-) You've snipped the patch, but here's the gist of it: Look at sv_peek(), around line 900 of sv.c. What this function does is build a short description of the contents of an SV, for use in things like -Ds stack dumps. It starts with an empty SV `t', and appends various strings to it: the SV's type, its numeric value, etc. When it's done, it returns the char * (PV) value of the SV. On line 955, one case in the switch that has the type name ends in `return tokenbuf'. tokenbuf is not a local variable, but a global one, not used anywhere else in the function, that holds the last keyword token that the lexer scanned. Why would the function return it when the SV happened to be undefined? I noticed this `weirdness', as I called it in the subject, when running perl -Dts on a short program that had a bug in it: /src/perl5.004_01+% dperl -Dts -e 'for ($x) { map(die, 0) }' EXECUTING... => (-e:0) enter => (-e:0) nextstate => (-e:1) pushmark => * (-e:1) gvsv(main::x) => * die (-e:1) gv(main::_) => * die GV() (-e:1) enteriter => die (-e:1) iter => die SV_YES (-e:1) and => die (-e:1) nextstate => die (-e:1) pushmark => die * (-e:1) const(IV(0)) => die * IV(0) (-e:1) mapstart => die * IV(0) *** (-e:1) pushmark => die * IV(0) **** (-e:1) die Died at -e line 1. Attempt to free unreferenced scalar. Notice the large number of `die's. If I didn't know better, I'd think perl was threatening me. At the time I mailed the patch, the presence of that line in sv_peek() didn't make any sense at all to me -- a total non sequitur. I considered writing something about my puzzlement (even checking how to spell `non sequitur'), but I couldn't think of anything fitting to say. In the time since, I've come up with a theory of where that line came from. I don't have the source for any old 5.0 versions handy, but I realized I did have a debugging binary of 5.003_07, and it didn't have the bug. I now think this bug was introduced late in the 5.003_9? series when Chip decided to fix every buffer overflow he could find. Specifically, I theorize, sv_peek used to use tokenbuf to hold the string it was working on, but it was changed to use an SV instead of a fixed size buffer (that the SV was called `t' was a clue). The fact that this line wasn't updated can then be chalked up to simple oversight, and my sense of the order of the universe is intact. Turns out I can say a lot about this, if I put my mind to it. p5p-msgid: m0wsEMU-000EYLC@alias-2.pr.mcs.net
* Minor Win32 glitch with -S flagWarren Jones1997-08-071-1/+5
| | | | | | | This is a bug report for perl from wjones@tc.fluke.com, generated with the help of perlbug 1.17 running under perl 5.004. p5p-msgid: 97Jun19.150511pdt.35717-2@gateway.fluke.com