summaryrefslogtreecommitdiff
path: root/lib/dumpvar.pl
Commit message (Collapse)AuthorAgeFilesLines
* lib/dumpvar.pl: Generalize for non-ASCII platformsKarl Williamson2015-03-051-31/+25
|
* prevent failures deep in value dumping from abortingRicardo Signes2013-01-251-1/+17
| | | | | | | | | | | | | | | | Sometimes, dumpvar's dumpvalue routine gets a value it can't dump. The simplest example to contrive is the one in this test: a tied hash that can't tell you its keys. Until now, this would cause the whole dump to abort as soon as it failed to dump one part. With this commit, each stringify or unwind is inside an eval. Failed stringifications or unwindings are replaced with a placeholder showing the error. unwind uses return to stop early, and rather than go through contortions to wrap the eval in something that can then return 1 to test that eval worked, I've just asserted that this code requires 5.14.0, which made $@ a much more reliable indicator of failure after eval.
* Remove use of local($_) from dumpvar.plFather Chrysostomos2011-12-161-4/+7
| | | | | | I know we should really be fixing local($_), but that code in scope.c is rather twisted, and I want to see this fix in 5.16.
* [RT #36079] Convert ` to '.jkeenan2011-11-221-1/+1
|
* Examining objects through the 'x' command in the perl debugger doesn'tLaurent Dami2011-10-231-2/+1
| | | | | | work if those objects are blessed into class names containing '='. This is due to incorrect parsing through 'split' in dumpvar.pl line 165.
* don't use $[ in library codeZefram2010-04-271-2/+2
| | | | | | | Remove all uses of $[, both reads and writes, from library code. Test code (which must test behaviour of $[) is unchanged, as is the actual implementation of $[. Uses in CPAN libraries are also untouched: I've opened tickets at rt.cpan.org regarding them.
* Avoid to load the *+ and *- globs too early.Rafael Garcia-Suarez2007-03-071-1/+0
| | | | | | | | | | To silence spurious interpolation warnings, merely create the stash entry for them. Ensure that the re::Tie::Hash::NamedCapture module is always loaded when we have created the tied hashes %+ and %-. Revert change #30483, which is now unnecessary. p4raw-link: @30483 on //depot/perl: 73f68b39467596f862aade4f4b46d6061aa98bd3 p4raw-id: //depot/perl@30490
* dumpvar.pl must load re::Tie::Hash::NamedCapture if it wantsRafael Garcia-Suarez2007-03-061-0/+1
| | | | | to dump %+ and %-. p4raw-id: //depot/perl@30483
* z/OS: non-CPAN ext and lib + main() without the third arg + Stephen ↵Jarkko Hietaniemi2006-07-131-7/+24
| | | | | | | McCamant's comment Message-ID: <44B67921.6090901@iki.fi> p4raw-id: //depot/perl@28567
* [patch] dumping tied globs without FILENO method on the debugger failsSalvador Fandiño2006-02-271-3/+3
| | | | | Message-ID: <20060225101254.726.qmail@lists.develooper.com> p4raw-id: //depot/perl@27342
* [perl #6749] Perl debugger outputs ctrl-\ wrongly Michael G Schwern2005-07-131-1/+9
| | | | | | From: "Michael G Schwern via RT" <perlbug-followup@perl.org> Message-ID: <rt-3.0.11-6749-117055.16.4354496694007@perl.org> p4raw-id: //depot/perl@25130
* dumpvar.pl brokenIlya Zakharevich2003-09-191-1/+2
| | | | | Message-ID: <20030919015858.GA22503@math.berkeley.edu> p4raw-id: //depot/perl@21284
* [TESTS] dumpvar.plJoe McMahon2003-09-111-9/+45
| | | | | Message-ID: <Pine.LNX.4.44.0309102337150.2043-300000@tribal.metalab.unc.edu> p4raw-id: //depot/perl@21173
* Retract #21010.Jarkko Hietaniemi2003-09-071-43/+7
| | | p4raw-id: //depot/perl@21061
* {PATCH 5.8.1] Re: [perl #23651] Debugger dump failed for blessed REF object Joe McMahon2003-09-031-7/+43
| | | | | Message-Id: <1C49133C-DD91-11D7-8450-000393BCA0FC@ibiblio.org> p4raw-id: //depot/perl@21010
* List lexicals from debuggerPeter Scott2002-03-201-0/+37
| | | | | Message-id: <4.3.2.7.2.20020319101746.00aa7aa0@shell2.webquarry.com> p4raw-id: //depot/perl@15363
* Re: dumpvar.pl bugPeter Scott2002-03-161-8/+8
| | | | | Message-id: <4.3.2.7.2.20020315153302.00bac420@shell2.webquarry.com> p4raw-id: //depot/perl@15258
* New debugger option 'dumpDepth' controls recursion depth of 'x' commandMark-Jason Dominus2002-02-131-5/+7
| | | | | Message-ID: <20020213012042.25245.qmail@plover.com> p4raw-id: //depot/perl@14670
* Very old debugger UTF-8 bugAndreas König2002-01-241-0/+8
| | | | | Message-ID: <m3y9iot1jr.fsf@anima.de> p4raw-id: //depot/perl@14402
* lib/dumpvar.pl, lib/perl5db.pl - fix warningsDaniel S. Lewart2001-05-241-1/+1
| | | | | Message-ID: <20010524050522.A18997@staff1.cso.uiuc.edu> p4raw-id: //depot/perl@10191
* make dumpvar.pl recognize emptyness in arrays (from Matthias UrlichsGurusamy Sarathy2000-03-201-3/+7
| | | | | <smurf@noris.de>); fix up duplicate code in Dumpvalue.pm p4raw-id: //depot/perl@5839
* default warnLevel and dieLevel to 0 in debugger (from TomGurusamy Sarathy2000-03-191-1/+3
| | | | | | Christiansen); make dumpvar.pl safe against non-glob entries in stashes p4raw-id: //depot/perl@5818
* patch to provide more informative names for evals and anonymousGurusamy Sarathy2000-02-041-4/+17
| | | | | subroutines (from Ilya Zakharevich) p4raw-id: //depot/perl@4975
* fix defined(@foo) encarpmentsGurusamy Sarathy1999-08-011-7/+7
| | | p4raw-id: //depot/perl@3848
* make overload, Data::Dumper, and dumpvar understand qr// stringifyGurusamy Sarathy1999-07-041-0/+7
| | | | | overloading p4raw-id: //depot/perl@3570
* fixes for overloading bugs and docs, tweaked someIlya Zakharevich1998-08-011-3/+10
| | | | | | Message-Id: <199807260128.VAA10543@monk.mps.ohio-state.edu> Subject: [PATCH 5.004_76] better overloading p4raw-id: //depot/maint-5.005/perl@1677
* [win32] Add a tweaked version of:Tye McQueen1998-01-041-1/+2
| | | | | | Message-Id: <199801040630.AA29298@metronet.com> Subject: New patch for $^E==GetLastError() under Win32 p4raw-id: //depot/win32/perl@392
* [BUG:PATCH] dumpvar.pl parses some references incorrectlyM.J.T. Guy1997-08-071-7/+7
| | | | | | | | | | | | | dumpvar.pl parses stringified references incorrectly when extrovert class names are used. For example, x bless {}, '=ARRAY(' will crash the debugger. Patch (for 5.004_01 or 5.004_02) attached. p5p-msgid: E0wwAjQ-0004l6-00@ursa.cus.cam.ac.uk
* perl 5.003_01: lib/dumpvar.plPerl 5 Porters1996-07-051-3/+4
| | | | | Turn off optional warnings Eliminate $' to avoid runtime penalty
* Re: Debugger in beta3Ilya Zakharevich1996-02-061-52/+44
|
* Ilya's new debugger.Perl 5 Porters1996-01-111-0/+373
|
* perl 5.000perl-5.000Larry Wall1994-10-171-3/+9
| | | | | | | | | | | [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-1/+1
| | | | [editor's note: the sparc executables have not been included, and emacs backup files have been removed]
* perl 4.0 patch 1: (combined patch)Larry Wall1991-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subject: Configure now handles defaults much better Subject: Configure now knows if config.sh was built on this machine Subject: Configure now checks file existence more efficiently Subject: Configure now handles stupid SCO csh Configure has been heavily revised. Many of the tests that used to simply force a decision now check that decision against the previous value of the variable, and offer to let you change it. The default now is to keep the old value, so that you don't lose information from your previous run. Because of this, it's now more important to know whether, in fact, config.sh was produced on this machine and on this version of the operating system. config.sh now contains a lastuname variable which contains the output of uname -a. If this matches the current output of uname -a, Configure defaults to including the old config.sh. Otherwise not. If there is no valid config.sh, then Configure looks defaults for the current architecture in the hints/ subdirectory instead. The guesswork I've done in this section of code is phenomenal, so you'll have to instruct me where I've misparsed the output of uname (a problem in portability all of its own). Subject: Configure now differentiates getgroups() type from getgid() type Subject: Configure now figures out malloc ptr type Subject: Configure now does better on sprintf() Configure was assuming that the array of values returned from getgroups was the same type as the gids returned by other system calls. Unfortunately, reality set in. Likewise for malloc() and sprintf(), which there is only one portable way to find out the return value of: try it one way or the other, and see if it blows up. Subject: C flags are now settable on a per-file basis Subject: reduced maximum branch distance in eval.c Certain compilers and/or optimizers get bozoed out by large compilation units, or by large structures within those units. Previously, you either had to change the compiler flags for all the files, or do hairy editing in Makefile.SH and remake the Makefile, necessitating a make depend. Now there is a script called cflags.SH whose duty it is to return the proper CFLAGS for any given C file. You can change the flags in just one spot now and they will be immediately reflected in the next make (or even in the current make, if one is running). Eventually I expect that any of the hints files could modify cflags.SH, but I haven't done that yet. The particular problem of long jump offsets in eval.c has been at least partially alleviated by locating some of the labels in the middle of the function instead of at the end. This still doesn't help the poor Vax when you compile with -g, since it puts a jump to the end of the function to allocate the stack frame and then jumps back to the beginning of the function to execute it. For now Vaxen will have to stick with -O or hand assemble eval.c and teval.c with a -J switch. Subject: fixed "Bad free" error Subject: fixed debugger coredump on subroutines Subject: regexec only allocated space for 9 subexpresssions These are problems that were reported on the net and had unofficial patches. Now they have official patches. Be sure to patch a copy of your files without the unofficial patches, or the patch program will get confused. Subject: you may now use "die" and "caller" in a signal handler Someone pointed out that using die to raise an exception out of a signal handler trashed the expression value stack if the exception was caught by eval. While fixing that, I also fixed the longstanding problem that signal handlers didn't have a normal call frame, which prevented the caller function from working. Subject: fixed undefined environ problem Subject: hopefully straightened out some of the Xenix mess Subject: random cleanup in cpp namespace Just keeping up with the current progress in non-standardization. Subject: fixed failed fork to return undef as documented The open function returns undef on failed implicit forks. The Book assumed that the same was true of an explicit fork. I've made the function behave like the Book says. It's a pity there's no way to have an undefined value that returns -1 in a numeric context but false in a boolean context... Subject: generalized the yaccpar fixer some Thanks to Andy Dougherty, perly.fixer now knows how to fix SVR3 2.2's yaccpar code to do dynamic parse stack allocation. He also made it easy for other people to insert their code there. Hooray! Subject: find2perl sometimes needs to stat on the 2nd leg of a -o Subject: find2perl didn't correctly handle switches with an argument of 0 In attempting to delay the lstat to the last moment, in case a filename could be rejected on the basis of its name, find2perl neglected to take into account the fact that control might pass to the 2nd half of a -o without executing all of the 1st half, in particular without executing the lstat. find2perl was wisely removing leading zeroes from numbers that would mistakenly be interpreted as octal numbers by Perl. Unfortunately, this caused it to delete the number 0 entirely. Subject: fixed dumpvar not to dump internal debugging info Subject: substr($ENV{"PATH"},0,0) = "/foo:" didn't modify environment Subject: $foo .= <BAR> could cause core dump for certain lengths of $foo Subject: perl -de "print" wouldn't stop at the first statement Random glitchy little things. Subject: I'm at NetLabs now I'm now working for NetLabs, Inc., and I hadn't changed my address everywhere.
* perl 3.0 patch #22 patch #19, continuedLarry Wall1990-08-081-4/+11
| | | | See patch #19.
* perl 3.0 patch #15 (combined patch)Larry Wall1990-03-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | In patch 13, there was a fix to make the VAR=value construct in a command force interpretation by the shell. This was botched, causing an argv list to be occasionally allocated with too small a size. This problem is hidden on some machines because of BSD malloc's semantics. The lib/dumpvar.pl file was missing final 1; which made it difficult to tell if it loaded right. The lib/termcap.pl Tgetent subroutine didn't interpret ^x right due to a missing ord(). In the section of the man page that gives hints for C programmers, it falsely declared that you can't subscript array values. As of patch 13, this statement is "inoperative". The t/op.sleep test assumed that a sleep of 2 seconds would always return a value of 2 seconds slept. Depending on the load and the whimsey of the scheduler, it could actually sleep longer than 2 seconds upon occasion. It now allows sleeps of up to 10 seconds.
* perl 3.0: (no announcement message available)perl-3.000Larry Wall1989-10-181-0/+28
A few of the new features: (18 Oct) * Perl can now handle binary data correctly and has functions to pack and unpack binary structures into arrays or lists. You can now do arbitrary ioctl functions. * You can now pass things to subroutines by reference. * Debugger enhancements. * An array or associative array may now appear in a local() list. * Array values may now be interpolated into strings. * Subroutine names are now distinguished by prefixing with &. You can call subroutines without using do, and without passing any argument list at all. * You can use the new -u switch to cause perl to dump core so that you can run undump and produce a binary executable image. Alternately you can use the "dump" operator after initializing any variables and such. * You can now chop lists. * Perl now uses /bin/csh to do filename globbing, if available. This means that filenames with spaces or other strangenesses work right. * New functions: mkdir and rmdir, getppid, getpgrp and setpgrp, getpriority and setpriority, chroot, ioctl and fcntl, flock, readlink, lstat, rindex, pack and unpack, read, warn, dbmopen and dbmclose, dump, reverse, defined, undef.