• Crash with combbobox

    From meshparts@[email protected] to comp.lang.tcl on Fri Sep 5 21:04:57 2025
    From Newsgroup: comp.lang.tcl

    My Tcl/Tk app with TK 9.0.2 just crashed after simply pressing CTRL-C in
    a combobox.

    The error was:

    *** ERROR ***
    Time: Friday, the 05 of September, 2025, at 21:01:02
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    while executing
    "set ttk::combobox::ctrlstat 0"
    (procedure "ttk::combobox::ControlKeyRelease" line 3)
    invoked from within
    "ttk::combobox::ControlKeyRelease 17"
    (command bound to event)
    2: {::meshparts::message {*** START OF ERROR MESSAGE ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    *** ERROR INFO ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    while executing
    "set ttk::combobox::ctrlstat 0"
    (procedure "ttk::combobox::ControlKeyRelease" line 3)
    invoked from within
    "ttk::combobox::ControlKeyRelease 17"
    (command bound to event)
    *** ERROR STACK ***
    INNER:storeStk
    CALL:ttk::combobox::ControlKeyRelease 17

    *** END OF ERROR MESSAGE ***} -errorlog 1}
    1: {::bgerrorhandler {can't set "ttk::combobox::ctrlstat": parent
    namespace doesn't exist} {-code 1 -level 0 -errorstack {INNER storeStk
    CALL {ttk::combobox::ControlKeyRelease 17}} -errorcode {TCL LOOKUP
    VARNAME ttk::combobox::ctrlstat} -errorinfo {can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    while executing
    "set ttk::combobox::ctrlstat 0"
    (procedure "ttk::combobox::ControlKeyRelease" line 3)
    invoked from within
    "ttk::combobox::ControlKeyRelease 17"
    (command bound to event)} -errorline 1}}
    0: {::meshparts::showstack filebd72c260}


    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From nemethi@[email protected] to comp.lang.tcl on Sat Sep 6 11:09:08 2025
    From Newsgroup: comp.lang.tcl

    Am 05.09.25 um 21:04 schrieb meshparts:
    My Tcl/Tk app with TK 9.0.2 just crashed after simply pressing CTRL-C in
    a combobox.

    The error was:

    *** ERROR ***
    Time: Friday, the 05 of September, 2025, at 21:01:02
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
        while executing
    "set ttk::combobox::ctrlstat 0"
        (procedure "ttk::combobox::ControlKeyRelease" line 3)
        invoked from within
    "ttk::combobox::ControlKeyRelease 17"
        (command bound to event)
    2: {::meshparts::message {*** START OF ERROR MESSAGE ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    *** ERROR INFO ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
        while executing
    "set ttk::combobox::ctrlstat 0"
        (procedure "ttk::combobox::ControlKeyRelease" line 3)
        invoked from within
    "ttk::combobox::ControlKeyRelease 17"
        (command bound to event)
    *** ERROR STACK ***
    INNER:storeStk
    CALL:ttk::combobox::ControlKeyRelease 17

    *** END OF ERROR MESSAGE ***} -errorlog 1}
    1: {::bgerrorhandler {can't set "ttk::combobox::ctrlstat": parent
    namespace doesn't exist} {-code 1 -level 0 -errorstack {INNER storeStk
    CALL {ttk::combobox::ControlKeyRelease 17}} -errorcode {TCL LOOKUP
    VARNAME ttk::combobox::ctrlstat} -errorinfo {can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
        while executing
    "set ttk::combobox::ctrlstat 0"
        (procedure "ttk::combobox::ControlKeyRelease" line 3)
        invoked from within
    "ttk::combobox::ControlKeyRelease 17"
        (command bound to event)} -errorline 1}}
    0: {::meshparts::showstack filebd72c260}



    The library file ttk/combobox.tcl contains no occurrences of ttk::combobox::ctrlstat or ttk::combobox::ControlKeyRelease. You are apparently using some third-party code that extends the built-in
    ttk::combobox functionality. That code attempts to set the variable ttk::combobox::ctrlstat to 0, which doesn't work with Tcl 9. You will
    have to replace all occurrences of

    set ttk::combobox::ctrlstat ...

    with

    set ::ttk::combobox::ctrlstat ...

    Just out of curiosity: Which ttk::combobox related third-party library
    are you using? That library is apparently not yet compatible with Tcl 9!
    --
    Csaba Nemethi https://www.nemethi.de mailto:[email protected]
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From meshparts@[email protected] to comp.lang.tcl on Sat Sep 6 22:24:44 2025
    From Newsgroup: comp.lang.tcl

    Am 06.09.2025 um 11:09 schrieb nemethi:
    Am 05.09.25 um 21:04 schrieb meshparts:
    My Tcl/Tk app with TK 9.0.2 just crashed after simply pressing CTRL-C
    in a combobox.

    The error was:

    *** ERROR ***
    Time: Friday, the 05 of September, 2025, at 21:01:02
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)
    2: {::meshparts::message {*** START OF ERROR MESSAGE ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    *** ERROR INFO ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)
    *** ERROR STACK ***
    INNER:storeStk
    CALL:ttk::combobox::ControlKeyRelease 17

    *** END OF ERROR MESSAGE ***} -errorlog 1}
    1: {::bgerrorhandler {can't set "ttk::combobox::ctrlstat": parent
    namespace doesn't exist} {-code 1 -level 0 -errorstack {INNER storeStk
    CALL {ttk::combobox::ControlKeyRelease 17}} -errorcode {TCL LOOKUP
    VARNAME ttk::combobox::ctrlstat} -errorinfo {can't set
    "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)} -errorline 1}}
    0: {::meshparts::showstack filebd72c260}



    The library file ttk/combobox.tcl contains no occurrences of ttk::combobox::ctrlstat or ttk::combobox::ControlKeyRelease.  You are apparently using some third-party code that extends the built-in ttk::combobox functionality.  That code attempts to set the variable ttk::combobox::ctrlstat to 0, which doesn't work with Tcl 9.  You will
    have to replace all occurrences of

        set ttk::combobox::ctrlstat ...

    with

        set ::ttk::combobox::ctrlstat ...

    Just out of curiosity:  Which ttk::combobox related third-party library
    are you using?  That library is apparently not yet compatible with Tcl 9!


    Yes, this must be inded the cause.
    I searched but until now could not find the cause.

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From meshparts@[email protected] to comp.lang.tcl on Sun Sep 7 00:00:00 2025
    From Newsgroup: comp.lang.tcl

    Am 06.09.2025 um 22:24 schrieb meshparts:
    Am 06.09.2025 um 11:09 schrieb nemethi:
    Am 05.09.25 um 21:04 schrieb meshparts:
    My Tcl/Tk app with TK 9.0.2 just crashed after simply pressing CTRL-C
    in a combobox.

    The error was:

    *** ERROR ***
    Time: Friday, the 05 of September, 2025, at 21:01:02
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)
    2: {::meshparts::message {*** START OF ERROR MESSAGE ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    *** ERROR INFO ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)
    *** ERROR STACK ***
    INNER:storeStk
    CALL:ttk::combobox::ControlKeyRelease 17

    *** END OF ERROR MESSAGE ***} -errorlog 1}
    1: {::bgerrorhandler {can't set "ttk::combobox::ctrlstat": parent
    namespace doesn't exist} {-code 1 -level 0 -errorstack {INNER
    storeStk CALL {ttk::combobox::ControlKeyRelease 17}} -errorcode {TCL
    LOOKUP VARNAME ttk::combobox::ctrlstat} -errorinfo {can't set
    "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)} -errorline 1}}
    0: {::meshparts::showstack filebd72c260}



    The library file ttk/combobox.tcl contains no occurrences of
    ttk::combobox::ctrlstat or ttk::combobox::ControlKeyRelease.  You are
    apparently using some third-party code that extends the built-in
    ttk::combobox functionality.  That code attempts to set the variable
    ttk::combobox::ctrlstat to 0, which doesn't work with Tcl 9.  You will
    have to replace all occurrences of

         set ttk::combobox::ctrlstat ...

    with

         set ::ttk::combobox::ctrlstat ...

    Just out of curiosity:  Which ttk::combobox related third-party
    library are you using?  That library is apparently not yet compatible
    with Tcl 9!


    Yes, this must be inded the cause.
    I searched but until now could not find the cause.

    Found the cause, that was a change of mine, details can be found here: https://github.com/jcowgar/misctcl/commits

    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From meshparts@[email protected] to comp.lang.tcl on Sun Sep 7 00:27:02 2025
    From Newsgroup: comp.lang.tcl

    Am 06.09.2025 um 22:24 schrieb meshparts:
    Am 06.09.2025 um 11:09 schrieb nemethi:
    Am 05.09.25 um 21:04 schrieb meshparts:
    My Tcl/Tk app with TK 9.0.2 just crashed after simply pressing CTRL-C
    in a combobox.

    The error was:

    *** ERROR ***
    Time: Friday, the 05 of September, 2025, at 21:01:02
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)
    2: {::meshparts::message {*** START OF ERROR MESSAGE ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
    *** ERROR INFO ***
    can't set "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)
    *** ERROR STACK ***
    INNER:storeStk
    CALL:ttk::combobox::ControlKeyRelease 17

    *** END OF ERROR MESSAGE ***} -errorlog 1}
    1: {::bgerrorhandler {can't set "ttk::combobox::ctrlstat": parent
    namespace doesn't exist} {-code 1 -level 0 -errorstack {INNER
    storeStk CALL {ttk::combobox::ControlKeyRelease 17}} -errorcode {TCL
    LOOKUP VARNAME ttk::combobox::ctrlstat} -errorinfo {can't set
    "ttk::combobox::ctrlstat": parent namespace doesn't exist
         while executing
    "set ttk::combobox::ctrlstat 0"
         (procedure "ttk::combobox::ControlKeyRelease" line 3)
         invoked from within
    "ttk::combobox::ControlKeyRelease 17"
         (command bound to event)} -errorline 1}}
    0: {::meshparts::showstack filebd72c260}



    The library file ttk/combobox.tcl contains no occurrences of
    ttk::combobox::ctrlstat or ttk::combobox::ControlKeyRelease.  You are
    apparently using some third-party code that extends the built-in
    ttk::combobox functionality.  That code attempts to set the variable
    ttk::combobox::ctrlstat to 0, which doesn't work with Tcl 9.  You will
    have to replace all occurrences of

         set ttk::combobox::ctrlstat ...

    with

         set ::ttk::combobox::ctrlstat ...

    Just out of curiosity:  Which ttk::combobox related third-party
    library are you using?  That library is apparently not yet compatible
    with Tcl 9!


    Yes, this must be inded the cause.
    I searched but until now could not find the cause.

    So the issue is solved, thanks for the help.
    I updated the package on the repository.
    Just for the record: The package reason is to implement keyboard
    selection to the combobox widget.
    --- Synchronet 3.21a-Linux NewsLink 1.2