Tcl HomeTcl Home Hosted by
ActiveState

Google SiteSearch

Known Bugs in TclPro 1.3

This page lists the known bugs for TclPro 1.3 and supported extensions. If you have found a bug that is not listed on this page or explained in the FAQ, please send us a bug report.

Known Bugs Index

  • 1. TclPro 1.3
  • 1.1. Invoking prodebug, procheck, procomp, prowrap or prolicense on Linux may generate a core file.
  • 1.2. protclsh and prowish shells may not be able to find init.tcl if TclPro is installed in a directory with non-ASCII characters in the directory name
  • 1.3. cannot select a directory with non-ASCII characters in the directory name for installation
  • 2. TclPro Debugger 1.3
  • 2.1. Public itcl variables override local method variables
  • 2.2. If the project is closed when the project window is open, you may get a stack trace.
  • 2.3. There is no command-line version of the debugger.
  • 2.4. Debugger doesn't parse file names with non-ASCII characters correctly
  • 2.5. The errorInfo variable is sometimes littered with debugger code.
  • 2.6. no way to see the return value of the target application.
  • 2.7. debugger stops more than once on a breakpoint line.
  • 2.8. TclPro Debugger appears to ignore line breakpoints set before a script runs.
  • 2.9. Hyphens should not appear on blank or comment lines.
  • 2.10. Incr Tk fails with error messages like: cannot use "_initOptionInfo" without an object context
  • 2.11. debugger crashes shortly after I dismiss a parsing error in [incr Tcl] code
  • 2.12. Misaligned icons in margin to the left of code.
  • 3. TclPro Checker 1.3
  • 3.1. spurious "warnUndefProc" for certain expect commands
  • 3.2. The checker doesn't catch dereferencing of variables in the proc argument list.
  • 3.3. duplicate warnings appear if "args" is not the last argument to "proc"
  • 3.4. error location indicator (^) points to wrong location
  • 4. TclPro Compiler 1.3
  • 4.1. The compiler doesn't recognize file names containing non-ASCII characters.
  • 4.2. The -prefix tag option does not extract the prefix from the input file.
  • 5. TclPro Wrapper 1.3
  • 5.1. absolute path of -uses argument is ignored
  • 5.2. Tcl "glob" command doesn't find files wrapped in an application
  • 6. [incr Tcl] 3.1
  • 6.1. Can't load Iwidgets package when the install path contains spaces
  • 6.2. The Man Page tab in the [incr Widgets] Catalog program does not work
  • 6.3. Incorrect permission on "mkinstalldirs" and "install.sh" files in the source directory for [Iincr Tcl] 3.0.1.
  • 1. TclPro 1.3

    1.1. Invoking prodebug, procheck, procomp, prowrap or prolicense on Linux may generate a core file.
    Bug 979
    Note this applies to Linux only.
    Prodebug, procheck, procomp, prowrap, and prolicense are shell scripts which set environment variables and invoke the binary for the corresponding tools. If the environment variables SHLIB_PATH and LD_LIBRARY_PATH are not set when executing these scripts, a core file may generated. This bug does not affect the functionality of TclPro tools. The resulting core file can be deleted.

    Work Around:

    Set both the LD_LIBRARY_PATH and SHLIB_PATH environment variables. The following is an example of how to do so in the "sh" shell:

    	LD_LIBRARY_PATH="/opt/scriptics/TclPro1.2/lib"
    	SHLIB_PATH="/opt/scriptics/TclPro1.2/lib"
    

    1.2. protclsh and prowish shells may not be able to find init.tcl if TclPro is installed in a directory with non-ASCII characters in the directory name
    Bug ID 2094
    If TclPro is installed in a directory path containing non-ASCII characters, protclsh82.exe and prowish82.exe can fail with error messages such as:
    Fatal Error in Wish:
       Can't find a usable init.tcl in the following directories:
       <TclPro>/win32-ix86/lib/tcl8.1 
       <TclPro>/TclPro1.3b1/lib/tcl8.1
       <TclPro>/TclPro1.3b1/lib/tcl8.1/library
       <TclPro>/TclPro1.3b1/library
       <TclPro>/../tcl8.1/library
       <TclPro>/../tcl8.1/library
       This probably means that Tcl wasn't installed properly.
    
    This problem does not occur with plain Tcl interpreters (tclsh/wish).

    1.3. cannot select a directory with non-ASCII characters in the directory name for installation
    Bug ID 2095
    Note that this applies to Windows only.
    If you have an existing directory with a name containing non-ASCII characters, the TclPro installer will not let you select it as a top-level directory when browsing for a place to install. Double-clicking on the directory name fails to open it or put it into the path buffer.

    Workaround:
    Enter the directory name directly into the path buffer.

    2. TclPro Debugger 1.3

    2.1. Public itcl variables override local method variables
    When running scripts in the debugger, if a public variable is defined in an itcl class and the same name is used for a variable in a local method, the value of the variable in the method is ignored. Instead of using the value of the local variable, the value of the public variable is used. For example, in you have the following script:
     package require Itcl 3.0
    
     class foo {
         public variable port 7000
         method addPort {port} {
             puts "port =  $port"
         }
     }
    
     foo fooObj
    
     fooObj addPort ::myPort
    
    When the script is run in a tcl shell without using the debugger, the result is:
        port = ::myPort
    
    When the script is run using the same shell in the debugger, the result is:
        port = 7000
    

    2.2. If the project is closed when the project window is open, you may get a stack trace.
    Bug ID 2279
    When an existing project is opened in the debugger, you can get a stack trace if you open the project window and close the project. This only happens if you press "OK" in the project window.

    Workaround:
    Press "Cancel" rather than "OK" in the project window.

    2.3. There is no command-line version of the debugger.
    RFE ID 2236, 2237
    The debugger cannot be scripted, and there is no command-line window in the debugger.

    2.4. Debugger doesn't parse file names with non-ASCII characters correctly
    Bug ID 2028, 2029
    Non-ASCII characters are ignored when the debugger attempts to run a script with a name containing non-ASCII characters. This problem has several symptoms, including:
    • hanging interpreter running in the debugger
    • error messages like:
          couldn't read file "...\c": no such file or directory while
       executing "source $argv0"
      
    • non-ASCII characters are parsed as arguments to the script rather than part of the name of the script

    2.5. The errorInfo variable is sometimes littered with debugger code.
    Bug ID 147, 390
    TclPro Debugger corrupts the errorInfo variable because internal routines show up in the error stack. This is a side effect of instrumentation. Just ignore the DbgNub stack frames.

    2.6. no way to see the return value of the target application.
    RFE ID 95
    There is no way to see the return value of the target application.

    2.7. debugger stops more than once on a breakpoint line.
    Bug ID 75
    Line-based breakpoints cause the debugger to stop before executing each command and subcommand on the specified line. To avoid this bug, you can break Tcl statements across multiple lines so each command begins on a different line.

    2.8. TclPro Debugger appears to ignore line breakpoints set before a script runs.
    Bug ID 98
    In some cases, the path of a file used by TclPro Debugger does not match that used by the program that sources the file. The result is that breakpoints set in the file before the program starts will not be triggered.

    2 Work Arounds:

    1. Make sure to open the file using the same path as the program uses.

    2. Set breakpoints after the first time the file is sourced.

    2.9. Hyphens should not appear on blank or comment lines.
    Bug ID 795
    There are two instances when this can happen:

    1. When the project is open but the application is not running.
    2. When a file is opened via the "File", "Open" menu option.

    The fact that the hyphens appear on these lines allows the breakpoints to be set where they are ignored by TclPro Debugger. You can remove them by deleting them from the Breakpoint window.

    2.10. Incr Tk fails with error messages like: cannot use "_initOptionInfo" without an object context
    Bug ID 471
    [incr Tcl] must be loaded before Itk or there will be bad function pointer references internally due to a bug in [incr Tcl].

    Work Around:

    Ensure that itcl30.dll is loaded before itk30.dll. The easiest way to do this is to put "package require Itcl" before a call to "package require Itk". Note that the Iwidgets init code already does this so the problem is only likely to occur when Itk is being used without Iwidgets, or the code explicitly requires Itk before requiring Iwidgets.

    2.11. debugger crashes shortly after I dismiss a parsing error in [incr Tcl] code
    Bug ID 456
    The instrumenter fails to reset some of the special handlers used to instrument itcl 3.* code. If there is an error during instrumentation, things can get confused, particularly if you run an [incr Tcl] 3.* script followed by an [incr Tcl] 2.2 script.

    Work Around:

    Run TclPro Checker on the script to find the bug, fix it, then quit and restart TclPro Debugger before running the fixed script in TclPro Debugger.

    2.12. Misaligned icons in margin to the left of code.
    Bug ID 92
    Small fonts cause misalignment between lines of code and icons to the left of code. This problem also occurs in the variable, watch, and breakpoint windows.

    Work Around:

    Choose a font with a height that is larger than the height of the icons. You can change your font via the Edit | Preferences menu.

    3. TclPro Checker 1.3

    3.1. spurious "warnUndefProc" for certain expect commands
    Bug ID 2281
    If you attempt to run procheck over a line containing:
    exp_spawn -trap a SIG_DFL
    
    or
    exp_interact {
         -timestamp
     }
    
    The warning "warnUndefProc" appears in the output This warning is spurious and should be ignored.

    3.2. The checker doesn't catch dereferencing of variables in the proc argument list.
    Bug ID 2231
    No warnings or errors appear if you dereference a variable in the proc argument list. For example, the following code segment does not produce any errors:
    proc foo {$a} {}
    

    3.3. duplicate warnings appear if "args" is not the last argument to "proc"
    Bug ID 2230
    If args is not the last argument to proc, you get the same number of error messages as the number of extra arguments. For example:
    proc foo {args a c d} {}
    
    produces 3 warnings:
    scanning: stdin
     proc foo {args a c d} {}
     checking: stdin
     stdin:1 (argAfterArgs) argument specified after "args"
     proc foo {args a c d} {}
              ^
     stdin:1 (argAfterArgs) argument specified after "args"
     proc foo {args a c d} {}
              ^
     stdin:1 (argAfterArgs) argument specified after "args"
     proc foo {args a c d} {}
              ^
    
    If only 1 argument appeared after args, only one waring would appear.

    3.4. error location indicator (^) points to wrong location
    Bug ID 332
    When checking poorly formed lists or the list command called with a bad number of args, the error location indicator (^) does not point to the correct location in the command. For example:
    Z:/ws/pro/srcs/checker/foo.tcl:3 (numArgs) wrong # args
    tk_getSaveFile -filetypes x
    ^
    
    The caret should point to the argument "x" indicating that the argument to the "-filetypes" flag, "x", should be a list containing more than one argument/element.

    4. TclPro Compiler 1.3

    4.1. The compiler doesn't recognize file names containing non-ASCII characters.
    Bug ID 2131
    If you attempt to compile a file with non-ASCII characters in the file name, procomp will fail with:
    error: compilation of "<filename>" failed: couldn't read file
     "<filename>": no such file or directory
    

    4.2. The -prefix tag option does not extract the prefix from the input file.
    Bug ID 1123
    When using this option with procomp, the information in the input file is not prepended to the output file. The workaround is to edit the output file to add the desired information.

    5. TclPro Wrapper 1.3

    5.1. absolute path of -uses argument is ignored
    Bug ID 2345
    If you call the wrapper with -uses <absolutePath>/bigtclsh it will use the bigtclsh.uses file in the default lib/prowrapuses location.

    Workaround:
    Your own .uses files should not have the same name as any of the files in the lib/prowrapuses directory in your TclPro installation.

    5.2. Tcl "glob" command doesn't find files wrapped in an application
    Bug ID 348
    TclPro Wrapper does not support the "glob" command for retrieving a list of wrapped file name paths. The result of a call to the "glob" command will not include any files from the list of wrapped files.

    Work Around:

    Applications that depend on the "glob" command to produce arbitrary lists of wrapped files will need to be rewritten to produce explicit lists of wrapped files.

    6. [incr Tcl] 3.1

    6.1. Can't load Iwidgets package when the install path contains spaces
    Bug ID 2347
    From the prowish82 shell delivered with TclPro1.3, any of the following will fail:
        %package require Iwidgets
        %package require Iwidgets 2.2.0
        %package require Iwidgets 3.0.0
    
    with the error message:
        wrong # args: should be "source fileName"
    
    or an installation in a directory such as "C:\Program Files\TclPro1.3" that contains spaces.

    Workaround:
    Download the iwpatch13b3.zip file and do the following:

    1. cd to your TclPro installation directory (e.g. c:\Program Files\TclPro1.3b3)
    2. unzip iwpatch13b3.zip
    The zip file contains two files:
    • lib\iwidgets2.2.0\pkgIndex.tcl
    • lib\iwidgets3.0.0\pkgIndex.tcl

    6.2. The Man Page tab in the [incr Widgets] Catalog program does not work
    Bug ID 500
    Selecting the Man Page tab in the [incr Widgets] Catalog program results in a stack trace. Besides the Catalog program, you can find the man pages at the following URL:
    	http://www.tcltk.com/iwidgets
    

    6.3. Incorrect permission on "mkinstalldirs" and "install.sh" files in the source directory for [Iincr Tcl] 3.0.1.
    Bug ID 838
    Note that this applies to Unix only.
    The execution permission is not set for the following files:
    <TclPro>/src/config/mkinstalldirs
    <TclPro>/src/config/instal.sh
    
    Work Around:

    Add the execute permission as follows:

    	% chmod +x mkinstalldirs
    	% chmod +x instal.sh