Ticket #1672 (closed bug: fixed)
TT #389 fix introduced regression with globals.
| Reported by: | coke | Owned by: | whiteknight |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | core | Version: | trunk |
| Severity: | high | Keywords: | |
| Cc: | allison | Language: | tcl |
| Patch status: | Platform: |
Description (last modified by coke) (diff)
r45827 introduces a regression in partcl. Stripping it down to the smallest PIR I can:
.sub 'blah'
$P1 = new 'Sub' # String prints "ok"...
set_root_global 'arg', $P1
$P0 = get_root_global 'arg'
unless null $P0 goto good
print "not "
good:
say "ok"
.end
This prints "not ok" in r45827 and HEAD, but I expect it to print "ok", even after the :nsentry fixes.
I suspect that the change to the namespace PMC was overbroad, and shouldn't have impacted this case where I am quite deliberately sticking something that ISA Sub into a namespace. (As opposed to declaring a .sub and letting the PIR compiler decide what to do with it.)
On the other hand, if I'm mistaken, and I have to do the same work that IMCC is doing to add the :nsentry flag, how do I do that? It doesn't appear that the C-level flag SUB_COMP_FLAG_NSENTRY (and sub_comp_flags_enum) is used anywhere other than IMCC or the Namespace PMC.
