| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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() 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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This works around some problems DMAKE has with the new
MakeMaker in trial2.
p5p-msgid: 199708032051.QAA14248@aatma.engin.umich.edu
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
~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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
A by-product of #perl discussion [sic]. Take it or leave it.
p5p-msgid: 199707292140.QAA28579@adtrn-srv4.adtran.com
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Enjoy,
p5p-msgid: 199707152223.SAA00776@monk.mps.ohio-state.edu
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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(...,[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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|