Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aliased @ISA does not work #10548

p5pRT opened this issue Aug 15, 2010 · 3 comments

Aliased @ISA does not work #10548

p5pRT opened this issue Aug 15, 2010 · 3 comments


Copy link

p5pRT commented Aug 15, 2010

Migrated from (status was 'resolved')

Searchable as RT77238$

Copy link

p5pRT commented Aug 15, 2010

From @cpansprout

Aliased @​ISA does not work

If the same @​ISA variable is assigned to multiple packages, inheritance does not work properly. It used to work in 5.8. Here is an example​:

{package parent}
*right​::ISA = \@​left'ISA;
push right​::ISA, parent;
print right->isa('parent'),"\n"; # prints nothing in 5.10; 1 in 5.8
print left->isa('parent'),"\n"; # prints 1 regardless of perl version

This is a known problem, as this comment in mg.c, which was added in 70cd14a, shows​:
  /* XXX Once it's possible, we need to
  detect that our @​ISA is aliased in
  other stashes, and act on the stashes
  of all of the aliases */

But I’m creating this ticket so it’s not forgotten. (And now I see there’s a test commented out in t/mro/basic.t for it.)

A fix I’m working on for part of bug #75176 will provide infrastucture that makes this bug trivial to fix.


Site configuration information for perl 5.13.3​:

Configured by sprout at Sat Jul 31 05​:50​:29 PDT 2010.

Summary of my perl5 (revision 5 version 13 subversion 3 patch v5.13.3-140-g79504a3) configuration​:
  Snapshot of​: 79504a3
  osname=darwin, osvers=10.4.0, archname=darwin-2level
  uname='darwin pint.local 10.4.0 darwin kernel version 10.4.0​: fri apr 23 18​:28​:53 pdt 2010; root​:xnu-1504.7.4~1release_i386 i386 '
  config_args='-de -Dusedevel'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
  use64bitint=undef, use64bitall=undef, uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  cc='cc', ccflags ='-fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include',
  cppflags='-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
  ccversion='', gccversion='4.2.1 (Apple Inc. build 5664)', gccosandvers=''
  intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
  ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
  alignbytes=8, prototype=define
  Linker and Libraries​:
  ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib
  libs=-ldbm -ldl -lm -lutil -lc
  perllibs=-ldl -lm -lutil -lc
  libc=/usr/lib/libc.dylib, so=dylib, useshrplib=false, libperl=libperl.a
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
  cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector'

Locally applied patches​:

@​INC for perl 5.13.3​:

Environment for perl 5.13.3​:
  LANGUAGE (unset)
  LOGDIR (unset)
  PERL_BADLANG (unset)

Copy link

p5pRT commented Nov 14, 2010

From @cpansprout

Fixed by 6624142.

Copy link

p5pRT commented Nov 14, 2010

@cpansprout - Status changed from 'new' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

1 participant