chrstphrchvz / perl-tcl-ptk

Tcl::pTk - Interface to Tcl/Tk with Perl/Tk compatible syntax
https://metacpan.org/pod/Tcl::pTk
Other
8 stars 2 forks source link

bare `Exists` not working under TkHijack #12

Open chrstphrchvz opened 3 years ago

chrstphrchvz commented 3 years ago

(Migrated from https://rt.cpan.org/Ticket/Display.html?id=125390.)

If a program uses Exists (and possibly other symbols) instead of Tk::Exists, an error results:

    Can't locate object method "Exists" via package "MyPackage" at MyPackage.pm line nnn.

One workaround is to replace Exists with Tk::Exists.

I'm not yet sure what causes this. Tcl/pTk.pm does have @EXPORT (@perlTk, …); where my @perlTk = qw(… Exists …);, and TkHijack.pm redefines Tk::Exists to Tcl::pTk::Exists. And most other bare symbols like MainLoop seem to work fine.

chrstphrchvz commented 1 year ago

There needs to be a test for this.