[Pkg-tcltk-devel] Bug#1027932: SpellFix: programming error in itcl 3.4.4

Joern joern.kessler at gmx.net
Wed Jan 4 18:10:18 GMT 2023


Package: itcl3
Version: 3.4.4-1
Severity: important

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: arm64 (aarch64)

Kernel: Linux 6.0.0-6-arm64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_CRAP
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages itcl3 depends on:
ii  libc6               2.36-7
ii  libtcl8.6 [libtcl]  8.6.13+dfsg-1

itcl3 recommends no packages.

Versions of packages itcl3 suggests:
pn  itcl3-doc  <none>

-- no debconf information

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].
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

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



More information about the Pkg-tcltk-devel mailing list