Itcl - the [incr Tcl] extension

View Ticket
Login
Ticket Hash: 171b58b82b908fe511e223b3872ec3115548fbf5
Title: SpellFix: programming error in itcl 3.4.4
Status: Open Type: Code_Defect
Severity: Severe Priority: Immediate
Subsystem: Resolution: Open
Last Modified: 2022-12-30 03:23:43
Version Found In: 3.4.4
User Comments:
anonymous added on 2022-12-30 02:27:08:

Debian testing recently updated itcl from 3.4.3 to 3.4.4 and it appears SpellFix is now broken for abbreviations, eg. [info exist foo] vs [info exists foo].

Repro:

#!/usr/bin/env tclsh

package require Itcl

itcl::class TestClass {
    method test {}
}

itcl::body TestClass::test {} {
    set foo "bar"
    if {[info exist foo]} {
        puts "foo exists"
    }
}

TestClass testClass
testClass test


$ ./test.tcl
SpellFix: programming error
[1]    315606 IOT instruction  ./test.tcl


anonymous added on 2022-12-30 03:23:43:
Building 3.4.4 from source has the same issue, so doesn't appear to be Debian-specific. For reference, Debian testing currently has tcl 8.6.13.

3.4.4 doesn't have many changes and this commit is potentially related: https://core.tcl-lang.org/itcl/info/a036f93dad15f1d4