From: Marc Girod on
On Feb 27, 7:33 pm, Marc Girod <marc.gi...(a)gmail.com> wrote:

> ClearCase::Wrapper::CODE(0x1ae0ab8)(/cygdrive/o/atcctest/ClearCase-
> Wrapper/blib/lib/ClearCase/Wrapper.pm:119):
> 119:                        next unless eval "exists \&$tglob";

Oh! Now I understood how '$DB::single = 1' works!
So, I could 'put a breakpoint' there.

DB<1> x %names
0 '__ANON__[/usr/lib/perl5/site_perl/5.10/ClearCase/Wrapper/DSB.pm:
13]'
1 *ClearCase::Wrapper::DSB::__ANON__[/usr/lib/perl5/site_perl/5.10/
ClearCase/Wrapper/DSB.pm:13]
2 'lock'
3 *ClearCase::Wrapper::DSB::lock
....
68 'update'
69 *ClearCase::Wrapper::DSB::update
ClearCase::Wrapper::CODE(0x1960c08)(/cygdrive/o/atcctest/ClearCase-
Wrapper/blib/lib/ClearCase/Wrapper.pm:120):
120: next unless eval "exists \&$tglob";
DB<2> p $_
__ANON__[/usr/lib/perl5/site_perl/5.10/ClearCase/Wrapper/DSB.pm:13]
DB<3> s
BEGIN not safe after errors--compilation aborted at /usr/lib/
perl5/5.10/Carp/Heavy.pm line 11.
Compilation failed in require at /usr/lib/perl5/5.10/Carp.pm line 33.
Attempt to reload Carp/Heavy.pm aborted.
Compilation failed in require at /usr/lib/perl5/5.10/Carp.pm line 33.
....

I hope I don't bore you...
Marc
From: Marc Girod on
On Feb 27, 7:48 pm, Marc Girod <marc.gi...(a)gmail.com> wrote:

> > 119:                        next unless eval "exists \&$tglob";

It would seem that this problem vanishes
(and leaves place to the original one) if
I change the syntax into either of:

next unless exists &{$tglob};
next unless eval { exists &{$tglob} };

Again I am not quite sure I am not also
changing the semantics... but under the
debugger, it looks like doing what I
understood was intended.

But as I said, I am only back to:

ClearCase-Wrapper> perl -Mblib blib/script/cleartool.plx des -s foo
Subroutine main::exit redefined at /usr/lib/perl5/site_perl/5.10/
ClearCase/Argv.pm line 21.
Subroutine main::exec redefined at /usr/lib/perl5/site_perl/5.10/
ClearCase/Argv.pm line 22.
foo

Marc