# ticket

tkt_uuid: 3613759fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 88. Themed Tk
priority: 5 Medium
severity: Important
foundin: current: 8.6.0
resolution: Fixed
title: ttk::entry and symbolic index names
comment:
  tt::entry .e
  .e xviwe end
  ==> expected integer but got "end"

  Doesn't seem right, because
  - the documentation say (or at least suggests), that should work
  - the tk entry works this way
  - other ttk::entry methods _do_ understand the symoblic index names


tkt_uuid: 1958367fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 84. Unix Build
priority: 5 Medium
foundin: obsolete: 8.5.2
resolution: None
title: Tk no longer builds correctly on Tru64
comment:
  I can build and run tk 8.4.19 with no problems on HP Tru64, but 8.5.2 doesn't work.  It looks like Tk adopted the TEA tcl.m4, but didn't incorporate the patch given in Tcl bug 1720242, <https://sourceforge.net/tracker/?func=detail&aid=1720242&group_id=10894&atid=310894>.

  You can easily duplicate this bug by using tclsh with "package require Tk" instead of invoking wish directly.


tkt_uuid: 790529ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 01. Bindings
priority: 5 Medium
foundin: obsolete: 8.3.4
resolution: Out of Date
title: Canvas binding on ButtonRelease destroying canvas crashes
comment:
  The following script:

      proc p {} {
          puts p
          destroy .c
          canvas .c
          grid .c

          .c create rectangle 20 20 40 40 -fill black
  -tags BANG
          .c bind BANG <ButtonRelease> p
      }
      p

  crashes when the black square is clicked.

  Apparently, here is what happens when the binding is
  called:
  - At some point, CanvasDoEvent is called by
  CanvasBindProc, called itself by Tk_HandleEvent; this
  happens at line 4509 in tkCanvas.c
  - CanvasDoEvent eventually interprets the code in proc
  p, which destroys the canvas. This actually destroys
  the canvas at C level: the pointer on it is freed.
  - The next lines of code do mallocs, so the memory
  freed for the canvas pointer gets reused for something else
  - The call from CanvasDoEvent eventually returns and
  CanvasBindProc continues; at this point, the memory
  pointed by canvasPtr is messed up and is not a TkCanvas
  anymore.
  - CanvasBindProc calls PickCurrentItem, which calls
  CanvasFindClosest (tkCanvas.c:4640), which tries to
  browse the items in the canvas via the field
  firstItemPointer, which has been messed up.

  Hence, SEGV or bus error... For some reason, the call
  to PickCurrentItem is explicitely done when the event
  is ButtonRelease. Doing the binding on ButtonPress
  doesn't make the script crash. Another work-around is
  to use the binding:

  .c bind BANG <ButtonRelease> {after idle p}

  The crash always happens on Unices (Linux Mandrake 8.0,
  Solaris 2.6 & 2.7). For some reason, I couldn't get it
  on Windows.


tkt_uuid: 220579ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 10. Generic Menus
priority: 2
foundin: obsolete: 8.2b3
resolution: Fixed
title: Image on menubutton always displayed as if it is disabled
comment:
  OriginalBugID: 2564 Bug
  Version: 8.2b3
  SubmitDate: '1999-08-18'
  LastModified: '1999-11-18'
  Severity: LOW
  Status: Released
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 2084 2171
  OS: Windows 95
  Machine: X86
  FixedDate: '1999-11-18'
  FixedInVersion: 8.2.1


  Name: Schelte Bron



  Comments:

  This problem was not present in version 8.0p2.

      I saw the problem on both the win95 and linux versions of wish 8.2p3. 

      Judging by the source file, also the mac would show the same behaviour.

      I have not been able to test the patch for the mac, but the change is

      similar

      so it should work.



  ReproducibleScript:

  When you run the following script with wish 8.2p3, the image on the

      menubutton

      is displayed stippled:

      

      set menu [image create bitmap -data {

      #define menu_width 8

      #define menu_height 8

      static unsigned char menu_bits[] = {

      0x00, 0x00, 0xfe, 0x7c, 0x38, 0x10, 0x00, 0x00};

      }]

      

      button .b -image $menu -relief raised -width 16 -highlightthickness 0

      

      grid .b -sticky news



  ObservedBehavior:

  The image on the menubutton is displayed with a stippled effect,

      indicating

      the menu is disabled while it is not.



  DesiredBehavior:

  If the menubutton state is normal, I expect to see the image displayed

      unstippled.



  Patch:

  *** unix/tkUnixMenubu.c.origFri Apr 16 03:51:47 1999

  --- unix/tkUnixMenubu.cTue Aug 17 12:11:48 1999

  ***************

  *** 143,150 ****

         * foreground color, generate the stippled effect.

         */

    

  !     if (((mbPtr->state == STATE_DISABLED) 

  !             && (mbPtr->disabledFg == NULL)) || (mbPtr->image != NULL)) {

    XFillRectangle(mbPtr->display, pixmap, mbPtr->disabledGC,

    mbPtr->inset, mbPtr->inset,

    (unsigned) (Tk_Width(tkwin) - 2*mbPtr->inset),

  --- 143,150 ----       * foreground color, generate the stippled effect.

         */

    

  !     if ((mbPtr->state == STATE_DISABLED) 

  !             && ((mbPtr->disabledFg == NULL) || (mbPtr->image != NULL))) {

    XFillRectangle(mbPtr->display, pixmap, mbPtr->disabledGC,

    mbPtr->inset, mbPtr->inset,

    (unsigned) (Tk_Width(tkwin) - 2*mbPtr->inset),

  *** mac/tkMacMenubutton.c.origTue Aug 10 20:14:59 1999

  --- mac/tkMacMenubutton.cTue Aug 17 12:58:27 1999

  ***************

  *** 163,170 ****

         * foreground color, generate the stippled effect.

         */

    

  !     if ((mbPtr->state == STATE_DISABLED && mbPtr->disabledFg != NULL)

  !             || (mbPtr->image != NULL)) {

    XFillRectangle(mbPtr->display, Tk_WindowId(tkwin), 

                    mbPtr->disabledGC, mbPtr->inset, mbPtr->inset,

    (unsigned) (Tk_Width(tkwin) - 2*mbPtr->inset),

  --- 163,170 ----

         * foreground color, generate the stippled effect.

         */

    

  !     if ((mbPtr->state == STATE_DISABLED)

  !     && ((mbPtr->disabledFg != NULL) || (mbPtr->image != NULL))) {

    XFillRectangle(mbPtr->display, Tk_WindowId(tkwin), 

                    mbPtr->disabledGC, mbPtr->inset, mbPtr->inset,

    (unsigned) (Tk_Width(tkwin) - 2*mbPtr->inset),



  PatchFiles:

  unix/tkUnixMenubu.c

      mac/tkMacMenubutton.c





  in 8.2.1 
  -- 11/18/1999 hobbs


tkt_uuid: 220089ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: None
priority: 1 Zero
foundin: None
resolution: Duplicate
title: Print facility for text widget
comment:
  OriginalBugID: 5616 RFE
  Version: 8.3
  SubmitDate: '2000-05-19'
  LastModified: '2000-05-22'
  Severity: LOW
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 1954
  OS: Linux-Red Hat
  OSVersion: 2.2.14
  Machine: AMDK6/2
  ClosedDate: '2000-05-22'


  Name:
  Simon Geard

  Extensions:
  BWidgets

  DesiredBehavior:
  It would be very nice to see a printing facility for the text widget by some means or other.  There is tkprint for windows but that's not really good enough - and doesn't cover Unix. A means of generating a Postscript file as you can do for the canvas widget would be wonderful.


tkt_uuid: 640340ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 45. Aqua Fonts
priority: 5 Medium
foundin: obsolete: 8.4.1
resolution: Out of Date
title: font families broken in aqua Tk 8.4.1
comment:
  the command:
    font families
  crashes on MacOS X. This is with the aqua version of Tk 8.4.1. Errors include a lot of lines similar to:

  Nov  7 15:00:01 rowen /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/ATSServer: FOExceptionMainHandler caught a fatal exception at 0x0000b65c 

  Nov  7 15:00:01 rowen /Applications/Utilities/Wish Shell.app/Contents/MacOS/Wish Shell: kCGErrorFailure : GetGlyphAddresses failed: status = 8

  Nov  7 15:00:02 rowen /Applications/Utilities/Wish Shell.app/Contents/MacOS/Wish Shell: kCGErrorFailure : GetGlyphAddresses failed: status = 5

  and always end with the following:

  *** malloc_zone_malloc[29768]: argument too large: -12910904
  Nov  7 15:00:02 rowen crashdump: Crash report written to: /Users/rowen/Library/Logs/CrashReporter/Wish Shell.crash.log

  The crash is a problem but the GetGlpyshAddresses failed error is also a problem. It is the latter that actually caused me to discover the former.

  I normally program in Python and use it's Tk interface called Tkinter. A Python font selection widget I'd written was giving "GetGlyphAddress failed" errors, though otherwise it worked fine (no crashes). It turns out that the list of fonts returned by Tk includes some that have very weird characters in their names (such as what appears to be Chinese). Python got the list from Tk just fine (with no errors) but when I used this list to create an option menu, that's when Tk started complaining about GetGlyphAddress failed errors. In Python my current workaround is to filter out any font names with non-ascii characters. The widget then runs without errors.


tkt_uuid: 462629ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 07. [entry]
priority: 5 Medium
foundin: obsolete: 8.3.3
resolution: Duplicate
title: event generate ButtonPress-2
comment:
  After generating a ButtonPress-2 event, whenever I move
  within an entry widget there is an error:
  Error: can't read "tkPriv(x)": no such element in array

  The stack trace is:
  can't read "tkPriv(x)": no such element in array
      while executing
  "if {abs(145-$tkPriv(x)) > 2} {
              set tkPriv(mouseMoved) 1
          }"
      invoked from within
  "if {!$tk_strictMotif} {
          if {abs(145-$tkPriv(x)) > 2} {
              set tkPriv(mouseMoved) 1
          }
          .test scan dragto 145
      }
  "
      (command bound to event)

  The following script shows the problem on tcl 8.3.3,
  linux 2.4... Hit the Event button and move the pointer
  within the entry widget and the error will appear.

  proc Event {} {
      # Adding this line causes the 
      event generate . <ButtonPress-2> -x 0 -y 0
  }

  proc SetUp {} {
      button .event -text Event -command Event
      button .exit -text Exit -command exit

      entry .test
      grid .test .event .exit
  }

  SetUp


tkt_uuid: 219940ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 13. Win Menus
priority: 1 Zero
foundin: obsolete: 8.1b1
resolution: Duplicate
title: Check and radio button entries not drawn correctly
comment:
  OriginalBugID: 1464 Bug
  Version: 8.1b1
  SubmitDate: '1999-03-08'
  LastModified: '2000-09-05'
  Severity: SER
  Status: Closed
  Submitter: pat
  ChangedBy: hobbs
  RelatedBugIDs: 4178
  OS: Windows 98
  Machine: X86
  FixedDate: '2000-09-05'


  Name:
  Christopher Nelson

  ReproducibleScript:
      menu .mb
      . configure -menu .mb
      
      menu .mb.options -tearoff 0
      
      .mb.options add checkbutton -label "Check 1" -variable check1
      .mb.options add checkbutton -label "Check 2" -variable check2
      .mb.options add separator
      .mb.options add radiobutton -label "Radio 1" -variable radio -value 0
      .mb.options add radiobutton -label "Radio 2" -variable radio -value 1
      .mb.options add radiobutton -label "Radio 3" -variable radio -value 2
      
      .mb add cascade -label Options -underline 0 -menu .mb.options
      
      



  ObservedBehavior:
      When the menu is posted, the check marks are incomplete.  As the menu is
      traversed, they are drawn the rest of the way.
      



  DesiredBehavior:
      The checkmarks should be complete when the menu is posted.
      




  This seems to be working properly in 8.2. 
  -- 09/16/1999 hobbs

  This only occurs with "Animated Menus" turned on.  See 4178. 
  -- 09/05/2000 hobbs


tkt_uuid: 220707ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 49. [grid]
priority: 2
foundin: obsolete: 8.3
resolution: Fixed
title: UMR: Uninitialized memory read
comment:
  OriginalBugID: 4387 Bug
  Version: 8.3
  SubmitDate: '2000-03-16'
  LastModified: '2000-04-07'
  Severity: LOW
  Status: Released
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Solaris
  OSVersion: Solaris 2.5.1
  Machine: Solaris
  FixedDate: '2000-04-07'
  FixedInVersion: 8.3.1


  Name:

  Douglas Selph


  Extensions:

  tcl8.3.0, tk8.3.0, itcl3.1.0, Blt2.4m, iwidgets3.0.0


  Comments:

  In procedure InitMasterData(masterPtr) the variable startX, and startY

      of struct GridMaster are not being initialized to anything.

      InitMasterData is defined between lines 1922 and 1945 of tkGrid.c.


      Therefore on line 403 of tkGrid.c the UMR is occuring because these

      values are being referenced.


      (The tcl command being exeuted was "grid bbox".)


  ReproducibleScript:

  (Although I didn't spend the time to work out a reproducible example, it's quite obvious from the code what the problem is.)


  ObservedBehavior:

  Uninitialized memory read in:


       UMR: Uninitialized memory read

        This is occurring while in:

              Tk_GridCmd     [tkGrid.c:403]

                         } 


                         sprintf(buf, "%d %d %d %d", x + gridPtr->startX, y +

  gridPtr->startY,

              =>                 width, height);

                         Tcl_SetResult(interp, buf, TCL_VOLATILE);

                     } else if ((c == 'c') && (strncmp(argv[1], "configure",

  length) == 0)) {

                         if (argv[2][0] != '.') {

              TclInvokeStringCommand [tclLoadDl.c]

              TclExecuteByteCode [tclLoadDl.c]

              Tcl_EvalObjEx  [tclLoadDl.c]

              Itcl_EvalMemberCode [libitcl31.so]

  ...




  These did indeed seem to be uninitialized (and other elements
  were doubly initialized...).  Fixed for 8.3.1. 
  -- 04/07/2000 hobbs


tkt_uuid: 220170ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 26. Conversions from String
priority: 1 Zero
foundin: obsolete: 8.1b3
resolution: Invalid
title: Docs missing for Tk_NameOfCapStyle API
comment:
  OriginalBugID: 1877 Bug
  Version: 8.1b3
  SubmitDate: '1999-04-16'
  LastModified: '1999-04-28'
  Severity: MED
  Status: Closed
  Submitter: surles
  ChangedBy: kenj
  OS: All
  OSVersion: NA
  Machine: NA
  FixedInVersion: NA
  ClosedDate: '1999-04-28'




  04/28/1999 14:22 - kenj - Already documented in GetCapStyl.3. What were you smoking, Bryan?


tkt_uuid: 220500ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 69. Events
priority: 2
foundin: final: 8.0.5
resolution: Fixed
title: bug in GetKeySym in tkBind.C
comment:
  OriginalBugID: 1850 Bug
  Version: 8.0.5
  SubmitDate: '1999-04-16'
  LastModified: '2000-01-12'
  Severity: SER
  Status: Released
  Submitter: pat
  ChangedBy: hobbs
  OS: Solaris
  OSVersion: 2.6
  Machine: Other
  FixedDate: '2000-01-12'
  FixedInVersion: 8.2b3


  Name:

  Robert Sangkyu Lee


  Comments:

  I look like GetKeySym function in tkBind.c use's Tk's own method for 

      determining the KeySym.  There are other places in tkBind.C that uses 

      XLookupString to get the character from X.  However, GetKeySym should

      have

      been using XLookupString as well.


  ReproducibleScript:

  In Solaris 2.6 and Linux 5.2, run the following code:


      #!/usr/local/bin/wish -f


      label .lab1 -text "Name:"

      entry .ent1

      bind .ent1 <KeyPress> "puts \" {W=%W #=%# A=%A  x=%x y=%y b=%b s=%s

      K=%K} \""

      grid .lab1 -row 1 -column 0 -sticky e

      grid .ent1 -row 1 -column 1 -sticky ew


  ObservedBehavior:

  When I press number 4 with numlock turned on, Tk reports number 4 is

      pressed, but it also reports that KeySym is "Left".   See the output

      below.


      {W=.ent1 #=134 A=4  x=118 y=33 b=112 s=0 K=Left}


  DesiredBehavior:

  When I press number 4 with numlock turned on, Tk reports number 4 is

      pressed and reports that KeySym is "KP_4".   See the output below which

      ran correctly with Exceed 6 on NT.


      {W=.ent1 #=134 A=4  x=118 y=33 b=112 s=32 K=KP_4}


  Patch:

  $ diff -c tkBind.c tkBind.c.rslee

  *** tkBind.c    Fri Oct  9 20:30:36 1998

  --- tkBind.c.rslee      Thu Apr 15 09:31:25 1999

  ***************

  *** 4229,4234 ****

  --- 4229,4242 ----

        XEvent *eventPtr;         /* Description of X event. */

    {

        KeySym sym;

  + 

  + #ifndef TK_USE_INPUT_METHODS

  +     char numStorage[NUM_SIZE+1];

  +     XComposeStatus status_in_out;

  + 

  +     XLookupString(&eventPtr->xkey, numStorage, NUM_SIZE, &sym, &status_in_out);

  +     return sym;

  + #else /* TK_USE_INPUT_METHODS */ 

        int index;


        /*

  ***************

  *** 4284,4289 ****

  --- 4292,4298 ----

                      index & ~1);

        }

        return sym;

  + #endif /* TK_USE_INPUT_METHODS */ 

    }


    /*


  PatchFiles:

  tkBind.C




  With 8.2b3 there appears to be no problem in recognizing the
  keysym.  tkBind has been reworked, so this problem possibly
  went away. 
  -- 08/13/1999 hobbs


tkt_uuid: 3540127fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 36. [tk_chooseDirectory]
priority: 5 Medium
foundin: obsolete: 8.5.11
resolution: Fixed
title: filebox.test fails on win32
comment:
  The reason is that saveOptionStrings and openOptionStrings
  (tkWinDialog.c lines 605 and 611) are not alphabetical.
  ==================================================

  filebox.test


  ==== filebox-1.1-1 tk_getOpenFile command FAILED
  ==== Contents of test case:

          tk_getOpenFile -foo

  ---- Result was:
  bad option "-foo": must be -defaultextension, -filetypes, -initialdir, -initialfile, -parent, -title, -typevariable, or -multiple
  ---- Result should have been (exact matching):
  bad option "-foo": must be -defaultextension, -filetypes, -initialdir, -initialfile, -multiple, -parent, -title, or -typevariable
  ==== filebox-1.1-1 FAILED



  ==== filebox-1.3-1 tk_getOpenFile command FAILED
  ==== Contents of test case:

          tk_getOpenFile -foo bar

  ---- Result was:
  bad option "-foo": must be -defaultextension, -filetypes, -initialdir, -initialfile, -parent, -title, -typevariable, or -multiple
  ---- Result should have been (exact matching):
  bad option "-foo": must be -defaultextension, -filetypes, -initialdir, -initialfile, -multiple, -parent, -title, or -typevariable
  ==== filebox-1.3-1 FAILED



  ==== filebox-4.1-1 tk_getSaveFile command FAILED
  ==== Contents of test case:

          tk_getSaveFile -foo

  ---- Result was:
  bad option "-foo": must be -defaultextension, -filetypes, -initialdir, -initialfile, -parent, -title, -typevariable, or -confirmoverwri                                          te
  ---- Result should have been (exact matching):
  bad option "-foo": must be -confirmoverwrite, -defaultextension, -filetypes, -initialdir, -initialfile, -parent, -title, or -typevariab                                          le
  ==== filebox-4.1-1 FAILED



  ==== filebox-4.3-1 tk_getSaveFile command FAILED
  ==== Contents of test case:

          tk_getSaveFile -foo bar

  ---- Result was:
  bad option "-foo": must be -defaultextension, -filetypes, -initialdir, -initialfile, -parent, -title, -typevariable, or -confirmoverwri                                          te
  ---- Result should have been (exact matching):
  bad option "-foo": must be -confirmoverwrite, -defaultextension, -filetypes, -initialdir, -initialfile, -parent, -title, or -typevariab                                          le
  ==== filebox-4.3-1 FAILED


tkt_uuid: 220011ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 08. [(label)frame] and [toplevel]
priority: 1 Zero
foundin: obsolete: 8.2b2
resolution: Duplicate
title: garbage pixels left in very narrow frames
comment:
  OriginalBugID: 2519 Bug
  Version: 8.2b2
  SubmitDate: '1999-08-10'
  LastModified: '1999-11-12'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 3596
  OS: Windows NT
  OSVersion: 4.0sp5
  Machine: X86
  ClosedDate: '1999-11-12'


  Name:
  vince darley

  ReproducibleScript:
  Source the following script into Tk (any version 8.x should show the
      bug, at least on Windows)
      
      frame .in
      set in .in
      
      proc prettify str {
          set a [string toupper [string index $str 0]]
          regsub -all { *([A-Z])} [string range $str 1 end] { \1} b
          append a $b
      }
      
      foreach {label vars} {
          Customers {deathProbability selfMotivatedChoiceProb}
          Sellers {sellerOptimism atLeastAdvise}
      } {
          set frame "${in}.[string tolower $label]"
          frame $frame -relief flat -bd 3
          grid $frame -sticky ew -columnspan 2
          grid columnconfigure $frame 0 -weight 1
          label $frame.l$label -text $label -font bold -anchor w
          entry $frame.e$label -textvariable [string tolower $label]
          grid $frame.l$label $frame.e$label -sticky ew
          eval lappend allLabels $vars
          lappend allLabels [string tolower $label]
          foreach label $vars {
      label $frame.l$label -text [prettify $label] -anchor e
      entry $frame.e$label -textvariable $label
      grid $frame.l$label $frame.e$label -sticky ew
          }
          frame $frame.blah -width 200 -height 3 -relief groove -bd 3
          grid $frame.blah -columnspan 2 
      }
      foreach label Iterations {
          label ${in}.l$label -text $label -anchor w
          entry ${in}.e$label -textvariable [string tolower $label]
          grid ${in}.l$label ${in}.e$label -sticky ew
      }
      frame ${in}.c
      grid ${in}.c -columnspan 2 
      pack .in
      update

  ObservedBehavior:
  Now, notice how the 'wish' window contains two long but narrow
      separators: thin grooves separating different parts of the contents.
      The bug is that garbage pixels are left behind in the middle of those
      grooves.  To show the bug, grab any other window (e.g. the Tk console)
      and wave it around over the 'wish' window.  Notice how in the middle of
      those grooves, individual pixels are left behind when the window moves
      away (they should presumably be redrawn by Tk). 
      
      I assume somewhere in Tk, there's an 'off by 1' bug causing Tk to make
      the decision not to redraw the middle of the groove (which is only of
      width 3 pixels).

  DesiredBehavior:
  The groove should not accumulate random pixels from whatever used to be
      on top of it.



  Bug verified with 8.2.0.  It appears that the frame may not be
  properly doing redraws, or catching the redraw request. 
  -- 08/20/1999 hobbs


tkt_uuid: 220482ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 2
foundin: obsolete: 8.1b2
resolution: Invalid
title: focus.test hangs tktest with threads enabled
comment:
  OriginalBugID: 1700 Bug
  Version: 8.1b2
  SubmitDate: '1999-04-01'
  LastModified: '1999-04-09'
  Severity: SER
  Status: Released
  Submitter: lfb
  ChangedBy: redman
  OS: Solaris
  OSVersion: 2.6
  Machine: NA
  FixedDate: '1999-04-09'
  FixedInVersion: 8.1


  [from Larry's post]
  Platform: SPARC Solaris 2.6, Sun C compiler.

  I built Tcl with threads .  Then I built Tk with threads.  I do a make test
  and the tests run up to the focus.tcl test and then things stop and never
  start back up.

  Anyone else seeing this?

  04/09/1999 16:32 - redman - Fixed the problem in tcl/unix/tclUnixNotfy.c, need to release the notifierMutex before calling write() to feed data to the thread to wake it up (the pipe blocks on write, and since the mutex is already locked the thread won't wake up).


tkt_uuid: 220939ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 58. [send]
priority: 7 High
foundin: obsolete: 8.3.1
resolution: Wont Fix
title: Tk 8.3.1 send transmits data in wrong encoding to older Tk i
comment:
  OriginalBugID: 6031 Bug
  Version: 8.3.1
  SubmitDate: '2000-07-20'
  LastModified: 
  Severity: SER
  Status: UnAssn
  Submitter: techsupp
  OS: Solaris
  OSVersion: 2.6
  Machine: ultra sparc 5


  Name:
  Larry W. Virden

  CVS:
  July 19, 2000 13:00 EDT

  Extensions:
  not applicable

  CustomShell:
  I've built the netcvs versions of the code and installed them

  ReproducibleScript:
  I reported this last year with 8.2 and the problem was reported fixed.  I would give you a bug number - but I have never had a success in searching the bug database.  I wish I could just get at the plain text data...

  anyways, here is the scripts - unshar these in their own directory.

  #!/bin/sh
  # This is a shell archive (produced by GNU sharutils 4.2.1).
  # To extract the files from this archive, save it to some FILE, remove
  # everything before the `!/bin/sh' line above, then type `sh FILE'.
  #
  # Made on 2000-07-20 13:33 EDT by <lwv26@lwv26awu>.
  # Source directory was `/tmp/t'.
  #
  # Existing files will *not* be overwritten unless `-c' is specified.
  #
  # This shar contains:
  # length mode       name
  # ------ ---------- ------------------------------------------
  #    932 -rwxr-xr-x fakemde76
  #    927 -rwxr-xr-x fakemde83
  #   3224 -rwxr-xr-x tclmdebug76
  #   3216 -rwxr-xr-x tclmdebug83
  #
  save_IFS="${IFS}"
  IFS="${IFS}:"
  gettext_dir=FAILED
  locale_dir=FAILED
  first_param="$1"
  for dir in $PATH
  do
    if test "$gettext_dir" = FAILED && test -f $dir/gettext  && ($dir/gettext --version >/dev/null 2>&1)
    then
      set `$dir/gettext --version 2>&1`
      if test "$3" = GNU
      then
        gettext_dir=$dir
      fi
    fi
    if test "$locale_dir" = FAILED && test -f $dir/shar  && ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
    then
      locale_dir=`$dir/shar --print-text-domain-dir`
    fi
  done
  IFS="$save_IFS"
  if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
  then
    echo=echo
  else
    TEXTDOMAINDIR=$locale_dir
    export TEXTDOMAINDIR
    TEXTDOMAIN=sharutils
    export TEXTDOMAIN
    echo="$gettext_dir/gettext -s"
  fi
  if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 2001123123
  59.59 -a -f $$.touch; then
    shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'
  elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 12312359200
  1.59 -a ! -f 123123592001.5 -a -f $$.touch; then
    shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'
  elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f
   $$.touch; then
    shar_touch='touch -am $3$4$5$6$2 "$8"'
  else
    shar_touch=:
    echo
    $echo 'WARNING: not restoring timestamps.  Consider getting and'
    $echo "installing GNU \`touch', distributed in GNU File Utilities..."
    echo
  fi
  rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch
  #
  if mkdir _sh10746; then
    $echo 'x -' 'creating lock directory'
  else
    $echo 'failed to create lock directory'
    exit 1
  fi
  # ============= fakemde76 ==============
  if test -f 'fakemde76' && test "$first_param" != -c; then
    $echo 'x -' SKIPPING 'fakemde76' '(file already exists)'
  else
    $echo 'x -' extracting 'fakemde76' '(text)'
    sed 's/^X//' << 'SHAR_EOF' > 'fakemde76' &&
  #! /usr/tcl76/sun4/bin/wish
  X
  ### under this font, octal character \222 is a subscript 2
  X
  label .l -text "Fake MDE 76"
  pack .l
  X
  label .l1 -text "no encoding"
  pack .l1
  button .b1 -font key12b -command exit
  pack .b1
  button .b2 -font key12b -command exit
  pack .b2
  button .b3 -font key12b -command exit
  pack .b3
  X
  label .l2 -text "pre-encoding"
  pack .l2
  button .b4 -font key12b -command exit
  pack .b4
  button .b5 -font key12b -command exit
  pack .b5
  button .b6 -font key12b -command exit
  pack .b6
  X
  label .l3 -text "post-encoding"
  pack .l3
  button .b7 -font key12b -command exit
  pack .b7
  button .b8 -font key12b -command exit
  pack .b8
  button .b9 -font key12b -command exit
  pack .b9
  X
  proc ClearButtons {} {
  X   .b1 configure -text ""
  X   .b2 configure -text ""
  X   .b3 configure -text ""
  X   .b4 configure -text ""
  X   .b5 configure -text ""
  X   .b6 configure -text ""
  X   .b7 configure -text ""
  X   .b8 configure -text ""
  X   .b9 configure -text ""
  }
  SHAR_EOF
    (set 20 00 07 20 12 21 39 'fakemde76'; eval "$shar_touch") &&
    chmod 0755 'fakemde76' ||
    $echo 'restore of' 'fakemde76' 'failed'
    if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
      md5sum -c << SHAR_EOF >/dev/null 2>&1  || $echo 'fakemde76:' 'MD5 check failed'
  7cd0f9c9095cf82b868f0ce554863955  fakemde76
  SHAR_EOF
    else
      shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'fakemde76'`"
      test 932 -eq "$shar_count" ||
      $echo 'fakemde76:' 'original size' '932,' 'current size' "$shar_count!"
    fi
  fi
  # ============= fakemde83 ==============
  if test -f 'fakemde83' && test "$first_param" != -c; then
    $echo 'x -' SKIPPING 'fakemde83' '(file already exists)'
  else
    $echo 'x -' extracting 'fakemde83' '(text)'
    sed 's/^X//' << 'SHAR_EOF' > 'fakemde83' &&
  #! /usr/tcl83/bin/wish
  X
  ### under this font, octal character \222 is a subscript 2
  X
  label .l -text "Fake MDE 83"
  pack .l
  X
  label .l1 -text "no encoding"
  pack .l1
  button .b1 -font key12b -command exit
  pack .b1
  button .b2 -font key12b -command exit
  pack .b2
  button .b3 -font key12b -command exit
  pack .b3
  X
  label .l2 -text "pre-encoding"
  pack .l2
  button .b4 -font key12b -command exit
  pack .b4
  button .b5 -font key12b -command exit
  pack .b5
  button .b6 -font key12b -command exit
  pack .b6
  X
  label .l3 -text "post-encoding"
  pack .l3
  button .b7 -font key12b -command exit
  pack .b7
  button .b8 -font key12b -command exit
  pack .b8
  button .b9 -font key12b -command exit
  pack .b9
  X
  proc ClearButtons {} {
  X   .b1 configure -text ""
  X   .b2 configure -text ""
  X   .b3 configure -text ""
  X   .b4 configure -text ""
  X   .b5 configure -text ""
  X   .b6 configure -text ""
  X   .b7 configure -text ""
  X   .b8 configure -text ""
  X   .b9 configure -text ""
  }
  SHAR_EOF
    (set 20 00 07 20 12 21 45 'fakemde83'; eval "$shar_touch") &&
    chmod 0755 'fakemde83' ||
    $echo 'restore of' 'fakemde83' 'failed'
    if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
      md5sum -c << SHAR_EOF >/dev/null 2>&1  || $echo 'fakemde83:' 'MD5 check failed'
  579b2780731bab6114f182a97722fa2e  fakemde83
  SHAR_EOF
    else
      shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'fakemde83'`"
      test 927 -eq "$shar_count" ||
      $echo 'fakemde83:' 'original size' '927,' 'current size' "$shar_count!"
    fi
  fi
  # ============= tclmdebug76 ==============
  if test -f 'tclmdebug76' && test "$first_param" != -c; then
    $echo 'x -' SKIPPING 'tclmdebug76' '(file already exists)'
  else
    $echo 'x -' extracting 'tclmdebug76' '(text)'
    sed 's/^X//' << 'SHAR_EOF' > 'tclmdebug76' &&
  #! /usr/tcl76/sun4/bin/wish
  X
  ### illustrating special character problems (subscripts as octals)
  X
  label .l -text "Tcl Version: [info tclversion]"
  pack .l
  button .b1 -text "Start/Clear Fake MDEs" -command StartFakeMde
  button .b2 -text "Send Test Command" -command SendTestCommands
  pack .b1
  pack .b2
  X
  proc StartFakeMde {} {
  X
  X   if { [catch {send fakemde76 {set dummyvar "Hi"}} error]} {
  X      exec ./fakemde76 &
  X      exec ./fakemde83 &
  X   } else {
  X      send fakemde76 {ClearButtons}
  X      send fakemde83 {ClearButtons}
  X   }
  }
  X
  proc SendTestCommands {} {
  X
  X   ### first, after double-quoting within Tk app
  X
  X   set cmd ".b1 configure -text C\222H\222"
  X   send fakemde76 $cmd
  X   send fakemde83 $cmd
  X
  X   ### second, after command substitution
  X
  X   send fakemde76 [list .b2 configure -text C\222H\222]
  X   send fakemde83 [list .b2 configure -text C\222H\222]
  X
  X   ### third, without evaluation in sending Tk
  X
  X   send fakemde76 {.b3 configure -text C\222H\222}
  X   send fakemde83 {.b3 configure -text C\222H\222}
  X
  X   ### now with encoding command in sending app...
  X
  X   set systemo iso8859-1
  X
  X   ### first, after double-quoting within Tk app
  X
  X   if { [catch {send fakemde76 [encoding convertto $systemo ".b4 configure -tex
  t C\222H\222"]} error] } {send fakemde76 ".b4 configure -text Error"}
  X   if {[catch {send fakemde83 [encoding convertto $systemo ".b4 configure -text
   C\222H\222"]} error]} {send fakemde83 ".b4 configure -text Error"}
  X
  X   ### second, after command substitution
  X
  X   if {[catch {send fakemde76 [encoding convertto $systemo [list .b5 configure 
  -text C\222H\222]]} error]} {send fakemde76 [list .b5 configure -text Error]}
  X   if {[catch {send fakemde83 [encoding convertto $systemo [list .b5 configure 
  -text C\222H\222]]} error]} {send fakemde83 [list .b5 configure -text Error]}
  X
  X   ### third, without evaluation in sending Tk
  X
  X   if {[catch {send fakemde76 [encoding convertto $systemo {.b6 configure -text
   C\222H\222}]} error]} {send fakemde76 {.b6 configure -text Error}}
  X   if {[catch {send fakemde83 [encoding convertto $systemo {.b6 configure -text
   C\222H\222}]} error]} {send fakemde83 {.b6 configure -text Error}}
  X
  X   ### now with encoding command in receiving app
  X
  X   set encodestring {
  X      proc Encode {string button} {
  X        set buttontext [encoding convertto iso8859-1 $string]
  X        $button configure -text $buttontext
  X      }
  X   }
  X
  X   send fakemde76 $encodestring
  X   send fakemde83 $encodestring
  X
  X   ### first, after double-quoting within Tk app
  X
  X   if {[catch {send fakemde76 "Encode C\222H\222 .b7"} error]} {send fakemde76 
  ".b7 configure -text Error"}
  X   if {[catch {send fakemde83 "Encode C\222H\222 .b7"} error]} {send fakemde83 
  ".b7 configure -text Error"}
  X
  X   ### second, after command substitution
  X
  X   if {[catch {send fakemde76 [list Encode C\222H\222 .b8]} error]} {send fakem
  de76 [list .b8 configure -text Error]}
  X   if {[catch {send fakemde83 [list Encode C\222H\222 .b8]} error]} {send fakem
  de83 [list .b8 configure -text Error]}
  X
  X   ### third, without evaluation in sending Tk
  X
  X   if {[catch {send fakemde76 {Encode C\222H\222 .b9}} error]} {send fakemde76 
  {.b9 configure -text Error}}
  X   if {[catch {send fakemde83 {Encode C\222H\222 .b9}} error]} {send fakemde83 
  {.b9 configure -text Error}}
  X
  }
  SHAR_EOF
    (set 20 00 07 20 12 24 02 'tclmdebug76'; eval "$shar_touch") &&
    chmod 0755 'tclmdebug76' ||
    $echo 'restore of' 'tclmdebug76' 'failed'
    if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
      md5sum -c << SHAR_EOF >/dev/null 2>&1  || $echo 'tclmdebug76:' 'MD5 check failed'
  01f440ea359d5e50deefc0c95609de9a  tclmdebug76
  SHAR_EOF
    else
      shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'tclmdebug76'`"
      test 3224 -eq "$shar_count" ||
      $echo 'tclmdebug76:' 'original size' '3224,' 'current size' "$shar_count!"
    fi
  fi
  # ============= tclmdebug83 ==============
  if test -f 'tclmdebug83' && test "$first_param" != -c; then
    $echo 'x -' SKIPPING 'tclmdebug83' '(file already exists)'
  else
    $echo 'x -' extracting 'tclmdebug83' '(text)'
    sed 's/^X//' << 'SHAR_EOF' > 'tclmdebug83' &&
  #! /usr/tcl83/bin/wish
  X
  ### illustrating special character problems (subscripts as octals)
  X
  label .l -text "Tcl Version: [info tclversion]"
  pack .l
  button .b1 -text "Start/Clear Fake MDEs" -command StartFakeMde
  button .b2 -text "Send Test Command" -command SendTestCommands
  pack .b1
  pack .b2
  X
  proc StartFakeMde {} {
  X
  X   if {[catch {send fakemde76 {set dummyvar "Hi"}} error]} {
  X      exec ./fakemde76 &
  X      exec ./fakemde83 &
  X   } else {
  X      send fakemde76 {ClearButtons}
  X      send fakemde83 {ClearButtons}
  X   }
  }
  X
  proc SendTestCommands {} {
  X
  X   ### first, after double-quoting within Tk app
  X
  X   set cmd ".b1 configure -text C\222H\222"
  X   send fakemde76 $cmd
  X   send fakemde83 $cmd
  X
  X   ### second, after command substitution
  X
  X   send fakemde76 [list .b2 configure -text C\222H\222]
  X   send fakemde83 [list .b2 configure -text C\222H\222]
  X
  X   ### third, without evaluation in sending Tk
  X
  X   send fakemde76 {.b3 configure -text C\222H\222}
  X   send fakemde83 {.b3 configure -text C\222H\222}
  X
  X   ### now with encoding command in sending app...
  X
  X   set systemo iso8859-1
  X
  X   ### first, after double-quoting within Tk app
  X
  X   if {[catch {send fakemde76 [encoding convertto $systemo ".b4 configure -text
   C\222H\222"]} error]} {send fakemde76 ".b4 configure -text Error"}
  X   if {[catch {send fakemde83 [encoding convertto $systemo ".b4 configure -text
   C\222H\222"]} error]} {send fakemde83 ".b4 configure -text Error"}
  X
  X   ### second, after command substitution
  X
  X   if {[catch {send fakemde76 [encoding convertto $systemo [list .b5 configure 
  -text C\222H\222]]} error]} {send fakemde76 [list .b5 configure -text Error]}
  X   if {[catch {send fakemde83 [encoding convertto $systemo [list .b5 configure 
  -text C\222H\222]]} error]} {send fakemde83 [list .b5 configure -text Error]}
  X
  X   ### third, without evaluation in sending Tk
  X
  X   if {[catch {send fakemde76 [encoding convertto $systemo {.b6 configure -text
   C\222H\222}]} error]} {send fakemde76 {.b6 configure -text Error}}
  X   if {[catch {send fakemde83 [encoding convertto $systemo {.b6 configure -text
   C\222H\222}]} error]} {send fakemde83 {.b6 configure -text Error}}
  X
  X   ### now with encoding command in receiving app
  X
  X   set encodestring {
  X      proc Encode {string button} {
  X        set buttontext [encoding convertto iso8859-1 $string]
  X        $button configure -text $buttontext
  X      }
  X   }
  X
  X   send fakemde76 $encodestring
  X   send fakemde83 $encodestring
  X
  X   ### first, after double-quoting within Tk app
  X
  X   if {[catch {send fakemde76 "Encode C\222H\222 .b7"} error]} {send fakemde76 
  ".b7 configure -text Error"}
  X   if {[catch {send fakemde83 "Encode C\222H\222 .b7"} error]} {send fakemde83 
  ".b7 configure -text Error"}
  X
  X   ### second, after command substitution
  X
  X   if {[catch {send fakemde76 [list Encode C\222H\222 .b8]} error]} {send fakem
  de76 [list .b8 configure -text Error]}
  X   if {[catch {send fakemde83 [list Encode C\222H\222 .b8]} error]} {send fakem
  de83 [list .b8 configure -text Error]}
  X
  X   ### third, without evaluation in sending Tk
  X
  X   if {[catch {send fakemde76 {Encode C\222H\222 .b9}} error]} {send fakemde76 
  {.b9 configure -text Error}}
  X   if {[catch {send fakemde83 {Encode C\222H\222 .b9}} error]} {send fakemde83 
  {.b9 configure -text Error}}
  X
  }
  SHAR_EOF
    (set 20 00 07 20 12 24 35 'tclmdebug83'; eval "$shar_touch") &&
    chmod 0755 'tclmdebug83' ||
    $echo 'restore of' 'tclmdebug83' 'failed'
    if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
      md5sum -c << SHAR_EOF >/dev/null 2>&1  || $echo 'tclmdebug83:' 'MD5 check failed'
  a0fc486dd7dc078debe8a98a2caccae2  tclmdebug83
  SHAR_EOF
    else
      shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'tclmdebug83'`"
      test 3216 -eq "$shar_count" ||
      $echo 'tclmdebug83:' 'original size' '3216,' 'current size' "$shar_count!"
    fi
  fi
  rm -fr _sh10746
  exit 0

  ObservedBehavior:
  I don't know if the above scripts will survive the cut and paste...

  However, if they do, mark them all as executable and change the first line to point to a wish from the tcl 7.6 environment and 8.3 environment.  Run the tclmdebug83 and
  press the "Start/Clear Fake MDEs" button.  This starts up the fakemde76 and fakemde83 windows.  Then, press the Send Test Command.  This sends data to each
  of these interpreters.  The data to the 8.3 interpreter gets there as expected,
  resulting in standard and superscript characters being displayed.  However, the data sent to the tcl 7.6 based interpreter do not work correctly.  An extra character is being sent, causing the resulting display to be incorrect.

  DesiredBehavior:
  I would like to see the data being sent properly to either interpreter.


tkt_uuid: 2902081fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 50. [pack]
priority: 5 Medium
foundin: obsolete: 8.5.7
resolution: None
title: pack propagate not working correctly
comment:
  Using Tcl/Tk 8.5.7, I have troubles making pack propagate work correctly. It does not seem to work back and forth. I have to set the width / height property on a packed widget after calling pack propagate xxx to have the pack propagate command effective. I will attach some code demonstrating this. In this code, if you remove the width property setting command, then it no longer works.


tkt_uuid: 220748ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 42. Photo Image|GIF
priority: 2
foundin: obsolete: 8.3.1
resolution: Fixed
title: Photo image write command breaks for some GIFs
comment:
  OriginalBugID: 5823 Bug
  Version: 8.3.1
  SubmitDate: '2000-06-06'
  LastModified: '2000-07-05'
  Severity: SER
  Status: Released
  Submitter: techsupp
  ChangedBy: ericm
  OS: All
  FixedDate: '2000-07-05'
  FixedInVersion: 8.4a2


  Name:
  John Nakulski

  Comments:
  Note that the GIF file writes OK, but the PPM file does NOT.
      This leads me to believe that the Tk photo image write command contains
      a bug in its GIF file format handler.
      (I had noticed that the old pbmplus Unix public domain utilities shared
      a similar bug... is this where you obtained your source code?)

      By the way, why are the GIF files that are written so big? Are they
      compressed adequately (especially for small palettes)?

  ReproducibleScript:
  # crop_gif.tcl
  # Go to the following url and download input.gif before running this script:
  #  http://www.geocities.com/clek74/input.gif
  #  ( or follow the link from http://www.geocities.com/clek74/tkbug.html )
  image create photo mapImage -file input.gif
  mapImage write output.gif -from 1 1 97 54 -format gif
  mapImage write output.ppm -from 1 1 97 54 -format ppm
  image delete mapImage

  ObservedBehavior:
  The GIF file that is written is corrupted. It only partially loads into Explorer (and other GIF viewers that I have tried, including Tk itself).
  The PPM file that is written is OK.

  DesiredBehavior:
  The GIF file that is written should not be corrupted. It should completely load into Explorer and other GIF viewers.



  There does seem to be a problem writing this image.
  The resultant file sizes are:

  -rw-r--r--     1052 Jun 06 15:49 input.gif
  -rw-r--r--      403 Jun 06 15:50 output.gif
  -rw-r--r--    15277 Jun 06 15:50 output.ppm

  Also, GIF writing in Tk uses a patent-free algorithm instead of LZW,
  so the compression is rather lame (but patent-free!). 
  -- 06/06/2000 hobbs

  I applied a patch from Jan Nijtmans to correct this problem, and added a regression test to the test suite to check for it.  The fix will go out with 8.4a2 for sure, and should be in 8.3.2 as well.

  Thanks!

     Eric Melski                            The Other Tcl Guy
     ericm at ajubasolutions.com            Ajuba Solutions

  -- 07/05/2000 ericm


tkt_uuid: 1534455fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 01. Bindings
priority: 5 Medium
foundin: obsolete: 8.5a4
resolution: None
title: The Released key is different than the Pressed
comment:
  I've only tested with 8.5a4 but if I execute the next code:

  (Bin) 2 % bind . <KeyPress> {puts "Pressed %K"}
  (Bin) 3 % bind . <KeyRelease> {puts "Released %K"}

  I see

  Pressed Shift_L
  Released Shift_L
  Pressed Shift_R
  Released Shift_L
  Pressed Control_L
  Released Control_L
  Pressed Control_R
  Released Control_L

  AFAIK only happens with the Shift and Control keys, but
  it's quite annoying.

  Cheers


tkt_uuid: 1961455fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 46. Unix Fonts
priority: 9 Immediate
foundin: obsolete: 8.5.2
resolution: Fixed
title: Font underlining seems broken on X11
comment:
  The following should see the label's font underlined during mouse-over.

  ===========
  catch {font create url}
  catch {font create urlmo}
  font configure url   -family Arial -size 12 -underline 0
  font configure urlmo -family Arial -size 12 -underline 1

  grid [ttk::label .l -text "Should be underlined on mouse-over." -font url -foreground darkgreen]

  bind .l <Enter> ".l configure -cursor hand2 -font urlmo -foreground darkblue" 
  bind .l <Leave> ".l configure -cursor arrow -font url -foreground darkgreen" 
  bind .l <Button-1> ".l configure -font urlmo -foreground red ; # someProc"
  ===========

  The font's colour changes on X11 (so the rest of the configure works).

  Underline tested OK on Windows and Mac OS X.


tkt_uuid: 415788ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 07. [entry]
priority: 5 Medium
foundin: obsolete: 8.4a2
resolution: Works For Me
title: change to bold brks hilighting
comment:
  Changing the existing font in an entry widget to bold (which changed character widths) will cause 
  the widget to behave incorrectly for highlighting words. Similar defect applies to entry widget.
  This defect was reported around july 2000 but somehow seems to have gotten lost.

  Tested against 8.4a2

  # 21Jul00RT - if a bold font is specified to the
  # existing font then cursor position is calculated wrong!

  package require Tk
  entry .e -width 40

  # Add bold attribute to existing font
  # e.g: .e config -font {{MS Sans Serif} 8 bold}
  .e configure -font [concat [.e cget -font] bold]

  .e insert end "                    word"

  pack .e

  # now put cursor at start of word1 and drag to select
  # Widget will begin to select spaces


tkt_uuid: 521356ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 84. Unix Build
priority: 9 Immediate
foundin: None
resolution: Accepted
title: package index for loadable Tk
comment:
  This patch to the unix Makefile.in causes the
  'make install-binaries' target to create and
  install a suitable pkgIndex.tcl file so that
  Tk is installed as a loadable Tcl package
  "out of the box".


tkt_uuid: 452040ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 49. [grid]
priority: 5 Medium
foundin: None
resolution: Fixed
title: grid mishandles adjacent 'x' and '^'
comment:
  the grid command handles ^ wrong when preceeded by an x

  Example that demos problem:

  foreach l {a b c d e f} {
     label .$l -text $l -relief raised -bd 2
  }

  # example 1
  # should stretch 'b', 
  #   but actually stretches 'a'
  # NOTE: that .e is still in correct position
  grid .a .b .c .d -sticky news
  grid  x  ^  x .e -sticky news

  # cleanup
  grid forget .a .b .c .d .e

  # example 2
  # should stretch 'a' & 'c', 
  #   but actually stretches 'a' & 'b'
  # NOTE: that .e is still in correct position
  grid .a .b .c .d -sticky news
  grid  ^  x  ^ .e -sticky news

  # cleanup
  grid forget .a .b .c .d .e

  # example 3 (this is correct if actual widgets used)
  grid .a .b .c .d -sticky news
  grid  ^ .e  ^ .f -sticky news


  I glanced at the code, but saw nothing obvious (it
  was too complicated for me to follow at first look)
  but I did notice a fix for bug #1386 which corrected
  the handling of consecutive '^' so it might be in same
  area as that fix. I'll keep looking & see if I can 
  offer a fix, but you probably can find it quicker if
  you are familiar with the code.

  Bruce Hartweg


tkt_uuid: 2413642fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 88. Themed Tk
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: ttk::notebook has no -textvariable option
comment:
  ttk::notebook has no -textvariable option. This is really a bug. All other widgets containing text have this option, and without this option multi-language support cannot be provided (I think multi-language support is the most common use of option -textvariable).


tkt_uuid: 1843539fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 66. Aqua Window Operations
priority: 3 Low
foundin: obsolete: 8.4.18
resolution: None
title: enter bindings after activation fire only after first move
comment:
  Greetings,

  in Tk8.4.16/Aqua "Enter" bindings of a window fire only after the
  first move of the mouse after the window was activated.
  To reproduce, run the following script:
  -snip-
  toplevel .t1
  toplevel .t2
  bind .t1 <Enter> "puts Enter-T1;update"
  bind .t2 <Enter> "puts Enter-T2;update"
  -snap-

  Activate the first toplevel by clicking right into it (not onto the title bar),
  but do not move the mouse.
  Nohing happens, but I expected the enter binding to fire immediately.
  Move the mouse. The binding fires.

  best regards,
  Randolf


tkt_uuid: 2009213fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 88. Themed Tk
priority: 5 Medium
foundin: None
resolution: Fixed
title: Segfault after setting bad -sliderrelief and packing scale
comment:
  Hi, I just noticed a segfault after setting the sliderrelief option of TScale's layout to some invalid value and then packing a ttk::scale. 

  Sample:

  ttk::style configure TScale -sliderrelief {}
  ttk::scale .s
  pack .s


tkt_uuid: 220248ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 75. wish
priority: 1 Zero
foundin: obsolete: 8.2
resolution: Invalid
title: wish interp doesnt save window positions/size
comment:
  OriginalBugID: 3361 Bug
  Version: 8.2
  SubmitDate: '1999-11-05'
  LastModified: '1999-11-12'
  Severity: LOW
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Windows 95
  ClosedDate: '1999-11-12'


  Name:
  John Russell

  ReproducibleScript:
  most windows 9x programs save the current windows positions
      and sizes for next run.  Wish82 doesnt do this for some
      reason.  on opening one must move the output window to
      work on the console --- would like to be able to size/posn
      and set for future use .... if not an automatic thing
      then could this be added to menu as a save window config
      or some such ...



  This can be done by modifying the ~/wishrc.tcl (Win) or
  ~/.wishrc (Unix) to set this up. 
  -- 11/12/1999 hobbs


tkt_uuid: 3046750fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 33. Generic Dialog Support
priority: 5 Medium
foundin: obsolete: 8.6b1.1
resolution: Fixed
title: No handler for "X" close button in [bgerror]
comment:
  At least on MS-Windows, the "X" close button in the Tk [bgerror] dialog has no effect.  I expect it to work the same as Skip Messages.


tkt_uuid: 1631287fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 86. Test Tools
priority: 5 Medium
foundin: obsolete: 8.4.14
resolution: Duplicate
title: tk 8.4.14 - nmake test error - winDialog.test failed
comment:
  I've got exactly the same problem as described in
    [ 1567927 ] tk 8.4.13 "make test" fails in MinGW/MSys

  I have compiled tk 8.4.14 with Visual C++ 2005 - Express Edition.
  When I run "nmake -f makefile.vc test", the tests halt while executing "winDialog.test". A window and a file chooser remain opened. Even if I close these windows, nothing happens. I must press Ctrl-C tio stop the tests.

  Marie


tkt_uuid: 606665ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 66. Aqua Window Operations
priority: 7 High
foundin: obsolete: 8.4.0
resolution: Fixed
title: [wm attributes] missing docs for Mac!
comment:
  The paragraph about the [wm attributes] command on the
  Mac ends rather abruptly (middle of a sentence!)  Has
  something got lost here?


tkt_uuid: 1072488fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 66. Aqua Window Operations
priority: 4
foundin: None
resolution: Out of Date
title: TkAqua: no default binding for Command-Q
comment:
  Although the Apple menu shows Quit with the Command-Q
  hotkey, it's not actually bound by default so Command-Q
  does nothing.  The key sequence works if bound,
  however.  I suggest adding either of the following to
  an aqua-specific block of tk.tcl:

  bind all <Command-q> { exit }

  ..or...

  bind all <Command-q> { destroy . }

  The latter would probably better, to allow wm protocol
  WM_DELETE_WINDOW (if any) to do its thing, but that
  doesn't appear to function on aqua either.


tkt_uuid: 1442102fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 9 Immediate
foundin: obsolete: 8.4.12
resolution: Fixed
title: Elided text causes wish to crash
comment:
  The following simple script produces a segmentation fault:

      text .t
      pack .t
      .t tag configure hide -elide yes
      .t tag add hide 1.0 end

  The crash occurs regardless whether the text widget is
  empty or not, if all its content is elided.

  The bug is present in Tk 8.3 and 8.4.  I haven't tried
  it with 8.5.


tkt_uuid: 2064914fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 88. Themed Tk
priority: 5 Medium
foundin: obsolete: 8.5.4
resolution: None
title: Ttk::menubutton -width overrides its real width
comment:
  Consider the following example:

  pack [text .t]
  pack [ttk::menubutton .mb -text somestring -width 1] -fill x

  The menubutton is created with "-width 1", but afterwards it becomes bigger because it is packed with -fill x.
  The result is that the menubutton's width is indeed increased, but instead of "somestring" it only displays "so".

  A ttk::button will display the full string in the same situation, as will a non-ttk menubutton. I think a ttk::menubutton should behave like these.


tkt_uuid: 928413ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 21. [panedwindow]
priority: 9 Immediate
foundin: obsolete: 8.4.6
resolution: Fixed
title: Panedwindow crash due to stale pointer
comment:
  The panedwindow can hold onto a stale tkwin pointer
  after the window has been destroyed.  The following
  script will illustrate the problem:

  panedwindow .pw
  pack .pw -fill both -expand 1
  label .pw.l1 -text Label1
  label .pw.l2 -text Label2
  label .pw.l3 -text Label3
  .pw add .pw.l1
  .pw add .pw.l3
  .pw add .pw.l2 -before .pw.l3
  puts stdout [.pw paneconfigure .pw.l2 -before]
  destroy .pw.l3
  button .thisisnotwhatitshouldbe -text "This Is Not what
  it should be!"
  pack .thisisnotwhatitshouldbe 
  puts stdout [.pw paneconfigure .pw.l2 -before]
  destroy .thisisnotwhatitshouldbe
  puts stdout [.pw paneconfigure .pw.l2 -before]


  As you can see, the wrong widget path is reported for
  the -before option.  In a more complex interaction,
  this stale reference can lead to a crash.

  The attached patch will fix the problem.
  -Brian


tkt_uuid: 1001070fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 03. [*button] and [label]
priority: 4
foundin: obsolete: 8.4.6
resolution: None
title: Mac label doesn\'t display -highlightbackground
comment:
  This may be related to the following Scriptics bug:
  http://groups.google.com/groups?th=5ce791bec63b3058

  Labels don't seem to properly draw the highlight border, at least on 
  TclTkAquaBI and Classic MacTcl.  A short transcript is shown below.  
  I have also played around with -takefocus and all other color-
  related configuration options.  I don't have a PC handy, and I don't 
  have X11 Tk installed on my Mac right now, so I don't know how 
  they work.

  () 1 % label .foo -text foo -width 40 -height 5 -relief solid
  .foo
  () 2 % grid .foo -sticky nsew -padx 3 -pady 4
  () 3 % .foo config -bd 4 -highlightthickness 4
  () 4 % .foo config -bg yellow
  () 5 % .foo config -bg white
  () 6 % .foo config -fg yellow
  () 7 % .foo config -fg black
  () 8 % .foo config -highlightbackground yellow
  () 9 % info patchlevel
  8.4.6
  () 10 % parray tcl_platform
  tcl_platform(byteOrder) = bigEndian
  tcl_platform(machine)   = Power Macintosh
  tcl_platform(os)        = Darwin
  tcl_platform(osVersion) = 7.4.0
  tcl_platform(platform)  = unix
  tcl_platform(threaded)  = 1
  tcl_platform(user)      = john
  tcl_platform(wordSize)  = 4


tkt_uuid: 220252ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 1 Zero
foundin: obsolete: 8.2.1
resolution: Invalid
title: Jerky behavior, broken scrollbars, hangs
comment:
  OriginalBugID: 3405 Bug
  Version: 8.2.1
  SubmitDate: '1999-11-05'
  LastModified: '1999-11-17'
  Severity: SER
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Linux
  OSVersion: 2.2.13
  ClosedDate: '1999-11-17'


  Name:
  David Ronis

  ReproducibleScript:
  I've tried building the latest CVS or Stan Shebs'  game xconq--it builds
      fine and runs, sort of. 
      when I go into survey-mode it hangs.  
      
      I've also noticed jerky or wrong behavior in some other tcl/tk apps
      (e.g., tkman or make xconfig for the linux kernel-2.2.13 [here the
      scrollbars don't behave properly].



  Was Tk possibly built with threads enabled, or running on a
  threads enabled Tcl?  These are symptoms of that, and Tk
  currently can't run with threads. 
  -- 11/16/1999 hobbs
  Built with threads was the case.  This is not a valid setup. 
  -- 11/17/1999 hobbs


tkt_uuid: 475332ffffffffffffffffffffffffffffffffff
type: Patch
status: Open
subsystem: 25. Built-in Bitmaps
priority: 5 Medium
foundin: None
resolution: None
title: Provide new bitmaps, introspection
comment:
  I'm submitting a TIP to provide more bitmaps and a means to list built-in bitmaps.
  This patch contains the reference implementation.


tkt_uuid: 1863346fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 5 Medium
foundin: obsolete: 8.4.16
resolution: Fixed
title: Aqua: SetPortPenPixPat leak
comment:
  This report is copied from a posting by Kevan Hashemi to the Tcl-Mac mailing list.

  The following script causes a 1 MByte/min leak in 8.4.16 on MacOS 
  10.4.10 Intel or PPC, but no leak in 8.4.14 or lower. The code deletes 
  the last line in a text widget and writes it over again.

  destroy .text
  set T [text .text -undo 0]
  pack $T
  proc display {} {
       global T
       $T delete "end -1 lines" end
       set s [clock format [clock seconds] -format {%c}]
       $T insert end $s
       after 10 display
  }
  display


tkt_uuid: 3371384fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 88. Themed Tk
priority: 5 Medium
foundin: obsolete: 8.5.10
resolution: Fixed
title: Crash with Ttk on Win7-64bit
comment:
  Hello,

  I have just installed the latest 8.5.10 -Win64bit- Tcl distribution from Active State on a new Win7-64bit PC and I am experimenting crashes with the GUI (Tk/Ttk) of an application running without pb on WinXP.

  Narrowing the source of the crash on Win7 seems to point to Ttk being involved.

  I attach a small script wich reproduce the crash on my machine : execute it, then click on the button -> crash (I need to wait 2-3 seconds to see the crash icon in the Win7 task bar...)

  Thanks

  Jean-Marie


tkt_uuid: 1836621fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 05. Canvas Items
priority: 8
foundin: obsolete: 8.5b3
resolution: Fixed
title: Documentation missing on -outlineoffset option
comment:
  The item option '-outlineoffset' for the oval and rectangle items on the canvas is not documented in the manual page. It could be something like this:

  -outlineoffset _bitmap_
     Specifies the offset of the outline stipple
     pattern. The offset value  can  be  of  the
     form x,y or side,  where  side can be n, ne,
     e, se, s, sw, w, nw, or center. This option
     only  has an  effect,  when the  outline is
     drawn as a stipple pattern.  Works only for
     the X11 environment.


tkt_uuid: 1467004fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 66. Aqua Window Operations
priority: 8
foundin: None
resolution: Fixed
title: osx window resize thumb
comment:
  By default, on osx, tk displays a resize thumb for a toplevel window. This 
  is usually what you want. 

  the request:

  [wm resizeable 0 0] should make the thumb go away
    and conversely
  [wm resizeable !0 !0] should make the thumb return


tkt_uuid: 220503ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 2
foundin: obsolete: 8.1b3
resolution: Fixed
title: Docs missing for Tk_GetHINSTANCE API
comment:
  OriginalBugID: 1862 Bug
  Version: 8.1b3
  SubmitDate: '1999-04-16'
  LastModified: '2000-04-24'
  Severity: MED
  Status: Released
  Submitter: surles
  ChangedBy: ericm
  OS: All
  OSVersion: NA
  Machine: NA
  FixedDate: '2000-04-24'
  FixedInVersion: 8.3.1


  .

  I added a man page entry for this API for 8.3.1.

  - eric
   
  -- 04/24/2000 ericm


tkt_uuid: 1545765fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 49. [grid]
priority: 5 Medium
foundin: obsolete: 8.5a4
resolution: Fixed
title: Grid anchor center problem in labelframes
comment:
  In the following code:
   
   set extFrame [labelframe .extFrame -text Greet \
           -bd 2 -relief groove -bg red] 
   
   set button1 [checkbutton $extFrame.b1        \
           -text Hello -variable hello] 
   set button2 [checkbutton $extFrame.b2        \
           -text goodbye -variable goodbye] 
   
   grid anchor $extFrame c 
   
   grid $extFrame -padx 10 -pady 10 -ipadx 5 
   grid $button1 -sticky w 
   grid $button2 -sticky w 
   
   I was expecting the checkbuttons to be centered both 
   horizontally and vertically, yet they stick to the 
   upper side of the labelframe.


tkt_uuid: 589804ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 85. Win Build
priority: 5 Medium
foundin: None
resolution: Out of Date
title: Borland support for Tk8.4b1
comment:
  Hello,
  just noticed that Tk8.4b1 didn't build with Borland. I
  add a diff file and a makefile.bc ('cause there ain't
  any yet).
  Items:
  1) The combination of STRINGIFY / JOIN is not
  understood by Borland's resource compiler. I changed it
  back to how it was done up to 8.4a4.
  2) tkWinX.c defines a constant for the MingW compiler.
  However, this clashes with Borland. Added a test for
  Borland.

  Best regards
  Helmut Giese

  PS: Just found out that you can only attach one file,
  so I combined the two files mentioned above.


tkt_uuid: 841280ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 17. [spinbox]
priority: 5 Medium
foundin: None
resolution: None
title: spinbox -from and -to defaults/behaviour
comment:
  Not sure if this qualifies as a bug ...

  I want to configure the allowed range for a spinbox from 
  10 to 20:

     % info tclversion
     8.4
     (bin) 2 % spinbox .s
     .s
     (bin) 3 % .s configure -from 10
     -to value must be greater than -from value

  As the defaults for Tk's spinbox -from and -to are both 
  zero, it follows that I'm forced to first change the -to 
  value followed by the -from one, or change both at 
  once. My impression is that the defaults should be from 
  MININT to MAXINT or some such. Notice that the 
  defaults for Tk's scale -from and -to are 0.0 and 100.0, 
  respectively.

  Other solution suggested in comp.lang.tcl was the 
  following: rather than bailing out, autoadjust 
  the "other" end to be equal to the one currently set. 
  (except if both are set in one go)


tkt_uuid: 1119112fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 65. Generic Window Operations
priority: 5 Medium
foundin: obsolete: 8.5a3
resolution: Fixed
title: wm 1.5, 2.4 test failures
comment:
  Tcl/Tk: v8.5 head at 09/02/05
  OS: WinXPsp2
  Built with makefile.vc using VC7.1

  wm.test

  ==== wm-deiconify-1.5 usage FAILED
  ==== Contents of test case:

      catch {destroy .embed}
      frame .t.f -container 1
      toplevel .embed -use [winfo id .t.f]
      set result [list [catch {wm deiconify .embed} 
  msg] $msg]
      destroy .t.f .embed
      set result

  ---- Result was:
  1 {can't deiconify .embed: the container does not 
  support the request}
  ---- Result should have been (exact matching):
  1 {can't deiconify .embed: it is an embedded window}
  ==== wm-deiconify-1.5 FAILED


  ==== wm-iconify-2.4 Misc errors FAILED
  ==== Contents of test case:

      catch {destroy .t2}
      frame .t.f -container 1
      toplevel .t2 -use [winfo id .t.f]
      set result [list [catch {wm iconify .t2} msg] 
  $msg]
      destroy .t2 .r.f
      set result

  ---- Result was:
  1 {can't iconify .t2: the container does not support 
  the request}
  ---- Result should have been (exact matching):
  1 {can't iconify .t2: it is an embedded window}
  ==== wm-iconify-2.4 FAILED


tkt_uuid: 2433781fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 03. [*button] and [label]
priority: 5 Medium
foundin: obsolete: 8.5.5
resolution: Works For Me
title: button not centering image
comment:
  Try the following code:

  image create photo img -data { R0lGODdhCgAKAIABAMEsLP///ywAAAAACgAKAAACCISPqcvtD2MrADs= }
  button .b -borderwidth 1 -image img -relief solid
  pack .b

  As you can see, the image will not be centered. This makes it impossible to use button as a toolbar button.

  One possible solution: allow 2 values for -ipadx and -ipady; like -padx and -pady.


tkt_uuid: 220020ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 38. [tk_messageBox]
priority: 1 Zero
foundin: obsolete: 8.1
resolution: Duplicate
title: icon appears in 'tk_messageBox' even if not specifed
comment:
  OriginalBugID: 2690 Bug
  Version: 8.1
  SubmitDate: '1999-09-02'
  LastModified: '1999-10-22'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 2219
  OS: Windows NT
  OSVersion: V4 SP4
  Machine: X86
  ClosedDate: '1999-10-22'


  Name: mike bradshaw

  ReproducibleScript:
  using the 1 line script under wish8.1 on Win NT4 SP4, when executed it
      produces a dialog as expected, but with the information icon present,
      when according to the online help ther should be no icon. This also
      occurs with a one line script launched using a double click in explorer.
       tk_messageBox -message test

  DesiredBehavior:
  the message box to appear with no icon


tkt_uuid: 220717ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 2
foundin: obsolete: 8.3
resolution: Fixed
title:
  Import Schema dialog doesn't automatically update the file name if you change the selection by using alpha characters instead of arrows

comment:
  OriginalBugID: 4710 Bug
  Version: 8.3
  SubmitDate: '2000-03-29'
  LastModified: '2000-03-29'
  Severity: MED
  Status: Released
  Submitter: jenn
  ChangedBy: hobbs
  OS: All Unix
  FixedDate: '2000-03-29'
  FixedInVersion: 8.3.1


  If you type in the Schema Selection dialog, the highlighted selection moves according to what you type.  However, the file name in the File entry doesn't change.  It does change if you use the arrow keys to change your selection.

  To reproduce:
  1) Open Author
  2) add an XMLGenerator action and edit it
     --> the schema import window should pop up
  3) In the schema import window, go to installdir/samples/RosettaNet
  4) In the schema import window, click in the box containing all the file names.  
  5) Type a "p"
     --> Note that the file entry doesn't change, but the highlighted selection does change

  I found this on linux.



  I think this might be a duplicate?  Sven, you're call 2.0 or 2.0b4.

  -- 03/29/2000 redman

  We are just using the standard Tk dialog. This is a problem in tk_getOpenFile, so I would assign this to Jeff. 
  -- 03/29/2000 sven

  This was specifically set as the behavior for the Unix dialog
  at some time, but I've flipped the bit so the browsecmd will
  get called (and the entry gets set). 
  -- 03/29/2000 hobbs


tkt_uuid: 220285ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 65. Generic Window Operations
priority: 1 Zero
foundin: obsolete: 8.3
resolution: Invalid
title: Tab key does not trigger "bind all <Key>" scripts
comment:
  OriginalBugID: 4347 Bug
  Version: 8.3
  SubmitDate: '2000-03-08'
  LastModified: '2000-03-10'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: ericm
  OS: Linux-Red Hat
  OSVersion: Red Hat 6.1
  Machine: AMD K6 233 MHz
  ClosedDate: '2000-03-10'


  Name:
  Jeremy Henty

  Extensions:
  N/A

  CustomShell:
  None

  ReproducibleScript:
  Run wish from the command line.  Type "bind all <Key> { bell; } at the prompt.
  Move the focus to the wish window and start pressing keys, including Tab.

  ObservedBehavior:
  All keys *except* Tab cause the Tk bell to ring when typed into the wish window.
  NB: using "bind ." instead of "bind all" does not suffer from this problem.

  DesiredBehavior:
  The Tab key should ring the bell, just as the other keys do.



  From the "bind" manual entry:

         If  more  than  one binding matches a particular event and
         they have the same tag, then the most specific binding  is
         chosen  and  its script is evaluated.  The following tests
         are applied, in  order,  to  determine  which  of  several
         matching  sequences is more specific: (a) an event pattern
         that specifies a specific button or key is  more  specific
         than  one that doesn't; (b) a longer sequence (in terms of
         number of events matched) is more specific than a  shorter
         sequence;  (c)  if  the modifiers specified in one pattern
         are a subset of the modifiers in another pattern, then the
         pattern  with more modifiers is more specific.  (d) a vir-
         tual event whose physical pattern matches the sequence  is
         less  specific  than the same physical pattern that is not
         associated with a virtual event.   (e)  given  a  sequence
         that  matches  two  or  more  virtual  events,  one of the
         virtual events will be chosen, but the order is undefined.

  By default, Tk has the following binding set up:

  bind all <Tab> {tkTabToWindow [tk_focusNext %W]}

  This makes tab work for keyboard focus traversals.  When combined with a
  binding like

  bind all <Key> {bell;}

  the combination of the two falls under case (a) above:  the more specific
  binding <Tab> is evaluated and the <Key> binding is ignored.

  - eric

   
  -- 03/10/2000 ericm


tkt_uuid: 220137ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 84. Unix Build
priority: 1 Zero
foundin: obsolete: 8.0.4
resolution: Invalid
title: fatal error during make
comment:
  OriginalBugID: 1436 Bug
  Version: 8.0.4
  SubmitDate: '1999-03-04'
  LastModified: '1999-09-16'
  Severity: CRIT
  Status: Closed
  Submitter: pat
  ChangedBy: hobbs
  OS: Other
  OSVersion: SCO Unixware 7.0
  Machine: NA
  ClosedDate: '1999-09-16'


  Name:
  Jack Wenger

  Extensions:
  ?

  CustomShell:
  none

  ReproducibleScript:
  make

  ObservedBehavior:
  # make
          cc -c -O    -I. -I./../generic  -I./../bitmaps -I/home/jack/download/tcl8.0.4/generic -I -lX11   -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1       ./tkUnixDraw.c
  UX:acomp: ERROR: "./tkUnixDraw.c", line 93: first operand must have scalar type: op "?:"
  *** Error code 1 (bu21)
  UX:make: ERROR: fatal error.

  DesiredBehavior:
  a finished compile



  I'm trying to install TK on an SCO Unixware 7.0 box. TCL compiled and installed fine. I've had to edit a number of .h files to even get to this point. The best part is I'm not a programmer, simply a Unix Admin.
  --
  These look to be compiler problems.  The areas that it is complaining
  about are valid C code. 
  -- 09/16/1999 hobbs


tkt_uuid: 708375ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 02. Appearance
priority: 5 Medium
foundin: None
resolution: Works For Me
title: windows2000 background colors
comment:
  I install tcl/tk8.4 in windows2000 and the colors for
  background buttons, menus and windows are white! I try
  all the samples. The same tcl/tk8.4 works fine in
  windows98.
  What can I do?

  thanks
  Marcelo Modolo


tkt_uuid: 219950ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 99. Other
priority: 1 Zero
foundin: obsolete: 8.1b2
resolution: Duplicate
title: Many Tk interfaces claim to work on chars, but really work on bytes
comment:
  OriginalBugID: 1646 Bug
  Version: 8.1b2
  SubmitDate: '1999-03-26'
  LastModified: '1999-05-20'
  Severity: CRIT
  Status: Closed
  Submitter: stanton
  ChangedBy: hershey
  RelatedBugIDs: 749  747
  OS: All
  OSVersion: NA
  Machine: NA
  FixedInVersion: NA
  ClosedDate: '1999-05-20'


  Interfaces like Tk_CharBbox used to take a character index.  This index is now a byte offest, but the code that calls it hasn't been updated.

  A complete review of all character oriented Tk interfaces is needed.


tkt_uuid: 862335ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: None
priority: 1 Zero
foundin: None
resolution: None
title: XForms - The Next Generation of Web Forms
comment:
  Would you like to render XForms-GUIs for more accessibility and comfort?
  - http://www.w3.org/MarkUp/Forms/
  - http://www.w3.org/WAI/
  - http://www.w3.org/TR/css3-ui/
  - http://www.xml.com/pub/a/2003/09/10/xforms.html


tkt_uuid: 2098425fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 10. Generic Menus
priority: 5 Medium
foundin: obsolete: 8.6a3
resolution: Fixed
title: typo in menu.n
comment:
  In menu.n, the "Pulldown Menus in Menubar" section starts with the sentence:

  This is the most command case.

  It should be:

  This is the most common case.


tkt_uuid: 523593ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 69. Events
priority: 2
foundin: None
resolution: Fixed
title: bind(n) manpage needs more detail
comment:
  On comp.lang.tcl, Donal Fellows wrote:
  --
  The [bind] manpage really assumes a deep knowledge of
  X, and there are many of
  its mysteries that I am still a long way from
  penetrating (all the Focus related
  stuff is particularly gnostic...)  Documentation
  improvements (particularly ones
  that state when an event might be generated by the
  system) would be gladly
  accepted...
  --

  In particular, bind(n) states:

       Most of the above events have the same fields 
  and  behaviors 
       as  events  in the X Windowing system.  You can
  find
       more detailed descriptions of these events in any
  X window
       programming  book.

  This section should be replaced with an actual detailed
  description,
  for the benefit of those who don't want to buy a book
  on X :-)


tkt_uuid: 618872ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 47. Win Fonts
priority: 8
foundin: obsolete: 8.4.6
resolution: Fixed
title: segfault due to re-used memory
comment:
  In doing the perl/Tk port I have discovered a bug.
  When a font has a lot of subfonts and then adds even
  more for it you can get 
  segfaults due to accessing re-used memory.


  In Tk_MeasureChars:

       lastSubFontPtr = &fontPtr->subFontArray[0];
  //  i.e. take address of 0'th element of subfont array


      for (p = source; p < end; ) {
      next = p + Tcl_UtfToUniChar(p, &ch);
      thisSubFontPtr = FindSubFontForChar(fontPtr, ch);
      if (thisSubFontPtr != lastSubFontPtr) {
  familyPtr = lastSubFontPtr->familyPtr;       //  use the
  pointer
  Tcl_UtfToExternalDString(familyPtr->encoding, source,
  p - source, &runString);
    
  But in CanUseFallback that array can be reallocated :

      if (fontPtr->numSubFonts >= SUBFONT_SPACE) {
  SubFont *newPtr;

  newPtr = (SubFont *) ckalloc(sizeof(SubFont) *
  (fontPtr->numSubFonts + 1));
  memcpy((char *) newPtr, fontPtr->subFontArray,
  fontPtr->numSubFonts * sizeof(SubFont));
  if (fontPtr->subFontArray != fontPtr->staticSubFonts) {
      ckfree((char *) fontPtr->subFontArray);
  }
  fontPtr->subFontArray = newPtr;
      }


tkt_uuid: 220034ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 1 Zero
foundin: obsolete: 8.2.1
resolution: Duplicate
title: Windows static libraries
comment:
  OriginalBugID: 3358 Bug
  Version: 8.2.1
  SubmitDate: '1999-11-05'
  LastModified: '2000-01-25'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 3647
  OS: Windows 95
  ClosedDate: '2000-01-25'


  Name:

  Jan Nijtmans



  ReproducibleScript:

  When compiling Tk8.2.1 as static library on Windows, a few problems show

      up.

      

      - The function TkWinXInit() needs to be called upon initialization. Of

      course it

        is possible to add this call to tclAppInit.c, but it would be more

      consistant

        (read: platform-independant) if the library took care of that (as Tcl

      does).

      - The function DllMain() is included in the static library, which is a

      problem

        when trying to link the library in another dll. Taking it out is not

        possible, because TkWinGetPlatformId() is in the same file.

        Solution: move TkWinGetPlatformID() to tkWinX.c, which would

        be a more logical place anyway. Then tkWin32Dll.c can be

        left out of the static library.

      - gcc 2.95 uses the DllMain function, not DllEntryPoint (as VC++).

        Why not combine  the DllMain and DllEntryPoint functions to a

        single one? For Borland, a macro suffices to handle the name

      difference.



  Patch:

  *** generic/tkWindow.c.origWed Apr 21 23:53:28 1999

  --- generic/tkWindow.cSat Sep 25 19:39:12 1999

  ***************

  *** 21,26 ****

  --- 21,29 ----

    #if !defined(__WIN32__) && !defined(MAC_TCL)

    #include "tkUnixInt.h"

    #endif

  + #if defined(__WIN32__)

  + #include "tkWinInt.h"

  + #endif

    

    

    typedef struct ThreadSpecificData {

  ***************

  *** 2709,2714 ****

  --- 2712,2727 ----

        Tcl_DString class;

        ThreadSpecificData *tsdPtr;

        

  + #if defined(__WIN32__) && defined(STATIC_BUILD) && !defined(NO_STATIC_INIT)

  +     /*

  +      * If we are in a statically linked executable, then we need to

  +      * explicitly initialize the Windows function tables here since

  +      * DllMain() will not be invoked.

  +      */

  + 

  +     TkWinXInit(GetModuleHandle(NULL));

  + #endif

  + 

        /*

         * Ensure that we are getting the matching version of Tcl.  This is

         * really only an issue when Tk is loaded dynamically.

  *** win/tkWin32Dll.c.origFri Apr 16 03:51:48 1999

  --- win/tkWin32Dll.cSat Sep 25 19:33:35 1999

  ***************

  *** 13,26 ****

    

    #include "tkWinInt.h"

    

  ! static int tkPlatformId;

    

  - /*

  -  * The following declaration is for the VC++ DLL entry point.

  -  */

  - 

  - BOOL APIENTRYDllMain _ANSI_ARGS_((HINSTANCE hInst,

  -     DWORD reason, LPVOID reserved));

    

    /*

     *----------------------------------------------------------------------

  --- 13,22 ----

    

    #include "tkWinInt.h"

    

  ! #if defined(_MSC_VER) || defined(__GNUC__)

  ! #define DllEntryPoint DllMain

  ! #endif

    

    

    /*

     *----------------------------------------------------------------------

  ***************

  *** 32,63 ****

     *routine.

     *

     * Results:

  !  *See DllMain.

  !  *

  !  * Side effects:

  !  *See DllMain.

  !  *

  !  *----------------------------------------------------------------------

  !  */

  ! 

  ! BOOL APIENTRY

  ! DllEntryPoint(hInst, reason, reserved)

  !     HINSTANCE hInst;/* Library instance handle. */

  !     DWORD reason;/* Reason this function is being called. */

  !     LPVOID reserved;/* Not used. */

  ! {

  !     return DllMain(hInst, reason, reserved);

  ! }

  ! 

  ! /*

  !  *----------------------------------------------------------------------

  !  *

  !  * DllMain --

  !  *

  !  *DLL entry point.

  !  *

  !  * Results:

  !  *TRUE on sucess, FALSE on failure.

     *

     * Side effects:

     *None.

  --- 28,34 ----

     *routine.

     *

     * Results:

  !  *TRUE on success, FALSE otherwise.

     *

     * Side effects:

     *None.

  ***************

  *** 66,77 ****

     */

    

    BOOL APIENTRY

  ! DllMain(hInstance, reason, reserved)

  !     HINSTANCE hInstance;

  !     DWORD reason;

  !     LPVOID reserved;

    {

  -     OSVERSIONINFO os;

    

        /*

         * If we are attaching to the DLL from a new process, tell Tk about

  --- 37,47 ----

     */

    

    BOOL APIENTRY

  ! DllEntryPoint (

  !     HINSTANCE hInstance,/* Library instance handle. */

  !     DWORD reason,/* Reason this function is being called. */

  !     LPVOID reserved)/* Not used. */

    {

    

        /*

         * If we are attaching to the DLL from a new process, tell Tk about

  ***************

  *** 80,119 ****

         */

        

        if (reason == DLL_PROCESS_ATTACH) {

  - os.dwOSVersionInfoSize = sizeof(os);

  - GetVersionEx(&os);

  - tkPlatformId = os.dwPlatformId;

  - 

            TkWinXInit(hInstance);

        } else if (reason == DLL_PROCESS_DETACH) {

            TkWinXCleanup(hInstance);

        }

        return(TRUE);

    }

  - 

  - /*

  -  *----------------------------------------------------------------------

  -  *

  -  * TkWinGetPlatformId --

  -  *

  -  *Determines whether running under NT, 95, or Win32s, to allow 

  -  *runtime conditional code.

  -  *

  -  * Results:

  -  *The return value is one of:

  -  *    VER_PLATFORM_WIN32sWin32s on Windows 3.1. 

  -  *    VER_PLATFORM_WIN32_WINDOWSWin32 on Windows 95.

  -  *    VER_PLATFORM_WIN32_NTWin32 on Windows NT

  -  *

  -  * Side effects:

  -  *None.

  -  *

  -  *----------------------------------------------------------------------

  -  */

  - 

  - int

  - TkWinGetPlatformId()

  - {

  -     return tkPlatformId;

  - }

  - 

  --- 50,58 ----

  *** win/tkWinX.c.origFri Jul  9 04:10:07 1999

  --- win/tkWinX.cSat Sep 25 19:33:35 1999

  ***************

  *** 26,31 ****

  --- 26,32 ----

     */

    

    int tkpIsWin32s = -1;

  + static int tkPlatformId;

    

    /*

     * Declarations of static variables used in this file.

  ***************

  *** 142,148 ****

    

        info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

        GetVersionEx(&info);

  !     tkpIsWin32s = (info.dwPlatformId == VER_PLATFORM_WIN32s);

    

        if (childClassInitialized != 0) {

    return;

  --- 143,150 ----

    

        info.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

        GetVersionEx(&info);

  !     tkPlatformId = info.dwPlatformId;

  !     tkpIsWin32s = (tkPlatformId == VER_PLATFORM_WIN32s);

    

        if (childClassInitialized != 0) {

    return;

  ***************

  *** 1132,1132 ****

  --- 1134,1161 ----

    }

  + 

  + /*

  +  *----------------------------------------------------------------------

  +  *

  +  * TkWinGetPlatformId --

  +  *

  +  *Determines whether running under NT, 95, or Win32s, to allow 

  +  *runtime conditional code.

  +  *

  +  * Results:

  +  *The return value is one of:

  +  *    VER_PLATFORM_WIN32sWin32s on Windows 3.1. 

  +  *    VER_PLATFORM_WIN32_WINDOWSWin32 on Windows 95.

  +  *    VER_PLATFORM_WIN32_NTWin32 on Windows NT

  +  *

  +  * Side effects:

  +  *None.

  +  *

  +  *----------------------------------------------------------------------

  +  */

  + 

  + int

  + TkWinGetPlatformId()

  + {

  +     return tkPlatformId;

  + }

  +



  PatchFiles:

  tkWindow.c tkWin32Dll.c tkWinX.c


tkt_uuid: 1602537fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 9 Immediate
foundin: obsolete: 8.5a6
resolution: Fixed
title: panic on [$text replace end-1l end]
comment:
  % package require Tk
  % pack [text .t]
  % .t insert 0.0 text_with_newline\n
  % .t replace end-1l end kaboom

  [replace end-1l end] causes "TkBTreeLinesTo couldn't find line; Aborted" whenever the text widget contains more than one line.


tkt_uuid: 220457ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 2
foundin: obsolete: 8.1b2
resolution: Fixed
title: compiler errors with MSVC vers. 6 / tkWinWm.c
comment:
  OriginalBugID: 1519 Bug
  Version: 8.1b2
  SubmitDate: '1999-03-18'
  LastModified: '1999-04-05'
  Severity: CRIT
  Status: Released
  Submitter: pat
  ChangedBy: stanton
  OS: Windows NT
  Machine: X86
  FixedDate: '2019-06-01'
  FixedInVersion: 8.1b3


  Name:
  Petteri Kettunen

  Extensions:
  N/A

  CustomShell:
  N/A

  ReproducibleScript:
      1) Download sources from Scriptics FTP.
      2) unzip tk81b2.zip
      3) cd win
      4) copy makefile.vc makefile & edit paths.
      5) nmake
      



  ObservedBehavior:
              "c:\visualstudio\vc98\bin\cl.exe" -DDLL_BUILD -DBUILD_tk -Z7 -Od
      -WX -c
      -W3 -nologo -Fp.\Debug\ -YX -D_X86_=1 -DWIN32 -D_WIN32 -MDd
      -I"c:\visualstudio\v
      c98\include"  -I..\win -I..\generic -I..\bitmaps -I..\xlib
      -I..\..\tcl\generic
      -DTCL_MEM_DEBUG -DUSE_TCL_STUBS -Fo.\Debug\ ..\win\tkWinWm.c
      tkWinWm.c
      ..\win\tkWinWm.c(1148) : warning C4700: local variable 'winPtr' used
      without hav
      ing been initialized
      ..\win\tkWinWm.c(1148) : error C2220: warning treated as error - no
      object file
      generated
      NMAKE : fatal error U1077: '"c:\visualstudio\vc98\bin\cl.exe"' : return
      code '0x
      2'
      Stop.
      
      
      



  DesiredBehavior:
      Succesful compilation without errors.
      



  Patch:
  See Tk_WmCmd in win/TkWinWm.c. I commented out the troublesome lines. 



  PatchFiles:
      N/A
      





  03/26/1999 18:42 - redman - Fixed.

      "log" of nmake test is below:

      E:\ngs\devtools\tcl\tk\win>nmake test

      Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
      Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

              set TCL_LIBRARY=..\..\tcl/library
              set
      PATH=..\..\tcl\win\Debug;c:\bin;C:\WINNT\system32;C:\WINNT;;C:\SQL\B
      INN;C:\SQL\DLL;C:\PICKER\BINNT;C:\PICKER\BIN;C:\PICKER\CVAB\DLL;C:\PICKER
      \CVAB\P
      ROG;C:\PROGRA~1\MICROS~1\Office;C:\WIN32APP\TOOLKIT;c:\win32app\toolkit;C
      :\Visua
      lStudio\Common\Tools\WinNT;C:\VisualStudio\Common\MSDev98\Bin;C:\VisualSt
      udio\Co
      mmon\Tools;C:\VisualStudio\VC98\bin;c:\bin;c:\binnt\gnu;c:\binnt;c:\pvcs nt;c:\r
      si\idl50;C:\VisualStudio\VJ98;Y:.;U:.;S:.
              .\Debug\tktest.exe ../tests/all.tcl | .\Debug\cat32.exe

  This code looks broken. 
  04/05/1999 20:27 - stanton -


tkt_uuid: 1086049fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 5 Medium
foundin: obsolete: 8.4.9
resolution: Fixed
title: Bug in wm attributes -topmost
comment:
  The following script illustrates the problem:

  bind . <1> {
      wm attributes %W -topmost [expr [wm attributes %W
  -topmost] ? 0 : 1]
  }

  The script must be written out to a file and
  double-clicked to start.  It seems to work fine when a
  console is present or if the code is sourced into a
  console.

  Clicking on the window puts the window in topmost mode.
   Clicking again will take it out, but Windows still
  thinks it is a topmost window.

  The attributes say that the window is no longer a
  topmost, but Windows still treats it as one.

  This works properly when tested against Tk 8.4.3.

  System: Windows XP (SP2)
  Release: ActiveTcl 8.4.9.0


tkt_uuid: 873608ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 13. Win Menus
priority: 7 High
foundin: obsolete: 8.5a2
resolution: Fixed
title: tearoff-menu: no Arrows for submenus (win)
comment:
  after tearing-off a menu with submenus the arrows on
  the right side of the entries disapear  Works for Unix
  (works for win in 8.4)


tkt_uuid: 220045ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 99. Other
priority: 1 Zero
foundin: obsolete: 8.2.2
resolution: Duplicate
title: 147 test suite errors due to mismatches in geometry & pixel values
comment:
  OriginalBugID: 3555 Bug
  Version: 8.2.2
  SubmitDate: '1999-11-11'
  LastModified: '2000-01-27'
  Severity: LOW
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 1970 3720
  OS: Linux-Red Hat
  OSVersion: RedHat Linux 5.1 + updates
  Machine: Compaq Alpha XL 300
  ClosedDate: '2000-01-27'


  Name:
  Don Porter

  Comments:
  Errors available on request.  All of them appear to be
  minor mismatches in geometry and pixel values.

  Window manager is fvwm2

  ObservedBehavior:
  $ make test
  ...
  all.tcl:Total6351Passed5807Skipped397Failed147
  Sourced 84 Test Files.
  Files with failing tests: listbox.test text.test textDisp.test textWind.test

  DesiredBehavior:
  all tests pass


tkt_uuid: 220374ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 05. Canvas Items
priority: 2
foundin: obsolete: 8.0p2
resolution: Fixed
title: disable canvas text drawing without deleting item
comment:
  OriginalBugID: 648 RFE
  Version: 8.0p1
  SubmitDate: '1998-05-25'
  LastModified: '1999-12-13'
  Severity: LOW
  Status: Released
  Submitter: hershey
  ChangedBy: hobbs
  OS: All
  OSVersion: NA
  Machine: NA
  FixedDate: '1999-12-13'
  FixedInVersion: 8.3b1


  Is this a bug fix or a feature? Let the team at Sun decide ...



  This fix allows one to disable canvas text item drawing (e.g., at

  certain zoom levels) without deleting the item, consistent with what

  is already possible for lines and other canvas items.



  Note that if you don't want transparent items to be selectable,

  bind something alongside the following procedure to them:



  proc select {x y} {

      set x [.pad canvasx $x]

      set y [.pad canvasy $y]

      set startpid [.pad find withtag current]

      set pid $startpid

      while {1} {

          if {[.pad itemcget $pid -fill]!=""} {

              dowhateveryouwant $pid

              break

          }

          set pid [.pad find closest $x $y 0 $pid]

          if {$pid==$startpid} break

      }

  }



  Regards,

  Sebastian Wangnick

  --

  Sebastian Wangnick <sebastian.wangnick@eurocontrol.be>

  Office: Eurocontrol Maastricht UAC, Horsterweg 11, NL-6191RX Beek,

          Tel: +31-433661370, Fax: ~300

  Home:   Lammersdorfer Str. 61, D-52159 Rott, Tel: +49-2471-2301,

          Fax: ~2313, Email: familie.wangnick@t-online.de



  ---

  diff -rc tk8.0p1.orig/doc/canvas.n tk8.0p1/doc/canvas.n

  *** tk8.0p1.orig/doc/canvas.n   Fri Oct 31 20:58:54 1997

  --- tk8.0p1/doc/canvas.n        Fri Nov 14 14:45:16 1997

  ***************

  *** 1446,1451 ****

  --- 1446,1453 ----

    \fB\-fill \fIcolor\fR

    \fIColor\fR specifies a color to use for filling the text characters;

    it may have any of the forms accepted by \fBTk_GetColor\fR.

  + If \fIcolor\fR is an empty string then the text will be

  + transparent.

    If this option isn't specified then it defaults to \fBblack\fR.

    .TP

    \fB\-font \fIfontName\fR

  diff -rc tk8.0p1.orig/generic/tkCanvText.c tk8.0p1/generic/tkCanvText.c

  *** tk8.0p1.orig/generic/tkCanvText.c   Sat Oct 11 01:04:57 1997

  --- tk8.0p1/generic/tkCanvText.c        Thu Nov 13 13:47:55 1997

  ***************

  *** 86,92 ****

          "center", Tk_Offset(TextItem, anchor),

          TK_CONFIG_DONT_SET_DEFAULT},

        {TK_CONFIG_COLOR, "-fill", (char *) NULL, (char *) NULL,

  !       "black", Tk_Offset(TextItem, color), 0},

        {TK_CONFIG_FONT, "-font", (char *) NULL, (char *) NULL,

          DEF_CANVTEXT_FONT, Tk_Offset(TextItem, tkfont), 0},

        {TK_CONFIG_JUSTIFY, "-justify", (char *) NULL, (char *) NULL,

  --- 86,92 ----

          "center", Tk_Offset(TextItem, anchor),

          TK_CONFIG_DONT_SET_DEFAULT},

        {TK_CONFIG_COLOR, "-fill", (char *) NULL, (char *) NULL,

  !       "black", Tk_Offset(TextItem, color), TK_CONFIG_NULL_OK},

        {TK_CONFIG_FONT, "-font", (char *) NULL, (char *) NULL,

          DEF_CANVTEXT_FONT, Tk_Offset(TextItem, tkfont), 0},

        {TK_CONFIG_JUSTIFY, "-justify", (char *) NULL, (char *) NULL,



  8.3 has a -state field (with hidden) for all item types. 
  -- 12/13/1999 hobbs


tkt_uuid: 220809ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 29. Colormaps and Visuals
priority: 9 Immediate
foundin: obsolete: 8.1b3
resolution: Fixed
title: Docs missing for Tk_PreserveColormap API
comment:
  OriginalBugID: 1882 Bug
  Version: 8.1b3
  SubmitDate: '1999-04-16'
  LastModified: '1999-04-22'
  Severity: MED
  Status: Assigned
  Submitter: surles
  ChangedBy: hershey
  OS: All
  OSVersion: NA
  Machine: NA
  FixedInVersion: NA


tkt_uuid: 2946850fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 47. Win Fonts
priority: 5 Medium
foundin: obsolete: 8.5.8
resolution: Out of Date
title: Tiny fonts on WinXp again
comment:
  This bug related to 8.5.7 is marked as fixed, but it looks like it's still there.
  ActiveTcl 8.5.8, Windows XP SP2, fixed and ansifixed:

  foreach f [font names] {puts "$f => [font configure $f]"}
  fixed => -family Courier -size 5 -weight normal -slant roman -underline 0 -overstrike 0
  oemfixed => -family Terminal -size 11 -weight normal -slant roman -underline 0 -overstrike 0
  TkDefaultFont => -family Tahoma -size 8 -weight normal -slant roman -underline 0 -overstrike 0
  TkMenuFont => -family Tahoma -size 8 -weight normal -slant roman -underline 0 -overstrike 0
  ansifixed => -family Courier -size 5 -weight normal -slant roman -underline 0 -overstrike 0
  systemfixed => -family Fixedsys -size 11 -weight normal -slant roman -underline 0 -overstrike 0
  TkHeadingFont => -family Tahoma -size 8 -weight normal -slant roman -underline 0 -overstrike 0
  device => -family System -size 10 -weight bold -slant roman -underline 0 -overstrike 0
  TkTooltipFont => -family Tahoma -size 8 -weight normal -slant roman -underline 0 -overstrike 0
  defaultgui => -family {MS Shell Dlg} -size 8 -weight normal -slant roman -underline 0 -overstrike 0
  TkTextFont => -family Tahoma -size 8 -weight normal -slant roman -underline 0 -overstrike 0
  ansi => -family {MS Sans Serif} -size 8 -weight normal -slant roman -underline 0 -overstrike 0
  TkCaptionFont => -family {Trebuchet MS} -size 10 -weight bold -slant roman -underline 0 -overstrike 0
  system => -family System -size 10 -weight bold -slant roman -underline 0 -overstrike 0
  TkSmallCaptionFont => -family Tahoma -size 8 -weight bold -slant roman -underline 0 -overstrike 0
  TkFixedFont => -family {Courier New} -size 9 -weight normal -slant roman -underline 0 -overstrike 0
  TkIconFont => -family Tahoma -size 8 -weight normal -slant roman -underline 0 -overstrike 0

  My current Tkinter release uses Tk 8.5.7 and there all fixed fonts are of size 5 (I had to make a patch).


tkt_uuid: 1754043fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 8
severity: Minor
foundin: obsolete: 8.5.10
resolution: Fixed
title: no limit to -blockcursor width
comment:
  When -blockcursor is true, the block cursor takes up the entire width of the character to the right of the cursor.  When the cursor is positioned at a whitespace character such as tab or newline, or at the end of a display line, this can be distracting, e.g. at newline the cursor expands to the right-hand boundary of the widget.

  I suggest that, when the block cursor covers whitespace, its width should not exceed a preset value, e.g. the em-width of the font.


tkt_uuid: 1415789fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 83. Mac OS X Build
priority: 7 High
foundin: obsolete: 8.5a4
resolution: Fixed
title: universal build fails
comment:
  I'm using the new xcode projects on my nice new imac intel-duo, and 
  Tcl builds ok, but Tk's build (for the 'universal' target) fails with this:

  Building target “Tk” of project “Wish” — (1 error, 2 warnings)
      cd /Users/vince/Desktop/Programming/tk/macosx
      setenv ACTION 
      /bin/bash -c cd\ \"/Users/vince/Desktop/Programming/tk/
  macosx/../../tk/macosx\"\ \ &&\ a=`echo\ $0\ |\ sed\ -e\ s/clean/
  distclean/\ -e\ \'s/..*/&-/\'`\ &&\ CFLAGS=\"-Wno-deprecated-
  declarations\ -arch\ ppc\ -arch\ i386\ -isysroot\ /Developer/SDKs/
  MacOSX10.4u.sdk\ -mmacosx-version-min=10.4\"\ gnumake\ $a
  \"\"deploy\ INSTALL_ROOT=\"/tmp/Wish.dst\"\ INSTALL_PATH=\"/
  Library/Frameworks\"\ PREFIX=\"/usr/local\"\ BINDIR=\"/usr/local/bin
  \"\ MANDIR=\"/usr/local/man\"\ TCL_BUILD_DIR=\"/Users/vince/
  Desktop/Programming/tk/macosx/../../build/tk/../tcl/Deployment\"\ 
  APPLICATION_INSTALL_PATH=\"/Applications/Utilities\"\ 
  $EXTRA_MAKE_FLAGS\ SRCROOT=/Users/vince/Desktop/
  Programming/tk/macosx\ OBJROOT=/Users/vince/Desktop/
  Programming/tk/macosx/../../build/tk\ SYMROOT=/Users/vince/
  Desktop/Programming/tk/macosx/../../build/tk\ DSTROOT=/tmp/
  Wish.dst ""
  gnumake tk \
   BUILD_STYLE=Deployment INSTALL_TARGET=install-strip  
  gnumake install-tk INSTALL_ROOT=/Users/vince/Desktop/
  Programming/tk/macosx/../../build/tk/Deployment/
  gnumake -C /Users/vince/Desktop/Programming/tk/macosx/../../
  build/tk/Deployment all tktest INSTALL_ROOT='/Users/vince/Desktop/
  Programming/tk/macosx/../../build/tk/Deployment/' 
  INSTALL_TARGETS='install-binaries install-libraries install-private-
  headers install-demos' VERSION='8.5'  
  rm -f Tk
  gcc -pipe -dynamiclib -Os -Wno-deprecated-declarations -arch ppc -
  arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-
  version-min=10.4 -fpascal-strings   -prebind -
  headerpad_max_install_names -Wl,-search_paths_first  -Wl,-
  single_module -o Tk tk3d.o tkArgv.o tkAtom.o tkBind.o tkBitmap.o 
  tkClipboard.o tkCmds.o tkColor.o tkConfig.o tkConsole.o tkCursor.o 
  tkError.o tkEvent.o tkFocus.o tkFont.o tkGet.o tkGC.o tkGeometry.o 
  tkGrab.o tkGrid.o tkMain.o tkObj.o tkOldConfig.o tkOption.o tkPack.o 
  tkPlace.o tkSelect.o tkStyle.o tkUndo.o tkUtil.o tkVisual.o tkWindow.o 
  tkButton.o tkEntry.o tkFrame.o tkListbox.o tkMenu.o tkMenubutton.o 
  tkMenuDraw.o tkMessage.o tkPanedWindow.o tkScale.o tkScrollbar.o 
  tkCanvas.o tkCanvArc.o tkCanvBmap.o tkCanvImg.o tkCanvLine.o 
  tkCanvPoly.o tkCanvPs.o tkCanvText.o tkCanvUtil.o tkCanvWind.o 
  tkRectOval.o tkTrig.o tkImage.o tkImgBmap.o tkImgGIF.o tkImgPPM.o 
  tkImgPhoto.o tkText.o tkTextBTree.o tkTextDisp.o tkTextImage.o 
  tkTextIndex.o tkTextMark.o tkTextTag.o tkTextWind.o tkStubInit.o 
  tkStubLib.o tkMacOSXBitmap.o tkMacOSXButton.o 
  tkMacOSXClipboard.o tkMacOSXColor.o tkMacOSXConfig.o 
  tkMacOSXCursor.o tkMacOSXDebug.o tkMacOSXDialog.o 
  tkMacOSXDraw.o tkMacOSXEmbed.o tkMacOSXEntry.o 
  tkMacOSXEvent.o tkMacOSXFont.o tkMacOSXHLEvents.o tkMacOSXInit.o 
  tkMacOSXKeyboard.o tkMacOSXKeyEvent.o tkMacOSXMenu.o 
  tkMacOSXMenubutton.o tkMacOSXMenus.o tkMacOSXMouseEvent.o 
  tkMacOSXNotify.o tkMacOSXRegion.o tkMacOSXScrlbr.o 
  tkMacOSXSend.o tkMacOSXSubwindows.o tkMacOSXWindowEvent.o 
  tkMacOSXWm.o tkMacOSXXStubs.o tkMacOSXCarbonEvents.o 
  tkFileFilter.o tkMacWinMenu.o tkPointer.o tkUnix3d.o tkUnixScale.o 
  xcolors.o xdraw.o xgc.o ximage.o xutil.o  -lpthread -framework 
  CoreFoundation -framework Carbon -framework IOKit    -lpthread -
  framework CoreFoundation  -L/Users/vince/Desktop/Programming/
  build/tcl/Deployment -ltclstub8.5  -compatibility_version 8.5 -
  current_version 8.5 -install_name /Library/Frameworks/Tk.framework/
  Versions/8.5/Tk -seg1addr 0xb000000 -unexported_symbols_list $
  (f=libtclstub8.5.a.E && nm -gjp /Users/vince/Desktop/Programming/
  build/tcl/Deployment/libtclstub8.5.a | grep ^_ > $f && echo $f) 
  ld: warning -prebind ignored because MACOSX_DEPLOYMENT_TARGET 
  environment variable greater or equal to 10.4
  ld: warning -prebind ignored because MACOSX_DEPLOYMENT_TARGET 
  environment variable greater or equal to 10.4
  ld: symbols names listed in -unexported_symbols_list: libtclstub8.5.a.E 
  not in linked objects
  ___i686.get_pc_thunk.bx
  /usr/bin/libtool: internal link edit command failed
  lipo: can't figure out the architecture type of: /var/tmp//ccyH5faC.out
  gnumake[3]: *** [Tk] Error 1
  gnumake[2]: *** [build-tk] Error 2
  gnumake[1]: *** [tk] Error 2
  gnumake: *** [deploy] Error 2
  ld: warning -prebind ignored because 
  MACOSX_DEPLOYMENT_TARGET environment variable greater or equal 
  to 10.4
  ld: warning -prebind ignored because 
  MACOSX_DEPLOYMENT_TARGET environment variable greater or equal 
  to 10.4
  ld: symbols names listed in -unexported_symbols_list: 
  libtclstub8.5.a.E not in linked objects
  /usr/bin/libtool: internal link edit command failed
  Build failed (1 error, 2 warnings)


tkt_uuid: 740558ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 9 Immediate
foundin: obsolete: 8.5a0
resolution: Fixed
title: test failures
comment:
  text.test

  ==== text-20.3 TextSearchCmd procedure, -forwards
  option FAILED
  ==== Contents of test case:

      .t search -forwards xyz 1.4

  ---- Result was:
  1.1
  ---- Result should have been (exact matching):
  1.5
  ==== text-20.3 FAILED


  ==== text-20.36 TextSearchCmd procedure, regexp finds
  empty lines FAILED
  ==== Contents of test case:

      # Test for fix of bug #1643
      .t insert end "\n"
      tk::TextSetCursor .t 4.0
      .t search -forward -regexp {^$} insert end

  ---- Result was:

  ---- Result should have been (exact matching):
  4.0
  ==== text-20.36 FAILED


  ==== text-20.106 TextSearchCmd, multiline regexp
  matching FAILED
  ==== Contents of test case:

      # Practical example which crashes Tk, but only
  after the
      # search is complete.  This is memory corruption
  caused by
      # a bug in Tcl's handling of string objects.
      # (Tcl bug 635200)
      deleteWindows
      pack [text .t2]
      .t2 insert 1.0 {static int         
  SetFsPathFromAny _ANSI_ARGS_((Tcl_Interp *interp,
                              Tcl_Obj *objPtr));
  static Tcl_Obj*         FSNormalizeAbsolutePath 
                              _ANSI_ARGS_((Tcl_Interp*
  interp, Tcl_Obj *pathPtr));}
      set markExpr "^(\[A-Za-z0-9~_\]+\[
  \t\n\r\]*\\(|(\[^ \t\(#\n\r/@:\*\]\[^=\(\r\n\]*\[
  \t\]+\\*?)?"
      append markExpr
  "(\[A-Za-z0-9~_\]+(<\[^>\]*>)?(::)?(\[A-Za-z0-9~_\]+::)*\[-A-Za-z0-9~_+
  <>\|\\*/\]+|\[A-Za-z0-9~_\]+)"
      append markExpr "\[ \n\t\r\]*\\()"
      .t2 search -forwards -regexp $markExpr 1.41 end

  ---- Result was:
  1.0
  ---- Result should have been (exact matching):

  ==== text-20.106 FAILED


  Tests ended at Tue May 20 12:05:16 PM EDT 2003
  all.tcl:        Total   358     Passed  354     Skipped
  1       Failed  3
  Sourced 2 Test Files.
  Files with failing tests: text.test
  Number of tests skipped for each constraint:
          1       macOrPc
  Font Courier -12 still in cache.


tkt_uuid: 742260ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 40. Bitmap Images
priority: 5 Medium
foundin: obsolete: 8.3.3
resolution: Works For Me
title: tk_getpixmap returns 0 with multiple apps open
comment:
  tk_getpixmap returns 0 when I open the 5th instance of 
  my application.

  Each application allocates 2 102x1536 pixmaps and maps 
  them on a canvas.


tkt_uuid: 2935309fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 11. Aqua Menus
priority: 3 Low
foundin: obsolete: 8.6b1.1
resolution: None
title: No multi-column menus in Tk Cocoa
comment:
  Multi-column menus are not implemented in Tk Cocoa 8.6, Jan 8, 2010 cvs source code.
  The following tcl-mac mailing list message discusses this.

  http://sourceforge.net/mailarchive/message.php?msg_id=4B04C78B.4030203%40cgl.ucsf.edu


tkt_uuid: 220621ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 52. [clipboard]
priority: 2
foundin: obsolete: 8.2.2
resolution: Fixed
title: no encoding to/from mac-clipboard
comment:
  OriginalBugID: 3544 Bug
  Version: 8.2.2
  SubmitDate: '1999-11-11'
  LastModified: '2000-01-03'
  Severity: LOW
  Status: Released
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Macintosh
  FixedDate: '2000-01-03'
  FixedInVersion: 8.3b2


  Name:
  Henk-Jan Kooiman

  Comments:
  There are more problems with special characters on the Mac.
  (Double-clicking on a word selects normal or special characters, but not both)

  ReproducibleScript:
  just type é (char é) in an editor and copy it to a wish text window

  ObservedBehavior:
  You get a ?

  DesiredBehavior:
  é

  Patch:
  In tkMacClipboard.c

  proc TkSelGetSelection
  org:     result = (*proc)(clientData, interp, *handle);
  new:     Tcl_ExternalToUtfDString(NULL, *handle, length, &encodedText);
      result = (*proc)(clientData, interp, encodedText);
      Tcl_DStringFree(&encodedText);

  proc TkSuspendClipboard
  org:PutScrap(length, 'TEXT', buffer);
  new:Tcl_UtfToExternalDString(NULL, buffer, length, &encodedText);
  PutScrap(Tcl_DStringLength(&encodedText), 'TEXT', Tcl_DStringValue(&encodedText));
  Tcl_DStringFree(&encodedText);

  PatchFiles:
  tkMacClipboard.c



  changes made in 8.3b2. 
  -- 01/03/2000 hobbs


tkt_uuid: 2257424fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 5 Medium
foundin: obsolete: 8.4.19
resolution: Invalid
title: screenwidth incorrect on multiple monitors
comment:
  The winfo screenwidth . returns 1920 on Windows XP SP2 with dual monitors and the screen spread across both monitors (and the . in the second monitor) whereas winfo geom . returns 200x200+2717+546. The geometry is correct but the screenwidth is not. How do I get the correct screen width in this case. Windows handles this as a single screen (at least it appears to).


tkt_uuid: 1906768fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 41. Photo Images
priority: 5 Medium
foundin: None
resolution: None
title: data -grayscale returning all black
comment:
  Using '$img data -grayscale' returns all black. Here's sample code:

  set ifile [file join $tk_library demos images earth.gif]
  set org [image create photo -file $ifile]
  set bug [image create photo]
  $bug put [$org data -grayscale]
  label .org -image $org -text org -compound top -bg red -bd 2 -relief ridge
  label .bug -image $bug -text bug -compound top -bg cyan -bd 2 -relief ridge
  pack .org .bug -side left


tkt_uuid: 220050ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 65. Generic Window Operations
priority: 1 Zero
foundin: final: 8.2.3
resolution: Duplicate
title: Cannot type in text/entry widgets when toplevel uses -use option
comment:
  OriginalBugID: 3798 Bug
  Version: 8.2.3
  SubmitDate: '1999-12-07'
  LastModified: '2000-01-27'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 2262
  OS: Windows NT
  ClosedDate: '2000-01-27'


  Name:
  Michael Githens

  CustomShell:
  Dash patch

  ReproducibleScript:
  #Start a wish and give the following commands
      frame .one -container 1
      grid .one -row 0 -column 0
      # Get the winfo id of .one

  #Start a second wish and give the following commands
      toplevel .two -use 0x?????   # You got this from the other wish
      text .two.txt -width 20 -height 2
      grid .two.txt -row 0 -column 0

  # Try to type in the text widget.

  ObservedBehavior:
  Cannot type in the text widget that is in the toplevel using the -use option.

  DesiredBehavior:
  You should get a cursor and be able to type in the widget



  Verified, although this might not be exactly what the intended
  use for the given design was. 
  -- 12/22/1999 hobbs


tkt_uuid: 220773ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 64. Graphic Contexts
priority: 5 Medium
foundin: None
resolution: Duplicate
title: Adapt to user requested color changes in Tk on Windows
comment:
  OriginalBugID: 600 RFE
  Version: 8.0p2
  SubmitDate: '1998-05-21'
  LastModified: '2000-04-03'
  Severity: LOW
  Status: Assigned
  Submitter: hershey
  ChangedBy: ericm
  OS: All Windows
  OSVersion: NA
  Machine: NA
  FixedInVersion: NA


  On Windows, Tk8.0p2 correctly uses system defined colors as the
  defaults for certain widgets, such as buttons and menus.  However, if
  the user changes the system defined color using the control panel, Tk
  applications do not adapt as they should.

  You can try this from the Display control panel.  Click on the
  Appearance tab, select an item such as ``Menu,'' and try changing its
  color.  You'll see that other Windows applications will change their
  menu colors as requested, but Tk applications will not.  If you
  restart the Tk application, the new color will be used.

  The appended patch changes Tk to pay attention to user requested color
  changes, by handling the WM_SYSCOLORCHANGE message.

  This patch is long, but most of it is mechanical.  All calls to
  Tk_GetGC that specified GCForeground and/or GCBackground were changed
  to call Tk_GetGCColor instead, passing in pointers to the XColor
  structure.  Tk_GetGC becomes a wrapper function that just calls
  Tk_GetGCColor.  This permits Tk to keep track of which GCs use which
  colors, and thus to call XChangeGC when the color value changes.

  There is one hack in this patch.  In Tk_GetGCColor, we only pay
  attention to the color on Windows.  Otherwise, we may create an extra
  GC if two different colors happen to have the same pixel value.  On
  Windows we need to distinguish these cases, since the user will change
  the color by name, not by pixel value, but on Unix distinguishing
  these cases will lead to a useless duplicate GC.  I left an #ifdef in
  the code in Tk_GetGCColor.  There is probably a better way to handle
  this.

  Ian Taylor
  ian@cygnus.com


  patch was too big to fit here.  look in patches at scriptics website.

  here are the 1st 4 lines of the patch:

  *** /5g/ian/tk8.0p2/generic/tk.h        Thu Nov 20 15:44:45 1997
  --- generic/tk.h        Thu Apr 16 13:57:23 1998
  *************** EXTERN void             Tk_GetFontMetrics _ANSI_ARG
  *** 1254,1259 ****


tkt_uuid: 927492ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 62. Geometry Functions
priority: 5 Medium
foundin: obsolete: 8.4.6
resolution: Fixed
title: WinTk:winfo screenwidth, etc,don't respect resolution change
comment:
  When I change the resolution on my Windows XP machine,
  the result of 'winfo screenwidth .' doesn't change. 
  So, there's no way a Tk application can learn that the
  screen it's operating on is now a different size.


tkt_uuid: 530491ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 10. Generic Menus
priority: 5 Medium
foundin: None
resolution: Invalid
title: menu -type menubar breaks kbd navigation
comment:
  Keyboard navigation to menus with <Alt-Keypress> raises
  an error if the menu is configured with -type menubar,
  as the following script demonstrates:

  #--cut here
  package require Tk
  menu .menubar -type menubar
  menu .file
  .file add command -label Exit -underline 1 -command
  [list destroy .]
  .menubar add cascade -label File -underline 0 -menu
  .file
  . configure -menu .menubar

  pack [label .l -text "Press Alt-F"] \
          -expand true -fill both -padx 200 -pady 200

  #-- cut here

  This raises an error:

  grab failed: window not viewable
  grab failed: window not viewable
      while executing
  "grab -global $w"
      (procedure "tk::TraverseToMenu" line 21)
      invoked from within
  "tk::TraverseToMenu . f"
      (command bound to event)

  Without '-type menubar',  keyboard navigation works OK.


tkt_uuid: 808039ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 39. Image Basics
priority: 5 Medium
foundin: obsolete: 8.4.4
resolution: Fixed
title: [image create] generates used command names
comment:
  Interactive wish session:

  % proc image1 {} {puts foo}
  % image create bitmap
  image1
  % image1
  wrong # args: should be "image1 option ?arg arg ...?"

  The original programmer's [image1] command 
  is lost because of a conflict with an artbitrary name
  generated by [image create].  Since [image create]
  does not even document what names it generates,
  there no 100% way for the paranoid programmer to
  avoid this nastiness (other than not use [image]).

  A policy of overwriting may make sense when the
  programmer provides the image command name, but
  it seems that [image create] should keep generating
  names until it finds on that does not conflict.

  Seems like a bug to me.  If the maintainer disagrees,
  I'd like to know why.


tkt_uuid: 220625ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 65. Generic Window Operations
priority: 2
foundin: obsolete: 8.2
resolution: Fixed
title: iwidgets::combobox hiding of parent window
comment:
  OriginalBugID: 3645 Bug
  Version: 8.2
  SubmitDate: '1999-11-23'
  LastModified: '1999-12-01'
  Severity: MED
  Status: Released
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Windows 98
  Machine: win 98
  FixedDate: '1999-12-01'
  FixedInVersion: 8.2.1


  Name:
  Todd Shoemaker

  CustomShell:
  none

  ReproducibleScript:
  #! /usr/bin/sh
  # make sure wish80 is the current in interpreter and is in the $PATH
  #  exec wish "$0" "$@"
  package require Iwidgets 3.0
  set usds [list hello world]

  ################################################
  #procedure to position dialogs in center of screen
  ################################################
  proc DialogPosition {Dlg Dialogwidth DialogHeight} {
  set Width [winfo screenwidth .]
  set Height [winfo screenheight .]
  set Xoffset [expr (( $Width - $Dialogwidth )/2 )]
  set Yoffset [expr (( $Height - $DialogHeight )/2 )]
  wm geometry $Dlg ${Dialogwidth}x${DialogHeight}+$Xoffset+$Yoffset
  }

  ################################################
  #proc Add or remove notebook from proc GetUSDs
  ################################################
  proc AddRemoveUSD {Count Choice} {

  global  usds slots usdips allistboxes LocalCount
  if {$Count != 0} {
  set NoteBook [.usd.frm.nb add -label "USD [expr ($Count + 1)]"]
  } else {
  set NoteBook [.usd.frm.nb childsite]
  }
  iwidgets::Labeledframe $NoteBook.pr1 -labelpos nw -labeltext "Enter Host Name"
  set ChildSite1 [$NoteBook.pr1 childsite]
  iwidgets::Labeledframe $NoteBook.pr2 -labelpos nw -labeltext "Choose slots to Configure"
  set ChildSite2 [$NoteBook.pr2 childsite]
  iwidgets::combobox $ChildSite1.cb -labeltext "Host: " -labelpos w -textvariable text($Count) -editable 0  -selectioncommand {
  set ipaddress([.usd.frm.nb view]) "IP Address: [lindex $usdips [lsearch $usds $text([.usd.frm.nb view])]]"
  }
  iwidgets::labeledwidget $ChildSite1.addrs -labelvariable ipaddress($Count) 
  set allistboxes [lreplace $allistboxes $Count $Count $ChildSite1.cb]
  foreach val $usds {
  $ChildSite1.cb insert list end $val
  } 
  pack $ChildSite1.cb -padx 45 -pady 10 -fill x
  pack $ChildSite1.addrs -padx 15 -pady 5 -fill x 
  pack $NoteBook.pr1 -fill x -padx 20 -pady 5 
  pack $NoteBook.pr2 -fill x -padx 20 -pady 5 
  frame $ChildSite2.frm1
  frame $ChildSite2.frm2
  frame $ChildSite2.frm3
  set FirstColumn [list 1 5 9]
  set LastColumn [list 4 8 12]
  set PlaceHolder 0
  for {set k 1} {$k <= 3} {incr k} {
  for {set j [lindex $FirstColumn $PlaceHolder]} {$j <= [lindex $LastColumn $PlaceHolder]} {incr j} {
  checkbutton $ChildSite2.frm$k.slot$j -text "slot[format "%.2d" $j]" -variable slots($${Count}${j}) -onvalue $j -offvalue 0
  }
  incr PlaceHolder
  }
  set PlaceHolder 0
  for {set k 1} {$k <= 3} {incr k} {
  for {set j [lindex $FirstColumn $PlaceHolder]} {$j <= [lindex $LastColumn $PlaceHolder]} {incr j} {
  pack $ChildSite2.frm$k.slot$j  -side left -fill x
  }
  incr PlaceHolder
  }
  pack $ChildSite2.frm1 -pady 1 
  pack $ChildSite2.frm2 -pady 1
  pack $ChildSite2.frm3 -pady 1
  if {$Choice == "Disable"} {
  .usd.frm.options.add config -state disabled
  } elseif {$Choice == "Enable"} {
  .usd.frm.options.remove config -state normal
  }
  }

  ################################################
  #procFirst window to pop up when new configuratoin is chosen
  #Asks what USDs to configure
  ################################################
  proc GetUSDs {} {

  global UsdCount usds Yes hosts slots allistboxes tree Interface Type usdinterfacetypevalue statuscount 

  set Yes 1
  set hosts [list]
  set allistboxes [list null null null null null null]
  toplevel .usd
  frame .usd.frm -relief raised
  wm title .usd "UltraNet Storage Director Configuration"
  option add *Tabnotebook.backdrop grey
  option add *Scale.width 8
  iwidgets::tabnotebook .usd.frm.nb -tabpos n -width 320 -height 280 -bevelamount 2-raiseselect yes -tabbackground darkgrey -background grey
  pack .usd.frm.nb -fill both -expand yes
  .usd.frm.nb add -label "USD 1"
  .usd.frm.nb select 0
  AddRemoveUSD 0 null
  set UsdCount 1
  frame .usd.frm.options
  button .usd.frm.options.add -text "Add"  -command {
  }
  button .usd.frm.options.remove -text "Remove"  -command {
  }

  button .usd.frm.options.edit -text "Edit"  -command {
  }
  button .usd.frm.options.ok -text "Continue"  -command {
  }
  button .usd.frm.options.cancel -text "Cancel"  -command { 
  }

  pack .usd.frm.options.cancel .usd.frm.options.ok .usd.frm.options.edit .usd.frm.options.remove .usd.frm.options.add -side right -anchor e -ipadx 5 -padx 5 -pady 5
  pack .usd.frm.options -side bottom -fill x 
  pack .usd.frm -pady 5
  .usd.frm.options.remove config -state disabled
  DialogPosition .usd 350 335
  wm resizable .usd 0 0
  focus -force .usd
  #tkwait window .usd
  }

  wm title . "Gateway Test Suite"
  DialogPosition . 600 400
  update
  GetUSDs

  ObservedBehavior:
  When I click on the combobox in the toplevel window .usd, I only see the
  drop down box in .usd--the rest of .usd dissappears(when the . window is behind the .usd window initially),

  If I iconify the . window, and leave the .usd window on the screen,
  it works just fine.

  DesiredBehavior:
  I don't believe this behavior existed in 8.1



  This sounds like a bug in wm deiconify that was already
  fixed in 8.2.1.  Please verify if this is not the case. 
  -- 12/01/1999 hobbs


tkt_uuid: 1552698fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 66. Aqua Window Operations
priority: 5 Medium
foundin: None
resolution: None
title: wm geometry +0+0
comment:
  For a window on the main screen, setting a toplevel window geometry to 
  +0+0 should put the upper left corner of the title bar of the window 
  below the menu bar and to the right of the dock (if the dock is on the 
  left).

  With -0+xxx, the right side of the window should be just to the left of the 
  dock, if the dock is on the right side.

  With +xxx-0, the bottom of the window should be just above the dock, if 
  the dock is on the bottom.

  With + or - 0, windows should not be under the dock or menu bar.



  sep@shout.net


tkt_uuid: 1124654fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: None
resolution: Wont Fix
title: windows file dialog doesn't add the selected file extension
comment:
  If you try this:

  package require Tk
  set name example
  set ext [list "{FOO} {*.foo}" "{BAR} {*.bar}" "{TCL}
  {*.tcl}"]
  tk_getSaveFile -initialfile $name -initialdir
  $::env(HOME) -filetypes $ext

  Under linux it returns "example.foo" if you select FOO
  type or "example.bar" for BAR type, etc.. But under
  windows it only returns "example" whatever filetype you
  choose.

  On the Tcl'ers chat, Donal Fellows wrote he believes it
  happens because that's the way the windows file dialog
  works.

  Actually, I manage this bug by adding by myself the
  default extension (.foo is my example) to the filename
  tk_getSaveFile returns if it misses. But the side
  effect is non-default filetypes (.bar or .tcl in my
  example) are ignored if the user selected it but forgot
  to manually adds the extension in the tk_getSaveFile entry.

  So, would it be possible to add something to the "file
  type" menu so it adds or replaces the choosen extension
  to the filename?


tkt_uuid: 456548ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: None
priority: 5 Medium
foundin: None
resolution: Remind
title: Tk work with non-wish event loops
comment:
  With a Tcl_SetMainLoop call in Tk 8.4 and migrating
  back to 8.3.4, it's time to start testing Tk as
  a loadable package.  After setting up an
  appropriate pkgIndex.tcl file for Tk...
  Here's one problem:

  $ cat test.tcl
  package require Tk
  after 10000 {set forever 1}
  after 1000 {destroy .}
  after 2000 {bell}
  vwait forever
  $ tclsh test.tcl
  bgerror failed to handle background error.
      Original error: can't invoke "bell" command: 
  application has been destroyed
      Error in bgerror: can't invoke "option" command: 
  application has been destroyed

  Note that all Tk commands get disabled when the
  "." window is destroyed on the theory that the
  "application has been destroyed".  Inside a wish
  event loop, it's true that destroying all windows
  exits the application, but a loadable Tk will find
  itself running inside other event loops.  It needs
  to handle that situation better.


tkt_uuid: 2236352fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 46. Unix Fonts
priority: 5 Medium
foundin: obsolete: 8.4.17
resolution: None
title: NULL dereference as result of peculiarly formed font name
comment:
  I'm running Fedora 8; I don't see any changes between tk8.4.17 and tk8.4.19 that would fix this.  If I must run 8.4.19 to have this addressed, please explain to me how I can install 8.4.19 without breaking system dependencies.

  A weird font name, "-misc-????-bold-r-normal--17-120-100-100-p-0-iso8859-1",
  is causing TkFontParseXLFD to return bad results, including a NULL pointer for the font family and a negative number for the font size.  I'd like TkFontParseXLFD to detect bad return values from the functions it calls and return TCL_ERROR when it sees them.

  Here's some of the gdb session where the error occurs:

  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread -1208772928 (LWP 18846)]
  0x002866b9 in strcasecmp () from /lib/libc.so.6
  Missing separate debuginfos, use: debuginfo-install python.i386
  (gdb) bt
  #0  0x002866b9 in strcasecmp () from /lib/libc.so.6
  #1  0x00d7bbca in IdentifySymbolEncodings (faPtr=0xbfd4fef4)
      at /usr/src/debug/tk8.4.17/unix/tkUnixFont.c:2857
  #2  0x00d7c4f5 in CanUseFallback (fontPtr=0x8ddb518, 
      faceName=<value optimized out>, ch=20092, fixSubFontPtrPtr=0x0)
      at /usr/src/debug/tk8.4.17/unix/tkUnixFont.c:2361
  #3  0x00d7cea1 in FindSubFontForChar (fontPtr=0x8ddb518, ch=20092, 
      fixSubFontPtrPtr=0x0) at /usr/src/debug/tk8.4.17/unix/tkUnixFont.c:1961
  #4  0x00d7d4be in Tk_MeasureChars (tkfont=0x8ddb518, 
      source=0x93a106a "'(a�\211ΩB�\201\205乼cz):\\n'\n", numBytes=21, 
      maxLength=411, flags=0, lengthPtr=0xbfd50358)
      at /usr/src/debug/tk8.4.17/unix/tkUnixFont.c:1083
  #5  0x00d68e80 in MeasureChars (tkfont=0x8ddb518, 
      source=0x93a106a "'(a�\211ΩB�\201\205乼cz):\\n'\n", 
      maxBytes=<value optimized out>, startX=0, maxX=411, tabOrigin=0, 
      nextXPtr=0xbfd503a4) at /usr/src/debug/tk8.4.17/generic/tkTextDisp.c:5265
  #6  0x00d6905d in TkTextCharLayoutProc (textPtr=0x8c54518, 
      indexPtr=0xbfd50564, segPtr=0x93a1030, byteOffset=46, maxX=411, 
      maxBytes=22, noCharsYet=1, wrapMode=TEXT_WRAPMODE_WORD, chunkPtr=0x93a5e38)
      at /usr/src/debug/tk8.4.17/generic/tkTextDisp.c:4534
  #7  0x00d6a739 in LayoutDLine (textPtr=0x8c54518, 
      indexPtr=<value optimized out>)
      at /usr/src/debug/tk8.4.17/generic/tkTextDisp.c:1017
  #8  0x00d6b068 in UpdateDisplayInfo (textPtr=0x8c54518)
  ---Type <return> to continue, or q <return> to quit---
      at /usr/src/debug/tk8.4.17/generic/tkTextDisp.c:1333
  #9  0x00d6b939 in TkTextPixelIndex (textPtr=0x0, x=1, y=377, 
      indexPtr=0xbfd50698) at /usr/src/debug/tk8.4.17/generic/tkTextDisp.c:4181
  #10 0x00d72b39 in TkTextPickCurrent (textPtr=0x8c54518, eventPtr=0x8c546cc)
      at /usr/src/debug/tk8.4.17/generic/tkTextTag.c:1410
  #11 0x00d6cc47 in DisplayText (clientData=0x8c54518)
      at /usr/src/debug/tk8.4.17/generic/tkTextDisp.c:2281
  #12 0x00441af8 in TclServiceIdle () from /usr/lib/libtcl8.4.so
  #13 0x0042f24f in Tcl_DoOneEvent () from /usr/lib/libtcl8.4.so
  #14 0x0012c6ec in ?? () from /usr/lib/python2.5/lib-dynload/_tkinter.so
  #15 0x05e617ed in PyCFunction_Call () from /usr/lib/libpython2.5.so.1.0
  #16 0x05eaec72 in PyEval_EvalFrameEx () from /usr/lib/libpython2.5.so.1.0
  #17 0x05eaf6bf in PyEval_EvalCodeEx () from /usr/lib/libpython2.5.so.1.0
  #18 0x05ead844 in PyEval_EvalFrameEx () from /usr/lib/libpython2.5.so.1.0
  #19 0x05eadfcd in PyEval_EvalFrameEx () from /usr/lib/libpython2.5.so.1.0
  #20 0x05eaf6bf in PyEval_EvalCodeEx () from /usr/lib/libpython2.5.so.1.0
  #21 0x05ead844 in PyEval_EvalFrameEx () from /usr/lib/libpython2.5.so.1.0
  #22 0x05eaf6bf in PyEval_EvalCodeEx () from /usr/lib/libpython2.5.so.1.0
  #23 0x05eaf743 in PyEval_EvalCode () from /usr/lib/libpython2.5.so.1.0
  #24 0x05ec93e6 in ?? () from /usr/lib/libpython2.5.so.1.0
  #25 0x05ec949e in PyRun_FileExFlags () from /usr/lib/libpython2.5.so.1.0
  #26 0x05ecab58 in PyRun_SimpleFileExFlags () from /usr/lib/libpython2.5.so.1.0
  #27 0x05ecb2ba in PyRun_AnyFileExFlags () from /usr/lib/libpython2.5.so.1.0
  #28 0x05ed4e06 in Py_Main () from /usr/lib/libpython2.5.so.1.0
  ---Type <return> to continue, or q <return> to quit---
  #29 0x080485d2 in main ()
  (gdb) frame
  #0  0x002866b9 in strcasecmp () from /lib/libc.so.6
  (gdb) frame 1
  #1  0x00d7bbca in IdentifySymbolEncodings (faPtr=0xbfd4fef4)
      at /usr/src/debug/tk8.4.17/unix/tkUnixFont.c:2857
  2857            if (strcasecmp(faPtr->fa.family, symbolClass[i]) == 0) {
  (gdb) print faPtr->fa.family
  $1 = 0x0
  (gdb) print faPtr->fa
  $2 = {family = 0x0, size = -17, weight = 1, slant = 0, underline = 0, 
    overstrike = 0}
  (gdb) print *faPtr
  $3 = {fa = {family = 0x0, size = -17, weight = 1, slant = 0, underline = 0, 
      overstrike = 0}, xa = {foundry = 0x8c56748 "misc", slant = 0, 
      setwidth = 0, charset = 0x99c07f0 "iso8859-1"}}
  (gdb) frame 2
  #2  0x00d7c4f5 in CanUseFallback (fontPtr=0x8ddb518, 
      faceName=<value optimized out>, ch=20092, fixSubFontPtrPtr=0x0)
      at /usr/src/debug/tk8.4.17/unix/tkUnixFont.c:2361
  2361            IdentifySymbolEncodings(&got);
  (gdb) print got
  $4 = {fa = {family = 0x0, size = -17, weight = 1, slant = 0, underline = 0, 
      overstrike = 0}, xa = {foundry = 0x8c56748 "misc", slant = 0, 
      setwidth = 0, charset = 0x99c07f0 "iso8859-1"}}
  (gdb) p nameList[nameIdx]
  $5 = 0x8d6ee21 "-misc-????-bold-r-normal--17-120-100-100-p-0-iso8859-1"
  (gdb) 


tkt_uuid: 572995ffffffffffffffffffffffffffffffffff
type: Patch
status: Open
subsystem: 65. Generic Window Operations
priority: 5 Medium
foundin: None
resolution: None
title: Fix/test wm geom command
comment:
  This patch adds tests to the cross platform wm.test
  file while removing them from unixWm.test. These
  tests would have made it easier to catch bug
  571600, for example.

  This patch does make one change, in the sense
  that something that did not raise an error in
  the past will raise an error in 8.4.

  A geom command like:

  wm geom . +1+-10

  Is not valid. The implementation of ParseGeometry
  would incorrectly parse this y coord as a negative
  number even though the y coord sign (saved in
  the wmPtr->flags as WM_NEGATIVE_Y) would not
  be set.

  There were other variations like "+1--10" that
  would not raise an error while parsing but would
  not act correctly either. The docs for the geom
  command state that only a single - or + character
  can come before a x or y value.


tkt_uuid: 220800ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 5 Medium
foundin: final: 8.0.5
resolution: Fixed
title: Cannot change Windows icon with iconbitmap
comment:
  OriginalBugID: 1665 RFE
  Version: 8.0.5
  SubmitDate: '1999-03-30'
  LastModified: '2000-04-03'
  Severity: LOW
  Status: Assigned
  Submitter: pat
  ChangedBy: ericm
  OS: Windows 95
  Machine: X86


  Name: Victor Hellberg

  DesiredBehavior:
      I would like to know whether the iconbitmap command is functional in
      Windows96 using TCL/Tk 8.0.5?  I am trying to change the Windows icon
      from the standard Tk icon.   I would appreciate it if you could point me
      to the link that might hold the solution to my problem.   I would also
      appreciate example code if there is available.
      




  This is currently part of the WinIco extension from Leo Schubert,
  found in our resource section. 
  -- 11/16/1999 hobbs


tkt_uuid: 220021ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 1 Zero
foundin: obsolete: 8.2
resolution: Duplicate
title: Tk text widget doesn't correctly handle multi-byte chars in regexp searches
comment:
  OriginalBugID: 2708 Bug
  Version: 8.2
  SubmitDate: '1999-09-10'
  LastModified: '1999-12-09'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 3839 2582
  OS: Windows NT
  OSVersion: 4.0sp5
  Machine: X86
  ClosedDate: '1999-12-09'


  Name:
  Vince Darley

  ReproducibleScript:
  text .t
      pack .t
      # inserts 5 a's, a bullet, an X and 5 more a's (on Windows at least)
      .t insert 1.0 "aaaaa\u2022Xaaaaa\n"
      # same thing but without a multi-byte char
      .t insert 2.0 "aaaaauXaaaaa"
      set res [.t search -backwards -count count -regexp {.X} 2.0]
      set got [.t get $res "$res + ${count}c"]
      puts stdout "Found $count chars at $res, which were '$got'"
      set res [.t search -backwards -count count -regexp {.X} 3.0]
      set got [.t get $res "$res + ${count}c"]
      puts stdout "Found $count chars at $res, which were '$got'"

  ObservedBehavior:
  The result on stdout is:
      
      Found 2 chars at 1.6, which were 'Xa'
      Found 2 chars at 2.5, which were 'uX'
      
      since the regexp in question is {.X} the first of these two results is
      clearly wrong.

  DesiredBehavior:
  I expect to see (where '*' is a bullet on Windows):
      
      Found 2 chars at 1.5, which were '*X'
      Found 2 chars at 2.5, which were 'uX'


tkt_uuid: 3460403fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 88. Themed Tk
priority: 3 Low
foundin: obsolete: 8.5.8
resolution: Invalid
title: Ttk async proc resets result of a command in main script
comment:
  I found that in the middle of execution the result of [info library] was empty.  To localize the problem, I called info library many times and at some call the result was empty, then back to normal.  After setting a watch point on object result, I found that Ttk's procedure ThemeChangedProc called Tcl_GlobalEval without preserving Tcl result.  Here's an example of stack where the result of [info library] is nullified:

    [1] libtcl.so:ResetObjResult(iPtr = 0x85b03b8), line 968 in "tclResult.c"
    [2] libtcl.so:Tcl_ResetResult(interp = (nil)), line 896 in "tclResult.c"
    [3] libtcl.so:TclEvalEx(interp = 0x85b03b8, script = 0xf697895c "ttk::ThemeChanged", numBytes = 17, flags = 0, line = 1), line 4089 in "tclBasic.c"
    [4] libtcl.so:Tcl_EvalEx(interp = 0x85b03b8, script = 0xf697895c "ttk::ThemeChanged", numBytes = -1, flags = 0), line 4043 in "tclBasic.c"
    [5] libtcl.so:Tcl_Eval(interp = 0x85b03b8, script = 0xf697895c "ttk::ThemeChanged"), line 4823 in "tclBasic.c"
    [6] libtcl.so:Tcl_GlobalEval(interp = 0x85b03b8, command = 0xf697895c "ttk::ThemeChanged"), line 5836 in "tclBasic.c"
    [7] libtk.so:ThemeChangedProc(clientData = 0x860e818), line 519 in "ttkTheme.c"
    [8] libtcl.so:TclServiceIdle(), line 738 in "tclTimer.c"
    [9] libtcl.so:Tcl_DoOneEvent(flags = 34), line 991 in "tclNotify.c"
    [10] libtk.so:MapFrame(clientData = 0x85d2c80), line 1751 in "tkFrame.c"
    [11] libtcl.so:TclServiceIdle(), line 738 in "tclTimer.c"
    [12] libtcl.so:Tcl_DoOneEvent(flags = -1), line 991 in "tclNotify.c"
    [13] libeclutil.so:EventHandlerProc( = (nil), interp = 0x85b03b8, code = 0), line 367 in "gnm.C"
    [14] libtcl.so:Tcl_AsyncInvoke(interp = 0x85b03b8, code = 0), line 240 in "tclAsync.c"
    [15] libtcl.so:TclEvalObjvInternal(interp = 0x85b03b8, objc = 1, objv = 0x86723e0, command = (nil), length = 0, flags = 524288), line 3697 in "tclBasic.c"
    [16] libtcl.so:Tcl_EvalObjv(interp = 0x85b03b8, objc = 1, objv = 0x86723e0, flags = 524288), line 3886 in "tclBasic.c"
    [17] libtcl.so:NsEnsembleImplementationCmd(clientData = 0x85bf0e0, interp = 0x85b03b8, objc = 2, objv = 0x86722d8), line 6233 in "tclNamesp.c"
    [18] libtcl.so:TclEvalObjvInternal(interp = 0x85b03b8, objc = 2, objv = 0x86722d8, command = 0x8088722 "info library] / $tcl_library"", length = 12, flags = 0), line 3690 in "tclBasic.c"
    [19] libtcl.so:TclEvalEx(interp = 0x85b03b8, script = 0x8088722 "info library] / $tcl_library"", numBytes = 12, flags = 0, line = 1), line 4338 in "tclBasic.c"
    [20] libtcl.so:TclSubstTokens(interp = 0x85b03b8, tokenPtr = 0x8671ee8, count = 4, tokensLeftPtr = (nil), line = 1), line 2254 in "tclParse.c"
    [21] libtcl.so:TclEvalEx(interp = 0x85b03b8, script = 0x8088714 "puts "lib4 = [info library] / $tcl_library"", numBytes = 43, flags = 0, line = 1), line 4232 in "tclBasic.c"
    [22] libtcl.so:Tcl_EvalEx(interp = 0x85b03b8, script = 0x8088714 "puts "lib4 = [info library] / $tcl_library"", numBytes = -1, flags = 0), line 4043 in "tclBasic.c"
    [23] libtcl.so:Tcl_Eval(interp = 0x85b03b8, script = 0x8088714 "puts "lib4 = [info library] / $tcl_library""), line 4823 in "tclBasic.c"

  I checked the latest Tk sources, 8.6b2, and the code of the function is the same.
  After I added Tcl_SaveResult and Tcl_RestoreResult to the function, the problem is gone.
  This change fixes the problem for me:

     % cleartool diff -diff -pre ttkTheme.c
     518c518,519
     <
     ---
     >     Tcl_SavedResult state;
     >     Tcl_SaveResult (pkgPtr->interp, &state);
     521a523
     >     Tcl_RestoreResult (pkgPtr->interp, &state);

  You may want to preserve the whole state, not only result.
  Good luck!


tkt_uuid: 1725782fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 05. Canvas Items
priority: 5 Medium
foundin: obsolete: 8.5a6
resolution: Fixed
title: -joinstyle default documentation
comment:
  The documentation of the line and polygon canvas items says the default for the -joinstyle option is "miter". However, it is from both source and behaviour clear that the default is rather "round".


tkt_uuid: 1751560fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 86. Test Tools
priority: 8
foundin: obsolete: 8.4.15
resolution: None
title: make test failures
comment:
  On a Sun Solaris 9 system running under CDE or Gnome 2.0, when "make test" is run it hangs indefinitely on the window.test, requiring that it be killed manually.  This problem has been confirmed by other users including Larry Virden.

  I also see two other failures:

  One is the font test which displays a message that this is expected to fail on some UNIX systems.  It would be nice if there were a check for the offending font on the system so that this test could be skipped if it were not applicable.

  The unixWm.test also fails as follows:
  --------------------------------------------------
  unixWm.test

  ==== unixWm-4.3 moving window while withdrawn FAILED ==== Contents of test case:

          wm withdraw .t
          sleep 200
          wm geom .t $geom
          update
          wm deiconify .t
          wm geom .t

  ---- Result was:
  100x150+0+26
  ---- Result should have been (exact matching):
  100x150+0+0
  ==== unixWm-4.3 FAILED 
  --------------------------------------------------

  This is almost certainly due to the fact that I have a Gnome toolbar running across the top of my screen which causes the offending 26 pixel offset.  This test should be modified to check for this condition and adjust accordingly.

  My philosophy is that a test suite needs to run 100% clean and report no errors on all target systems if it is to be truly useful.  I hope this report helps in meeting that target.

  Regards,
  -- 
  Jeffery Small


tkt_uuid: 1475172fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 16. [scrollbar]
priority: 2
foundin: obsolete: 8.5a4
resolution: None
title: TkAqua scrollbar.test failures
comment:
  13 tests fail in cvs HEAD. Some of these seem to be due to a poor 
  implementation of 'testmetrics', but the last few seem more important 
  than that.

  scrollbar.test

  ==== scrollbar-3.26 ScrollbarWidgetCmd procedure, "delta" option 
  FAILED
  ==== Contents of test case:

      .s delta 0 20

  ---- Result was:
  0.127389
  ---- Result should have been (exact matching):
  0.11976
  ==== scrollbar-3.26 FAILED


  ==== scrollbar-3.27 ScrollbarWidgetCmd procedure, "delta" option 
  FAILED
  ==== Contents of test case:

      .s delta 0 -20

  ---- Result was:
  -0.127389
  ---- Result should have been (exact matching):
  -0.11976
  ==== scrollbar-3.27 FAILED


  ==== scrollbar-3.28 ScrollbarWidgetCmd procedure, "delta" option 
  FAILED
  ==== Contents of test case:

      toplevel .t -width 250 -height 100
      wm geom .t +0+0
      scrollbar .t.s -orient horizontal -borderwidth 2
      place .t.s -width 201
      update
      set result [list [.t.s delta 0 20]  [.t.s delta [expr [getTroughSize .t.s] - 
  1] 0]]
      destroy .t
      set result

  ---- Result was:
  0 1.03704
  ---- Result should have been (exact matching):
  0 1
  ==== scrollbar-3.28 FAILED


  ==== scrollbar-3.35 ScrollbarWidgetCmd procedure, "fraction" option 
  FAILED
  ==== Contents of test case:

      .s fraction 4 21

  ---- Result was:
  0
  ---- Result should have been (exact matching):
  0.0299401
  ==== scrollbar-3.35 FAILED


  ==== scrollbar-3.38 ScrollbarWidgetCmd procedure, "fraction" option 
  FAILED
  ==== Contents of test case:

      .s fraction 4 178

  ---- Result was:
  1
  ---- Result should have been (exact matching):
  0.993711
  ==== scrollbar-3.38 FAILED


  ==== scrollbar-3.50 ScrollbarWidgetCmd procedure, "identify" option 
  FAILED
  ==== Contents of test case:

      .s identify 5 5

  ---- Result was:

  ---- Result should have been (exact matching):
  arrow1
  ==== scrollbar-3.50 FAILED


  ==== scrollbar-6.11 ScrollbarPosition procedure FAILED
  ==== Contents of test case:

      .s identify 8 4

  ---- Result was:

  ---- Result should have been (exact matching):
  arrow1
  ==== scrollbar-6.11 FAILED


  ==== scrollbar-6.12 ScrollbarPosition procedure FAILED
  ==== Contents of test case:

      .s identify 8 19

  ---- Result was:
  trough1
  ---- Result should have been (exact matching):
  arrow1
  ==== scrollbar-6.12 FAILED


  ==== scrollbar-6.25 ScrollbarPosition procedure FAILED
  ==== Contents of test case:

      .s identify 8 179

  ---- Result was:
  arrow1
  ---- Result should have been (exact matching):
  trough2
  ==== scrollbar-6.25 FAILED


  ==== scrollbar-6.39 ScrollbarPosition procedure FAILED
  ==== Contents of test case:

      .t.s identify 4 8

  ---- Result was:

  ---- Result should have been (exact matching):
  arrow1
  ==== scrollbar-6.39 FAILED


  ==== scrollbar-6.41 ScrollbarPosition procedure FAILED
  ==== Contents of test case:

      .t.s identify 82 8

  ---- Result was:
  trough2
  ---- Result should have been (exact matching):
  slider
  ==== scrollbar-6.41 FAILED


  ==== scrollbar-8.1 TkScrollbarEventProc: recursive deletion FAILED
  ==== Contents of test case:

      proc doit {args} { destroy .t.f }
      proc bgerror {args} {}
      destroy .t.f
      frame .t.f
      scrollbar .t.f.s -command doit
      pack .t.f -fill both -expand 1
      pack .t.f.s -fill y -expand 1 -side right
      wm geometry .t 100x100
      .t.f.s set 0 .5
      update
      set result [winfo exists .t.f.s]
      event generate .t.f.s <ButtonPress> -button 1 -x [expr [winfo width 
  .t.f.s] / 2] -y 5
      event generate .t <ButtonRelease> -button 1
      update
      lappend result [winfo exists .t.f.s] [winfo exists .t.f]
      rename bgerror {}
      set result

  ---- Result was:
  1 1 1
  ---- Result should have been (exact matching):
  1 0 0
  ==== scrollbar-8.1 FAILED


  ==== scrollbar-8.2 TkScrollbarEventProc: recursive deletion FAILED
  ==== Contents of test case:

      proc doit {args} { destroy .t.f.s }
      proc bgerror {args} {}
      destroy .t.f
      frame .t.f
      scrollbar .t.f.s -command doit
      pack .t.f -fill both -expand 1
      pack .t.f.s -fill y -expand 1 -side right
      wm geometry .t 100x100
      .t.f.s set 0 .5
      update
      set result [winfo exists .t.f.s]
      event generate .t.f.s <ButtonPress> -button 1 -x [expr [winfo width 
  .t.f.s] / 2] -y 5
      event generate .t.f <ButtonRelease> -button 1
      update
      lappend result [winfo exists .t.f.s] [winfo exists .t.f]
      rename bgerror {}
      set result

  ---- Result was:
  1 1 1
  ---- Result should have been (exact matching):
  1 0 1
  ==== scrollbar-8.2 FAILED


tkt_uuid: 220236ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 16. [scrollbar]
priority: 1 Zero
foundin: obsolete: 8.2
resolution: Invalid
title: let us manipulate scrollbars more
comment:
  OriginalBugID: 2835 RFE
  Version: 8.2
  SubmitDate: '1999-09-20'
  LastModified: '1999-09-20'
  Severity: LOW
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Windows 95
  Machine: X86
  ClosedDate: '1999-09-20'


  Name:
  keith lea

  DesiredBehavior:
  I'd like to be able to configure each element of the scrollbar to
      disabled, normal; a different color; whatever. it'd be nice to be able
      to configure the whole scrollbar disabled, too.
      
      i really like how StarOffice's scrollbars work: when you scroll to the
      top, the top arrow becomes disabled; when you scroll to the bottom, the
      bottom arrow becomes disabled; when you can't scroll, the scrollbar
      stays, but is disabled.
      
      I think a disabled scrollbar shouldn't have a slider, by the way (if you
      implement disabling the whole widget)



  The problem is that the scrollbar is one of the "native" widgets,
  where we use the native version on a platform.  In the case of
  Windows, this means we can't even change the background color, much
  less the individual arrows.  This seems to be what the majority of
  users wants.
   
  -- 09/20/1999 hobbs


tkt_uuid: 1185793fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 69. Events
priority: 5 Medium
foundin: obsolete: 8.4.9
resolution: None
title: extra event called in windows
comment:
  I am using Tcl/Tk 8.4.4.0 (from Activestate) however
  could not find any documentation to say that this has
  been fixed. I am running Windows 2000, and believe this
  bug does not occur in Linux (no idea about Mac).

  Basically an extra <Enter> event is called after a
  tk_popup menu is posted due to a mouseclick event.
  Below is a short list of how to reproduce the bug:

  An <Enter> event as well as another event (eg left
  click) causing a tk_popup is bound to text in a text
  widget.
  Then move the mouse over the text -> Enter event triggered
  Then click the mouse -> popup comes up
  Then click an item in the popup, or deselect the popup
  by clicking somewhere else on the screen -> Enter event
  triggered again.

  This second enter event should not be triggered!!!!

  A simple application which can show this in action is
  the 1 below, I have 2 text boxes, the first has some
  text with the bindings, the second is for output when
  the events are triggered. I have 3 events, <Enter>
  <Leave> and "left click". Try moving the mouse over the
  text, left click it, then click somewhere entirely off
  the application (or in the bottom text window, etc).
  The <Enter> event is triggered when it shouldn't have
  been, and the <Leave> event does not get called until
  the mouse is moved over the top text box again.

  Thankyou in advance.
  Lio.

  PS I searched and couldn't find this bug in the bugs.
  It appears to be the reverse of bug 873655.

  Code:

  text .input -width 20 -height 5
  pack .input

  text .input2 -width 20 -height 10
  pack .input2

  set x 0
  .input tag bind bound <Enter> {
          incr x
          .input2 insert end "enter $x\n"
          .input2 yview end
  }
  set l 0
  .input tag bind bound <Leave> {
          incr l
          .input2 insert end "leave $l\n"
          .input2 yview end
  }
  menu .amenu
  .input tag bind bound <Button1-ButtonRelease> {
          tk_popup .amenu %X %Y
  }

  .input insert end "some text" bound


tkt_uuid: 1602955fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 44. Generic Fonts
priority: 5 Medium
foundin: TIP Implementation
resolution: Accepted
title: Forthcoming TIP on [font actual]
comment:
  The attached patch is a reference implementation for a TIP that I am submitting on [font actual], adding
  a character argument and returning the font used
  to render that character, rather than the base font.


tkt_uuid: 934634ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.4.6
resolution: Duplicate
title: Tcl_DoOneEvent blocks when dialog box is open
comment:
  I am using C application with Tcl/Tk front end. I use 
  tcl84.lib and tk84.lib for Windows 2000 platform. I 
  periodically use following to refresh display and get user 
  input.
  while (Tcl_DoOneEvent(TCL_ALL_EVENTS | 
  TCL_DONT_WAIT)); 

  But this call blocks and never returns when I have modal 
  dialog (like file open or any other dialog) open in GUI. 
  When I used TCL_DONT_WAIT flag, I 
  assumed that this will return immediately, if there is no 
  event pending. But it does not work that way. Can 
  anybody explain why this is not working and how to 
  make it work?
  Thanks,
  Niraj
   


tkt_uuid: 528330ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 48. Geometry Management
priority: 5 Medium
foundin: obsolete: 8.4a4
resolution: None
title: geometry X resource ignored
comment:
  > xrdb -query | grep Wish
  Wish.geometry:  400x300
  > wish
  Wish
  % tk appname
  wish
  % option get . geometry Geometry
  400x300
  % wm geometry .
  200x200+813+25
  % winfo geometry .
  200x200+813+25

  The window should be positioned according to its
  geometry resource.

  Workaround:

  Put this at the start of the script:

  set g [option get . geometry Geometry]
  if { $g != "" } { wm geometry . $g }


tkt_uuid: 3166688fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 66. Aqua Window Operations
priority: 5 Medium
severity: Minor
foundin: current: 8.6.0
resolution: Wont Fix
title: Cocoa: using pack/forget to switch pages doesnt refresh
comment:
  Using Cocoa on OSX and grid or pack and grid/pack forget to switch between pages (similar to notebook widget) causes switching between pages not to refresh correctly.

  Refresh happens partially and rest occurs after some time.

  Noticed on Wish 8.5.7 Cocoa from OSX 10.6.2, ActiveTcl 8.6 beta 3 (beta 4 is compiled against Carbon) and Tcl/Tk Head.


tkt_uuid: 220751ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 2
foundin: obsolete: 8.3.1
resolution: Fixed
title: Shift-clicking text doesn't highlight region in Post Window's Send Data box
comment:
  OriginalBugID: 5929 Bug
  Version: 8.3.1
  SubmitDate: '2000-06-21'
  LastModified: '2000-06-21'
  Severity: LOW
  Status: Released
  Submitter: ericm
  ChangedBy: ericm
  RelatedBugIDs: 5590
  OS: All
  FixedDate: '2000-06-21'
  FixedInVersion: 8.4a2


  In Windows apps, you can normally put the cursor in one place, then scroll your whole document, then shift-click at the bottom to highlight the region between the original cursor position and the new position.  The Post Window's Send Data text box doesn't support this convention, and it's damn annoying when you want to delete pages of XML data.  Mouse drag works, but it's very slow and unreliable (since the mouse button typically releases and pushes down again half-way through the document when you're using a crappy mouse in the machine room).

  Shift-clicking should highlight the desired region.



  This might be a Tk problem. 
  -- 05/18/2000 redman

  Yep... that's how Tk does it...

  -- 05/18/2000 sven

  Jeff, this might be an RFE, but for Windows users this is a bug.  We should look into adding this functionality in 8.4 or later. 
  -- 05/18/2000 redman

  I cloned this for Tk so that I can mark the fixed in versions properly; I'm not sure what to do with the Ajuba bug except leave it open with a reference to this clone.  When the Ajuba people come back to look at the Ajuba bug, they will see that Tk has been fixed and then they can evaluate what to do in Ajuba.

  - eric


tkt_uuid: 548791ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 48. Geometry Management
priority: 5 Medium
foundin: None
resolution: Fixed
title: Bug fix for GridReqProc
comment:
  /* 
  check for gridPtr!=NULL in "if"
  It can be NULL when tk is embedded.
  */

  static void
  GridReqProc(clientData, tkwin)
      ClientData clientData;/* Grid's information 
  about
   * window that got new 
  preferred
   * geometry.  */
      Tk_Window tkwin;/* Other Tk-related 
  information
   * about the window. */
  {
      register Gridder *gridPtr = (Gridder *) clientData;

      gridPtr = gridPtr->masterPtr;
      if (gridPtr && !(gridPtr->flags & 
  REQUESTED_RELAYOUT)) {
  gridPtr->flags |= REQUESTED_RELAYOUT;
  Tcl_DoWhenIdle(ArrangeGrid, (ClientData) 
  gridPtr);
      }
  }


tkt_uuid: 412042ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 37. [tk_get*File]
priority: 7 High
foundin: None
resolution: Fixed
title: increase file open -multiple capability
comment:
  THe current tk_getOpenFile -multiple is limited to 
  opening 260 bytes worth of data in the 
  format '<dir>\0<file1>\0<file2>\0...<fileN>\0\0'.  The 
  attached patch documents this better and increases 
  that amount to 260*20 (which allows for over 300 files 
  to be opened).


tkt_uuid: 2879789fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 10. Generic Menus
priority: 7 High
foundin: obsolete: 8.6b1
resolution: Fixed
title: Item activating does not work as expected in torn-off menus
comment:
  Consider the following example:


  . configure -menu .m

  menu .m
  .m add cascade -label "test" -menu .m.t

  menu .m.t
  .m.t add cascade -label "one" -menu .m.t.s1
  .m.t add cascade -label "two" -menu .m.t.s2

  menu .m.t.s1
  menu .m.t.s2



  Tear the "test" menu off. Expand the menu window width for better effect. Now move the mouse pointer over the submenu arrows - no item gets activated. Item activation occurs only when you move the mouse pointer between the left edge of the menu and the end of the menu item label, but when the item gets activated, the highlight is as wide as the menu window.

  The attached patch fixes this behaviour to what one would expect from a real menu.


tkt_uuid: 923890ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 04. Canvas Basics
priority: 5 Medium
foundin: None
resolution: Duplicate
title: saving canvas area as PNG/BMP/GIF
comment:
  I just encountered this problem/shortcoming and had
  quite a fieldtrip working around it. I program in
  Python and generate vector graphics that the user can
  manipulate, scroll, scale blablabla. To do this I use
  Python/Tkinter. As the graphics object I use the
  canvas. To save the images I either export to
  postscript or export postscript to file (or StringIO)
  and load that with PIL (Python Image Library). Using
  PIL you can convert PS to *dozens* of formats.

  Since my enviroment is unix I never encountered a problem.

  Enter windows. Postscript itself isn't the common
  format of image to be included in documents. The canvas
  generated postscript - though Tkinter makes a big point
  of sticking to the exact PS rules - can't even be
  parsed by gimp.
  PIL does also exist on windows, BUT to parse Postscript
  it uses external programs common on unix, not included
  on windows. After doing some searching I found out
  there simply is no way to do it on windows unless you
  do screen grabs...

  my suggestion:
  making the canvas capable of exporting not only as
  postscript but also in some common image format, e.g.
  PNG, BMP or (uncompressed) GIF.

  I'd even be willing to supply a patch.


tkt_uuid: 220491ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 2
foundin: obsolete: 8.1b3
resolution: Fixed
title: TkMan will not work without dash patched Tk
comment:
  OriginalBugID: 1779 RFE
  Version: 8.1b3
  SubmitDate: '1999-04-12'
  LastModified: '1999-12-13'
  Severity: MED
  Status: Released
  Submitter: pat
  ChangedBy: hobbs
  OS: Other
  Machine: NA
  FixedDate: '1999-12-13'
  FixedInVersion: 8.3b1


  Name:
  Bruce Stephens

  DesiredBehavior:
  TkMan is an excellent advertisement for Tcl/Tk.  But it requires a patch
      to the core--the elide patch (to provide elided text in text widgets).
      The patch is relatively small, and seems harmless (although it doesn't
      seem to have tests or documentation).  I think it would be worth
      expending a little effort to get it into the core---otherwise everyone
      that wants to use this excellent application needs to use a patched Tk.



  This is also part of the dash patch.  This could be considered if
  it had FULL tests and documentation. 
  -- 08/06/1999 hobbs
  In 8.3b1. 
  -- 12/13/1999 hobbs


tkt_uuid: 922427ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 56. [grab]
priority: 5 Medium
foundin: None
resolution: None
title: Grabs get confused with multiple interpreters
comment:
  I'm not sure if this is the right category, or even if
  I'm doing something I'm not supposed to, but I got some
  very strange behaviour which I'd better report...

  If you have Tk running in two interpreters, and one of
  them executes a grab command, then if the other tries
  to do so as well an error dialogue is produced that
  cannot be killed. Here's a simple example:

  [jaspert@spirograph jaspert]$ /usr/local/ActiveTcl/bin/wish
  % info patchlevel
  8.4.6
  % set foo [interp create]
  interp0
  % $foo eval package require Tk
  8.4
  % pack [button .b -text Test -command tk_getOpenFile]
  % # Clicking button results in file dialogue
  % $foo eval grab .
  % bgerror failed to handle background error.
      Original error: grab failed: another application
  has grab
      Error in bgerror: grab failed: another application
  has grab

  The above is produced when ckicking the Test button,
  followed by OK or Cancel in the file dialogue. At this
  stage an Application Error dialogue is also produced,
  which expands when the Show Details button is hit, but
  cannot be removed. That dialogue has this text:

  grab failed: another application has grab
  grab failed: another application has grab
      while executing
  "grab $oldGrab"
      (procedure "::tk::RestoreFocusGrab" line 21)
      invoked from within
  "::tk::RestoreFocusGrab $w $data(ent) withdraw"
      (procedure "::tk::dialog::file::" line 94)
      invoked from within
  "::tk::dialog::file:: save -title {Select Log File}
  -filetypes {{{Log Files} .log} {{Text Files} .txt}
  {{All Files} *}} -defaultextension .log -parent ..."
      ("eval" body line 1)
      invoked from within
  "eval ::tk::dialog::file:: save $args"
      (procedure "tk_getSaveFile" line 5)
      invoked from within
  "tk_getSaveFile -title [mc "Select Log File"] 
  -filetypes $types -defaultextension .log -parent
  .bgerrorDialog"
      (procedure "SaveToLog" line 8)
      invoked from within
  "SaveToLog {grab failed: another application has grab
  grab failed: another application has grab
      while executing
  "grab $oldGrab"
      (procedure "::t..."
      (in namespace inscope "::tk::dialog::error" script
  line 1)
      invoked from within
  "::namespace inscope ::tk::dialog::error SaveToLog
  {grab failed: another application has grab
  grab failed: another application has grab
      while execu..."
      invoked from within
  ".bgerrorDialog.function invoke"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 [list $w invoke]"
      (procedure "tk::ButtonUp" line 22)
      invoked from within
  "tk::ButtonUp .bgerrorDialog.function"
      (command bound to event)

  I'm not sure what ought to happen; either the grab
  should apply to both interpreters, which I'd prefer, or
  they should be independent of one another like
  different processes.


tkt_uuid: 220025ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 1 Zero
foundin: final: 8.0.5
resolution: Duplicate
title: performance signifcantly degraded as toplevel windows are created and destroyed
comment:
  OriginalBugID: 2824 Bug
  Version: 1.2
  SubmitDate: '1999-09-17'
  LastModified: '2000-01-25'
  Severity: SER
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 3220
  OS: IRIX
  OSVersion: IRIX64 Release 6.5
  Machine: Other
  ClosedDate: '2000-01-25'


  Name:
  Jamie Hecker

  ReproducibleScript:
  prowish80

      proc test {} {

          set top [toplevel .toplevel]

          ::wm geometry $top 400x800+600+100

          set canvas [canvas $top.sc -width 400 -height 1000]
          frame $canvas.win -width 100 -height 1000
          $canvas create window 300 25  -window $canvas.win -anchor n

          for {set i 1} {$i <= 200} {incr i} {

      $canvas create text 10 [expr $i * 50]  -text "simple text row $i"  -anchor w

      scale $canvas.win.scale$i -width 5 -label "scale2 $i"  -orient horizontal -length 100

      place $canvas.win.scale$i -in $canvas.win -x 0  -y [expr $i * 50]  -anchor w 

          }

          place $top.sc -x 0 -y 0
          return $top
      }

      for {set i 0} {$i < 100} {incr i} {

          set iteration_time [time "test; update idletasks; destroy .toplevel
      "]

          puts "$i: $iteration_time"

      }
      test

  ObservedBehavior:
  some numbers from test case, plus other tests:
      in ProWish:

      canvas + canvas window w/widgets

      with update idletasks:

       0: 261930 microseconds per iteration
      99: 1830730 microseconds per iteration

      without update idletasks:

       0: 218885 microseconds per iteration
      99: 667507 microseconds per iteration

      -------------------------------------

      canvas

      with update idletasks:
       0: 91939 microseconds per iteration
      99: 100183 microseconds per iteration

      without update idletasks:
       0: 29581 microseconds per iteration
      99: 23144 microseconds per iteration

      -------------------------------------

      frame w/widgets

      with update idletasks:

       0: 197152 microseconds per iteration
      99: 750818 microseconds per iteration

      without update idletasks:

       0: 86721 microseconds per iteration
      99: 656355 microseconds per iteration

      -------------------------------------

      the numbers indicate that it is taking around 7 times as long to
      construct and destroy the window when using Prowish80.  The 100th window
      also fells (from a user standpoint) around 7 times slower when using.
      In more complicated examples with scrolling canvases, multiple widgets
      etc, it is nearly impossible to scroll without multiple second update
      times (when these windows are first created they work interactively).
      It should be noted that Wish80 and itkwish3.0 do not exibit this
      behavior.  On some of our apps, they become unusable after an hour or so
      of real world usage.  This is unacceptable.

  DesiredBehavior:
  In both Wish8.0 and itkwish3.0 there is little if any performance
      degredation.   Even when the windows take slightly longer to create,
      there appears to be no perfomance hit when interacting with the widgets.
       Is there any fixes for these problems?  The problems also exist in our
      wrapped applications


tkt_uuid: 220723ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.3
resolution: Fixed
title: Speed up for motif file browser
comment:
  OriginalBugID: 4998 RFE
  Version: 8.3
  SubmitDate: '2000-04-11'
  LastModified: '2000-07-28'
  Severity: LOW
  Status: Released
  Submitter: techsupp
  ChangedBy: ericm
  OS: All Unix
  FixedDate: '2000-07-28'
  FixedInVersion: 8.4a2


  Name:

  James Bonfield



  Comments:

  tk8.3 has a substantially faster file browser than tk8.0, but it's still

      trivial to speed up further.

      My solution removes multiple file globs and stats, which can really kill

      performance on slow NFS networks. Also the sorting is performed on the

      split directory and file lists, rather than the combined list. Combined

      these give a 2x speed up.

      

      We use the Motif style browser instead of the standard one as the

      standard browser as the standard one is simply so slow that it can be

      unusable. Admittedly we have many files, but users were reporting pauses

      of minutes. A very rough estimation shows that the standard browser is

      about 20 times slower than the motif look-alike version.



  DesiredBehavior:

  The Motif style file browser is sped up.



  Patch:

  *** orig/xmfbox.tcl     Wed Apr  5 17:50:25 2000

  --- new/xmfbox.tcl      Thu Apr  6 12:08:23 2000

  ***************

  *** 470,501 ****

          return

        }

    

  !     # Make the dir list

        #

  !     foreach f [lsort -dictionary [glob -nocomplain .* *]] {

  !       if {[file isdir ./$f]} {

  !           $data(dList) insert end $f

  !       }

  !     }

  !     # Make the file list

        #

  !     if {[string equal $data(filter) *]} {

  !       set files [lsort -dictionary [glob -nocomplain .* *]]

  !     } else {

  !       set files [lsort -dictionary \

  !           [glob -nocomplain $data(filter)]]

  !     }

  ! 

        set top 0

  !     foreach f $files {

  !       if {![file isdir ./$f]} {

  !           regsub {^[.]/} $f "" f

  !           $data(fList) insert end $f

  !           if {[string match .* $f]} {

  !               incr top

              }

          }

        }

    

        # The user probably doesn't want to see the . files. We adjust the view

        # so that the listbox displays all the non-dot files

  --- 470,500 ----

          return

        }

    

  !     # Make the dir and file lists

        #

  !     # For speed we only have one glob, which reduces the file system

  !     # calls (good for slow NFS networks).

        #

  !     # We also do two smaller sorts (files + dirs) instead of one large sort,

  !     # which gives a small speed increase.

  !     #

        set top 0

  !     set dlist ""

  !     set flist ""

  !     foreach f [glob -nocomplain .* *] {

  !       if {[file isdir ./$f]} {

  !           lappend dlist $f

  !       } else {

  !           if {[string match $data(filter) $f]} {

  !               if {[string match .* $f]} {

  !                   incr top

  !               }

  !               lappend flist $f

              }

          }

        }

  +     eval $data(dList) insert end [lsort -dictionary $dlist]

  +     eval $data(fList) insert end [lsort -dictionary $flist]

    

        # The user probably doesn't want to see the . files. We adjust the view

        # so that the listbox displays all the non-dot files



  PatchFiles:

  xmfbox.tcl





  Thanks for the patch; it has been applied to the CVS sources and the fix will be included in Tcl/Tk 8.4a2.

     Eric Melski                            The Other Tcl Guy
     ericm at ajubasolutions.com            Ajuba Solutions

  -- 07/28/2000 ericm


tkt_uuid: 470331ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 12. Unix Menus
priority: 5 Medium
foundin: obsolete: 8.5.4
resolution: Accepted
title: Displaced Menus do not stay open.
comment:
  When
  a) a menubutton is near the lower edge of the screen
  b) the user tries to open the menu with a simple click
     (and immediately releases the mouse button)
  c) the menu is too long to be displayed in full
  length     on the remaining screen space and is
  displaced:

  the menu will immediately disappear again, selecting
  an entry that is under the mouse pointer after
  displacement. The user has no chance to select, nor
  does he even see what he selected. Anything including
  some really evil things like deleting files etc. can
  happen.

  Expected behaviour:
  The menu should simply stay open as it is doing
  when it does not need to be displaced.

  Note: On Windows this works as expected!
  No test has been performed on the Mac.
  Xaw(3D) does it wrong too, Motif/GTK do it right
  but displace in a different way.

  Sample Script:
  Run it. Place the window on the lower edge of your
  screen. Do a single click on "File". The application
  quits unexpectedly...

  -snip-
  # Create a menubar 
  # 
  menu .mb -type menubar 
  . config -menu .mb 
  .mb add cascade -label File -underline 0 -menu .mb.file 
  menu .mb.file -tearoff 0 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 
  .mb.file add command -label Exit -command exit 

  frame .f -width 200 -height 100 
  pack .f -side top -fill both -expand 1 
  update 
  -snap-


tkt_uuid: 220797ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: 39. Image Basics
priority: 7 High
foundin: None
resolution: None
title: images should have better introspection
comment:
  OriginalBugID: 1529 RFE
  Version: 8.1b2
  SubmitDate: '1999-03-18'
  LastModified: '2000-04-03'
  Severity: LOW
  Status: Assigned
  Submitter: pat
  ChangedBy: ericm
  OS: Windows NT
  OSVersion: 4
  Machine: X86


  Name:
  Bryan Oakley

  DesiredBehavior:
      It would be really great if tk could report on the formats that it
      presently knows about, and which ones can be read and which ones can be
      written. This would help in the development of image handling tools, as
      these programs could determine more easily what extensions to put in a
      file open or save dialog.
      
      Something along the lines of this would be nice:
      
          image info photo read
          image info photo write
      
      (... and of course, complimentary functions for the other types; eg:
      [image info bitmap read], etc..)
      




  This should not be too difficult -- Tk already keeps track of supported formats somewhere, if memory serves.

  - eric

  -- 04/03/2000 ericm


tkt_uuid: 3598814fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 45. Aqua Fonts
priority: 5 Medium
foundin: None
resolution: Invalid
title: Invalid kern table error for 'font metrics'
comment:
  Mac OS X 10.7.5 and 10.8.2

  If you have the Microsoft Word 2011 font called "Bauhaus 93" and you execute this script:

       foreach family [lsort -dictionary [font families]] {
       font create TempFont -family ${family}
       if {[font metrics TempFont -fixed]} {
          puts $family
       }
       font delete TempFont
       }

  You will get this error:

       2012-12-28 18:30:53.879 Wish[18563:507] CoreText: Invalid 'kern' Table In CTFont <name: Bauhaus93, size: 13.000000, matrix: 0x0>
       CTFontDescriptor <attributes: <CFBasicHash 0x4001ffca0 [0x7fff7bed1fa0]>{type = mutable dict, count = 1, entries =>
       2 : <CFString 0x7fff7c552b38 [0x7fff7bed1fa0]>{contents = "NSFontNameAttribute"} = <CFString 0x400946f00 [0x7fff7bed1fa0]>
       {contents = "Bauhaus93"}}>

  tk/wish appears to be version 8.5 based on this line in /usr/bin/wish:

       "$(dirname $0)/../../System/Library/Frameworks/Tk.framework/Versions/8.5/Resources/Wish.app/Contents/MacOS/Wish" "$@"


tkt_uuid: 3609354fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 41. Photo Images
priority: 5 Medium
foundin: current: 8.6.0
resolution: Fixed
title: Tk crashes with zlib-less tcl on init
comment:
  InitPNGImage() calls Tcl_ZlibStreamInit() with a NULL interpreter.

  If Tcl was (accidentially in my case) configured without HAVE_ZLIB, that function does not check for a NULL interpreter when reporting an error and crashes. 


tkt_uuid: 540375ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 43. Photo Image|PPM
priority: 5 Medium
foundin: None
resolution: Fixed
title: ppm photo images: support -data option
comment:
  Error in startup script: -data option isn't supported
  for PPM images
      while executing
  "image create photo -format PPM -data $str"

  So, support it.


tkt_uuid: 678939ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 48. Geometry Management
priority: 5 Medium
foundin: None
resolution: None
title: reqwidth and reqheight not reset
comment:
  A frame's reqwidth and reqheight are not reset after
  children/slaves are removed.

  When a frame is created (with default -width 0 -height
  0), the frame has a reqwidth and reqheight of 1 pixel.
  When packing/griding a child label, for example, the
  frame's reqwidth/height increases to accomodate its
  child. After the child widget is
  destroyed/unpacked/ungrided, I believe the frame's
  reqwidth/height should return to 1 pixel, but it
  remains the same.

    set f [frame .f]
    set l [label .f.l -text "Hello World"]

    pack $f -e 1 -f both
    puts "$f reqwidth='[winfo reqwidth $f]'
  reqheight='[winfo reqheight $f]'"

    pack $l
    update
    puts "$f reqwidth='[winfo reqwidth $f]'
  reqheight='[winfo reqheight $f]'"

    destroy $l
    update
    puts "$f reqwidth='[winfo reqwidth $f]'
  reqheight='[winfo reqheight $f]'"

  returns:

  .f reqwidth='1' reqheight='1'
  .f reqwidth='71' reqheight='20'
  .f reqwidth='71' reqheight='20'

  This happens on Linux, tcl_patchLevel 8.3.4 / 8.4.0 / 8.4.1


tkt_uuid: 3119824fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 18. [text]
priority: 5 Medium
foundin: obsolete: 8.4.16
resolution: None
title: Enter doesn't work in text input box
comment:
  Sorry if this is in the wrong place: I'm assuming that it's your responsibility as a toolkit, but it might just be something stupid that client programs are doing.

  git gui's Commit Message text input widget doesn't respond to the Enter key (on the keypad) but it responds to the Return key (on the main keboard area) fine.

  I wonder whether this is a regression caused by fixing bugs 1233009 1327482 and 787402.

  If this is in fact a git-gui bug (them failing to bind enter properly or something) or is fixed in the latest version of tk, I'm sorry for wasting your time.


tkt_uuid: 748859ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: obsolete: 8.4.3
resolution: None
title: tk8.4.3 test failures on Tru64Unix 5.1A
comment:
  I have some pending bugs on the tcl side for this
  platform, so those might be the underlying problem ...
  I cannot judge. Here's what I got. Could anyone help?
  Thanks!


  ==== focus-5.1 ChangeXFocus procedure, don't take focus
  unless have it FAILED
  ==== Contents of test case:

      focusSetup
      focus -force .t
      update
      set result [focus]
      send [dobg {tk appname}] {focus -force .; update}
      lappend result [focus]
      focus .t.b2
      update
      lappend result [focus]

  ---- Result was:
  .t .t {}
  ---- Result should have been (exact matching):
  .t {} {}
  ==== focus-5.1 FAILED


  ==== listbox-4.1 ConfigureListbox procedure FAILED
  ==== Contents of test case:

      catch {destroy .l}
      listbox .l -setgrid 1 -width 25 -height 15
      pack .l
      update
      set x [getsize .]
      .l configure -setgrid 0
      update
      list $x [getsize .]

  ---- Result was:
  25x15 26x16
  ---- Result should have been (exact matching):
  25x15 185x263
  ==== listbox-4.1 FAILED


  ==== listbox-9.2 ListboxCmdDeletedProc procedure,
  disabling -setgrid FAILED
  ==== Contents of test case:
      catch {destroy .top}
      toplevel .top
      wm geom .top +0+0
      listbox .top.l -setgrid 1 -width 20 -height 10
      pack .top.l
      update
      set x [wm geometry .top]
      rename .top.l {}
      update
      lappend x [wm geometry .top]
      destroy .top
      set x

  ---- Result was:
  20x10+0+0 21x11+0+0
  ---- Result should have been (exact matching):
  20x10+0+0 150x178+0+0
  ==== listbox-9.2 FAILED


  ==== listbox-13.3 ListboxScanTo procedure FAILED
  ==== Contents of test case:

      .l yview moveto 1.0
      .l xview moveto 1.0
      .l scan mark 10 20
      .l scan dragto 5 10
      update
      set x [list [.l xview] [.l yview]]
      .l scan dragto [expr 5+$width] [expr 10+$height]
      update
      lappend x [.l xview] [.l yview]

  ---- Result was:
  {0.8 1} {0.75 1} {0.64 0.84} {0.25 0.5}
  ---- Result should have been (exact matching):
  {0.8 1} {0.75 1} {0.62 0.82} {0.25 0.5}
  ==== listbox-13.3 FAILED


  ==== spinbox-5.7 ConfigureSpinbox procedure FAILED
  ==== Contents of test case:

      catch {destroy .e}
      spinbox .e -font $fixed -width 4 -xscrollcommand scroll
      pack .e
      .e insert end "01234567890"
      update
      .e configure -width 5
      set scrollInfo

  ---- Result was:
  0.315789 0.842105
  ---- Result should have been (exact matching):
  0 0.363636
  ==== spinbox-5.7 FAILED


  ==== spinbox-7.1 InsertChars procedure FAILED
  ==== Contents of test case:

      .e delete 0 end
      .e insert 0 abcde
      .e insert 2 XXX
      update
      list [.e get] $contents $scrollInfo

  ---- Result was:
  abXXXcde abXXXcde {0.315789 0.842105}
  ---- Result should have been (exact matching):
  abXXXcde abXXXcde {0 1}
  ==== spinbox-7.1 FAILED


  ==== spinbox-17.4 SpinboxUpdateScrollbar procedure FAILED
  ==== Contents of test case:

      destroy .e
      set x "Background error did not happen"
      proc bgerror msg {
          global x
          set x $msg
      }
      spinbox .e -width 5 -xscrollcommand thisisnotacommand
      pack .e
      update
      rename bgerror {}
      list $x $errorInfo

  ---- Result was:
  {Background error did not happen} {bad spinbox index "1xyz"
      while executing
  ".e index 1xyz"}
  ---- Result should have been (exact matching):
  {invalid command name "thisisnotacommand"} {invalid
  command name "thisisnotacommand"
      while executing
  "thisisnotacommand 0 1"
      (horizontal scrolling command executed by .e)}
  ==== spinbox-17.4 FAILED


  ==== spinbox-19.8 spinbox widget validation FAILED
  ==== Contents of test case:

      focus -force .e
      # update necessary to process FocusIn event
      update
      set ::vVals

  ---- Result was:

  ---- Result should have been (exact matching):
  .e -1 -1 abcd abcd {} focus focusin
  ==== spinbox-19.8 FAILED


  ==== spinbox-19.9 spinbox widget validation FAILED
  ==== Contents of test case:

      focus -force .
      # update necessary to process FocusOut event
      update
      set ::vVals

  ---- Result was:

  ---- Result should have been (exact matching):
  .e -1 -1 abcd abcd {} focus focusout
  ==== spinbox-19.9 FAILED

  text.test

  ==== text-15.2 TextCmdDeletedProc procedure, disabling
  -setgrid FAILED
  ==== Contents of test case:

      catch {destroy .top}
      toplevel .top
      wm geom .top +0+0
      text .top.t -setgrid 1 -width 20 -height 10
      pack .top.t
      update
      set x [wm geometry .top]
      rename .top.t {}
      update
      lappend x [wm geometry .top]
      destroy .top
      set x

  ---- Result was:
  20x10+0+0 21x11+0+0
  ---- Result should have been (exact matching):
  20x10+0+0 150x140+0+0
  ==== text-15.2 FAILED

  textBTree.test
  textDisp.test
  choutextImage.test
  textIndex.test
   jatextMark.test
  textTag.test

  ==== textTag-16.2 TkTextPickCurrent procedure FAILED
  ==== Contents of test case:

      event gen .t <ButtonRelease-1> -state 0x100 -x $x1
  -y $y1
      event gen .t <Motion> -x $x2 -y $y2
      set x [.t index current]
      .t tag add big 3.0
      update
      lappend x [.t index current]

  ---- Result was:
  3.2 3.2
  ---- Result should have been (exact matching):
  3.2 3.1
  ==== textTag-16.2 FAILED

  textWind.test
  tk.test
  unixButton.test
  unixEmbed.test

  ==== unixEmbed-5.1 EmbedFocusProc procedure, FocusIn
  events FAILED
  ==== Contents of test case:

      deleteWindows
      frame .f1 -container 1 -width 200 -height 50
      pack .f1
      dobg "set w1 [winfo id .f1]"
      dobg {
          eval destroy [winfo child .]
          toplevel .t1 -use $w1
          bind .t1 <FocusIn> {lappend x "focus in %W"}
          bind .t1 <FocusOut> {lappend x "focus out %W"}
          set x {}
      }
      focus -force .f1
      update
      dobg {set x}

  ---- Result was:

  ---- Result should have been (exact matching):
  {focus in .t1}
  ==== unixEmbed-5.1 FAILED


  ==== unixEmbed-5.3 EmbedFocusProc procedure, FocusOut
  events FAILED
  ==== Contents of test case:

      deleteWindows
      frame .f1 -container 1 -width 200 -height 50
      pack .f1
      dobg "set w1 [winfo id .f1]"
      dobg {
          eval destroy [winfo child .]
          toplevel .t1 -use $w1
          bind .t1 <FocusIn> {lappend x "focus in %W"}
          bind .t1 <FocusOut> {lappend x "focus out %W"}
          set x {}
      }
      focus -force .f1
      update
      set x [dobg {update; set x}]
      focus .
      update
      list $x [dobg {update; set x}]

  ---- Result was:
  {} {}
  ---- Result should have been (exact matching):
  {{focus in .t1}} {{focus in .t1} {focus out .t1}}
  ==== unixEmbed-5.3 FAILED


  ==== unixEmbed-7.2 TkpRedirectKeyEvent procedure, don't
  forward keystroke width FAILED
  ==== Contents of test case:

      deleteWindows
      frame .f1 -container 1 -width 200 -height 50
      pack .f1
      dobg "set w1 [winfo id .f1]"
      dobg {
          eval destroy [winfo child .]
          toplevel .t1 -use $w1
      }
      update
      focus -force .f1
      update
      bind . <KeyPress> {lappend x {key %A}}
      set x {}
      set y [dobg {
          update
          bind .t1 <KeyPress> {lappend y {key %A}}
          set y {}
          event generate .t1 <KeyPress> -keysym b
          set y
      }]
      update
      bind . <KeyPress> {}
      list $x $y

  ---- Result was:
  {{key b}} {}
  ---- Result should have been (exact matching):
  {} {{key b}}
  ==== unixEmbed-7.2 FAILED


  ==== unixEmbed-8.1 TkpClaimFocus procedure FAILED
  ==== Contents of test case:

      deleteWindows
      frame .f1 -container 1 -width 200 -height 50
      frame .f2 -width 200 -height 50
      pack .f1 .f2
      dobg "set w1 [winfo id .f1]"
      dobg {
          eval destroy [winfo child .]
          toplevel .t1 -use $w1 -highlightthickness 2 -bd
  2 -relief sunken
      }
      focus -force .f2
      update
      list [dobg {
          focus .t1
          set x [list [focus]]
          update
          after 500
          update
          lappend x [focus]
      }] [focus]

  ---- Result was:
  {{} {}} .f1
  ---- Result should have been (exact matching):
  {{} .t1} .f1
  ==== unixEmbed-8.1 FAILED


  ==== unixEmbed-8.2 TkpClaimFocus procedure FAILED
  ==== Contents of test case:

      catch {interp delete child}
      deleteWindows
      frame .f1 -container 1 -width 200 -height 50
      frame .f2 -width 200 -height 50
      pack .f1 .f2
      interp create child
      child eval "set argv {-use [winfo id .f1]}"
      load {} Tk child
      child eval {
          . configure -bd 2 -highlightthickness 2 -relief
  sunken
      }
      focus -force .f2
      update
      list [child eval {
          focus .
          set x [list [focus]]
          update
          lappend x [focus]
      }] [focus]

  ---- Result was:
  {{} {}} .f1
  ---- Result should have been (exact matching):
  {{} .} .f1
  ==== unixEmbed-8.2 FAILED

  unixFont.test
  unixMenu.test

  ==== unixMenu-18.1 GetTearoffEntryGeometry FAILED
  ==== Contents of test case:

      catch {destroy .m1}
      menubutton .mb -text "test" -menu .mb.m
      menu .mb.m
      .mb.m add command -label test
      pack .mb
      raise .
      list [catch {tk::MbPost .mb} msg] $msg
  [tk::MenuUnpost .mb.m] [destroy .mb]

  ---- Result was:
  1 {grab failed: window not viewable} {} {}
  ---- Result should have been (exact matching):
  0 {} {} {}
  ==== unixMenu-18.1 FAILED




  Tests ended at Wed Jun 04 15:44:11 MEST 2003
  all.tcl:        Total   8373    Passed  7538    Skipped
  818     Failed  17
  Sourced 182 Test Files.
  Files with failing tests: focus.test listbox.test
  spinbox.test text.test textTag.test unixEmbed.test
  unixMenu.test
  Number of tests skipped for each constraint:
          14      altDisplay
          16      colorsFree
          5       emptyTest
          1       knownBug
          310     macOnly
          20      macOrPc
          113     nonPortable
          35      nt
          233     pcOnly
          4       pseudocolor
          4       pseudocolor8
          11      testmetrics
          1       userInteraction
          51      winSend


tkt_uuid: 488416ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 83. Mac OS X Build
priority: 5 Medium
foundin: None
resolution: Out of Date
title: MacOSX bundling for Aqua and X11
comment:
  Hi,

  The OSX port is great work, thanks for the native, X-indepent port. That is great for standalone apps. using only Tk.

  However, we also need a build for X11, to use with other opens source stuff linked with Tk and X11 (and other stuff, e.g. OpenGl in my case). I have hacked something together, which works : kinda merge AppInit.c's of Unix and MacOSX, and build for unix (undefing all Mac related stuff). I suggest packaging 2 different binary versions in the framework, e.g. 8.4 and 8.4X.

  I also have other suggestions for MacOSX bundling : rbarrow@users.sourceforge.net


tkt_uuid: 1428162fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 70. Event Loop
priority: 5 Medium
foundin: obsolete: 8.4.12
resolution: Wont Fix
title: vwait does not return if title bar clicked
comment:
  An Application with a toplevel window contains a vwait
  command. Even if the return condition is satisfied, the
  vwait does not terminate, if a user klicks and holds
  the mouse on the title bar.

  Platform: Windows XP
  TCL/TK: 8.4.12

  Demo script:

      set c [clock seconds]
      after 2000 "set a 1"
      vwait a
      puts [expr [clock seconds] - $c]

  Start the demo script with wish and click the title bar
  within 2 seconds for at least 5 seconds. The resulting
  vwait time will be at least the hold time (5 seconds).


tkt_uuid: 619544ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 41. Photo Images
priority: 7 High
foundin: obsolete: 8.4.0
resolution: Fixed
title: Can't create image
comment:
  Platform: ALPHA, Tru UNIX v5.1

  Cannot create photo image:

  seabbvsta0085> wish8.4
  % image create photo image1 -file tai-ku.gif
  not enough free memory for image buffer


  No matter what image i try to create, I always get the 
  same error. Bitmaps seems to work though.


tkt_uuid: 220092ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 99. Other
priority: 1 Zero
foundin: obsolete: 8.4a1
resolution: Duplicate
title: menu items with indicators and AVWXYZ drawn incorrectly
comment:
  OriginalBugID: 6177 Bug
  Version: 8.4a1
  SubmitDate: '2000-08-29'
  LastModified: '2000-08-29'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: ericm
  RelatedBugIDs: 6134
  OS: Windows NT
  OSVersion: 4.0sp6
  FixedDate: '2000-08-29'


  Name:
  Vincent Darley

  ReproducibleScript:
  wish
  % tk_optionMenu .b var A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  .b.menu
  % pack .b

  ObservedBehavior:
  Now select any of A V W X Y Z to see the problem: the leftmost
  pixels of the character are not drawn properly, some pixels are missing.



  This is a duplicate of [Bug: 6134].  I have applied the patch from that bug report, which corrected the problem.  The fix will be included with Tk 8.4a2.  Thanks for your report,

     Eric Melski                            The Other Tcl Guy
     ericm at ajubasolutions.com            Ajuba Solutions

  -- 08/29/2000 ericm


tkt_uuid: 1374556fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: None
priority: 5 Medium
foundin: obsolete: 8.4.12
resolution: None
title: sparc solaris 8 test results in lots of errors
comment:
  SPARC Solaris 8, accessed via Exceed 8.0.0.0 on a
  Windows XP SP2 system.

  Tcl 8.4.12 RC 3 and Tk 8.4.12 RC 2

  Configured via 
  ./configure  --prefix=/tmp --enable-threads
  --enable-shared --enable-symbols --enable-langinfo

  I am attaching the results of the "make test" - 44
  tests failed. 

  Caveat - this is the first time I've run the test
  through Exceed. Normally I run the test straight on
  Solaris.
  So I don't have any experience for comparison.


tkt_uuid: 220344ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 05. Canvas Items
priority: 2
foundin: obsolete: 8.0
resolution: Fixed
title: Bounding box of 'arc' items with '-style
comment:
  OriginalBugID: 570 Bug
  Version: 8.0
  SubmitDate: '1998-04-15'
  LastModified: '1998-07-27'
  Severity: LOW
  Status: Released
  Submitter: rjohnson
  ChangedBy: rjohnson
  OS: All
  OSVersion: NA
  Machine: NA
  FixedInVersion: 8.0.3
  ClosedDate: '1998-07-27'


  >Arc items on a canvas with '-style chord' have bounding boxes that are
  >far
  >too generous, because they include the center of the circle.
  >
  >Test script:

  pack [canvas .c -width 510 -height 120]
  .c create text 50 0 -text "Arc" -anchor n
  .c create arc -100 10 100 210 -start 10 -extent 50 -style arc -tags arc1
  eval .c create rectangle [.c bbox arc1]
  .c create text 250 0 -text "Chord" -anchor n
  .c create arc 100 10 300 210 -start 10 -extent 50 -style chord -tags arc2
  eval .c create rectangle [.c bbox arc2]
  .c create text 450 0 -text "Pieslice" -anchor n
  .c create arc 300 10 500 210 -start 10 -extent 50 -style pieslice -tags arc3
  eval .c create rectangle [.c bbox arc3]

  Suggested patch is to tkCanvArc.c (patch applies to 8.0 base, may need to be relocated for other revisions):

  >*** tkCanvArc.c        1998/02/16 21:58:32     1.1
  >--- tkCanvArc.c        1998/02/16 21:59:10
  >***************
  >*** 545,551 ****
  >      TkIncludePoint((Tk_Item *) arcPtr, arcPtr->center2);
  >      center[0] = (arcPtr->bbox[0] + arcPtr->bbox[2])/2;
  >      center[1] = (arcPtr->bbox[1] + arcPtr->bbox[3])/2;
  >!     if (arcPtr->style != arcUid) {
  >       TkIncludePoint((Tk_Item *) arcPtr, center);
  >      }
  >  
  >--- 545,551 ----
  >      TkIncludePoint((Tk_Item *) arcPtr, arcPtr->center2);
  >      center[0] = (arcPtr->bbox[0] + arcPtr->bbox[2])/2;
  >      center[1] = (arcPtr->bbox[1] + arcPtr->bbox[3])/2;
  >!     if (arcPtr->style == pieSliceUid) {
  >       TkIncludePoint((Tk_Item *) arcPtr, center);
  >      }

  >  
  >
  >-- 
  >73 de ke9tv/2, Kevin KENNY     GE Corporate R&D, Niskayuna, New York, USA
  >
  >--------------67AEE1CC724594FB55EEDA47--
  >


tkt_uuid: 1739605fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 18. [text]
priority: 5 Medium
foundin: obsolete: 8.5a6
resolution: None
title: [text see] misbehaves following widget create/populate
comment:
  [text see] adjusts the text widget to the wrong place when called immediately after a text widget is created and programmatically populated.  (Subsequent calls to [text see] produce the correct behavior--even if they immediately follow the faulty call.)

  # test script 1
  # demonstrates [text see] bug

  package require Tcl 8.5
  package require Tk 8.5

  set t [text .t -wrap none]
  set s [scrollbar .s -command [list $t yview]]
  $t configure -yscrollcommand [list $s set]
  grid $t $s -sticky nsew

  for {set i 1} {$i <= 100} {incr i} {
      $t insert end "This is line $i\n"
  }
  $t see 1.0
  raise .


tkt_uuid: 1926223fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 03. [*button] and [label]
priority: 5 Medium
foundin: obsolete: 8.5.1
resolution: Fixed
title: A button doesn't flash on Windows.
comment:
  Cf. [ 1595773 ] button flash causes tcl to fail on Windows

  This all is still true on Windows XP.

  E. g.:

  button .b1 -text Hello -underline 0
      button .b2 -text World -underline 0
      bind . <Key-h> {.b1 flash; .b1 invoke}
      bind . <Key-w> {.b2 flash; .b2 invoke}
      pack .b1 .b2

  (the example from the documentation)

  doesn't work: no flashing.

  Werner


tkt_uuid: 220085ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 13. Win Menus
priority: 1 Zero
foundin: obsolete: 8.3
resolution: Duplicate
title: Separator menu entries do not honor option database
comment:
  OriginalBugID: 5242 Bug
  Version: 8.3
  SubmitDate: '2000-04-24'
  LastModified: '2000-04-24'
  Severity: LOW
  Status: Closed
  Submitter: techsupp
  ChangedBy: ericm
  RelatedBugIDs: 1166
  OS: All Windows
  ClosedDate: '2000-04-24'


  Name:
  Petasis Georgios

  ReproducibleScript:
  Just run the following script and open the "Test" menu:

  option add *Menu.Foreground       #000000
  option add *Menu.Background       #808080
  option add *Menu.activeForeground #BBBAED
  option add *Menu.activeBackground #666699
  option add *Menu.selectColor      #FFFF00

  menu .mb -type menubar
  .mb add cascade -label Test -menu .m
  . configure -menu .mb

  menu .m
  .m add command -label {This item is ok}
  .m add separator
  .m add command -label {Exit} -command {exit}
  wm geometry . 300x300

  ObservedBehavior:
  The separator does not have the same colors as the rest of the menu has.
  If you make the menu a window (by clicking the dashed menu item),
  the separator gets the corect color.



  This is a duplicate of Bug: 1166, which has already been fixed for 8.3.1.

  - eric 
  -- 04/24/2000 ericm


tkt_uuid: 2811373fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 56. [grab]
priority: 5 Medium
foundin: obsolete: 8.5.7
resolution: Rejected
title: global grab on windows xp
comment:
  [grab] manpage says:
  A global grab locks out all applications on the screen, so that only the given subtree of the grabbing application will be sensitive to pointer events (mouse button presses, mouse button releases, pointer motions, window entries, and window exits). During global grabs the window manager will not receive pointer events either.
  [...]
  During a global grab Tk grabs the keyboard so that all keyboard events are always sent to the grabbing application.

  On windows xp it is still possible to interact with the rest of desktop using both mouse and keyboard.


tkt_uuid: 220238ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 84. Unix Build
priority: 1 Zero
foundin: obsolete: 8.2
resolution: Invalid
title: won't compile
comment:
  OriginalBugID: 2873 Bug
  Version: 8.2
  SubmitDate: '1999-09-23'
  LastModified: '1999-09-28'
  Severity: LOW
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Linux-Red Hat
  Machine: Other
  ClosedDate: '1999-09-28'


  Name:
  Joe Beiter

  ReproducibleScript:
  ./tkUnixDraw.c: In function `TkScrollWindow':
      ./tkUnixDraw.c:72: warning: implicit declaration of function `XCopyArea'
      ./tkUnixDraw.c:95: void value not ignored as it ought to be
      ./tkUnixDraw.c:96: warning: control reaches end of non-void function
      make: *** [tkUnixDraw.o] Error 1
      
      Make fails on Linux



  This looks like a bad version of the X headers are on the
  machine.  On our RedHat machine, you can find it in
  /usr/include/X11/Xlib.h. 
  -- 09/28/1999 hobbs


tkt_uuid: 220009ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 56. [grab]
priority: 1 Zero
foundin: final: 8.0.5
resolution: Duplicate
title: X windows error on destruction of modal dialog window
comment:
  OriginalBugID: 2492 Bug
  Version: 8.0.5
  SubmitDate: '1999-08-03'
  LastModified: '1999-08-14'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 716
  OS: Solaris
  OSVersion: version 2.6
  Machine: Other
  ClosedDate: '1999-08-14'


  Name:
  David Tillman

  Extensions:
  BLT, Tix

  CustomShell:
  No

  Comments:
  The work-around is to delete all grab and grab release commands.
      Unfortunately, the program user can put the program in an unstable state
      if he takes actions on the main window while the dialog is open.

  ReproducibleScript:
  The scripts that create the main window and the dialog window are
      embedded in a C program using Embedded Tk.
      
      The main window is not modal; the dialog window is.  Both are toplevel
      windows with the dialog window being of -class Dialog.  It makes no
      difference whether the dialog is declared transient or not.
      
      Modality is specified by:
      
      set oldFocus [focus]
      focus $w
      grab $w
      tkwait variable $globalVar
      grab release $w
      focus $oldFocus
      destroy $w

  ObservedBehavior:
  Running on a Sun Ultrasparc II workstation (512 MB, Solaris 2.6, X11R6),
      and using the X-server resident on the Sun, the application quits and
      the main window blows away when the dialog window is destroyed (e.g.,
      following clicking on the OK button).  This error occurs a lot but not
      every time.  Accessing the application from an X-server on a PC (XVision
      X server) has never resulted in this behavior.  But accessing it on the
      Sun or on another Unix workstation (e.g., HP-UX 10.20) using that
      workstation's X server but running the application on the Sun will
      exhibit the problem.  The error message given in the terminal window is:
      
      X Error of failed request:  BadWindow (invalid Window parameter)
        Major opcode of failed request:  40 (X_TranslateCoords)
       Resource id in failed request:  0x3800156
      Serial number of failed request:  15898
        Current serial number in output stream:  15898
      
      If I delete the grab and grab release commands, the problem goes away
      (as does the window modality).

  DesiredBehavior:
  I should be able to construct modal windows per the instructions in B.B.
      Welch's book and not have the application crash following the
      destruction of the dialog window.  Note that all of the aforementioned
      steps (focus, grab, etc.) are wrapped in catch statements and no Tk
      error is reported.


tkt_uuid: 3565268fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 01. Bindings
priority: 5 Medium
foundin: obsolete: 8.5.12
resolution: None
title: bind<ButtonRelease-1> doesnt have same behavior on windows
comment:
  Copied over from
  http://sf.net/tracker/?func=detail&aid=3565164&group_id=10894&atid=110894
  see that ticket for the attachment.

  I write a xml layout feature for my work, recently. And I want bind a radiobutton or checkbutton click event on a method, but do not affect "command" configure option.
  so I use the Events and Bindings, I write it like this widget.bind("<ButtonRelease-1>", lambda event: self.enable_toggle(data))
  and
  def enable_toggle(self, widget):
  print widget_value_map[widget].get() # this will get the widget's variable and get it value.

  on linux platform, the <ButtonRelease-1> event will be called after variable change, so I get the correct value in enable_toggle
  but on windows platform, the event will be called before variable change, so I get the wrong value.

  version:(python version 2.7.3)
  Linux:
  >>> Tkinter.TkVersion
  8.5
  >>> Tkinter.TclVersion
  8.5
  Windows:
  >>> Tkinter.TkVersion
  8.5
  >>> Tkinter.TclVersion
  8.5


  I wrte a simple code(attachment) to show this bug. I want the code have same result on linux and windows, but it doesnt.

  BTW: Is there a way to bind multiple method to an button click event? If a better one please tell me. Thank you. mailto: zy.netsec@gmail.com


tkt_uuid: 220790ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 5 Medium
foundin: obsolete: 8.0.4
resolution: Fixed
title: ButtonRelease not reported properly to globally grabbing win
comment:
  OriginalBugID: 1378 Bug
  Version: 8.0.4
  SubmitDate: '1999-03-02'
  LastModified: '2000-01-31'
  Severity: MED
  Status: Assigned
  Submitter: pat
  ChangedBy: hobbs
  RelatedBugIDs: 1268
  OS: Windows NT
  OSVersion: 4.0
  Machine: X86


  Name:
  Jon Hilbert

  ReproducibleScript:
  run wish. In console type
  bind . <B1-Motion> {grab -global .}
  bind . <ButtonRelease-1> {grab release .; puts "release"}

  move mouse over ., press button 1 and drag over desktop, then release - no release event is printed. Then press button 1 (still over desktop) - NOW you get a release event reported.

  This behaviour is different if you type
  grab -global .

  in the console BEFORE moving over . and starting the drag. In that case, the release event is recorded at the appropriate time.

  Also...
  It would appear that 8.0.4 cannot be built with MSVC 4.2 or earlier any more because of the inclusion of <zmouse.h> in tkWinX.c. Perhaps a conditional compile around the use of WM_MOUSEWHEEL would be useful?



  Verified on NT with 8.3b2.  We no longer support MSVC4.2 though
  (for the second item). 
  -- 01/31/2000 hobbs


tkt_uuid: 220176ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 1 Zero
foundin: obsolete: 8.1b3
resolution: Invalid
title: Docs missing for Tk_TimerToken API
comment:
  OriginalBugID: 1886 Bug
  Version: 8.1b3
  SubmitDate: '1999-04-16'
  LastModified: '1999-04-28'
  Severity: MED
  Status: Closed
  Submitter: surles
  ChangedBy: kenj
  OS: All
  OSVersion: NA
  Machine: NA
  FixedInVersion: NA
  ClosedDate: '1999-04-28'




  04/28/1999 14:00 - kenj - Former Tk function now incorporated in Tcl. Tcl API documented in the Tcl man pages. Tk usage deprecated.


tkt_uuid: 219984ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 10. Generic Menus
priority: 1 Zero
foundin: obsolete: 8.1
resolution: Duplicate
title: bitmap image in a menubutton is gray not black
comment:
  OriginalBugID: 2084 Bug
  Version: 8.1
  SubmitDate: '1999-05-17'
  LastModified: '1999-09-15'
  Severity: LOW
  Status: Closed
  Submitter: pat
  ChangedBy: hobbs
  RelatedBugIDs: 2171
  OS: Windows NT
  OSVersion: 4.0
  Machine: X86
  ClosedDate: '1999-09-15'


  Name:
  Karsten Wolff

  Comments:
  The described behavier is true for WinNT 4.0 and Linux.

  ReproducibleScript:
  # The following code shows three images. 
      # The first one is grey in version 8.1.0.
      
      image create bitmap down-arrow -data  {
          #define down_arrow_width 15
          #define down_arrow_height 15
          static char down_arrow_bits[] = {
      0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
      0x00,0x80,0xf8,0x8f,0xf0,0x87,0xe0,0x83,
      0xc0,0x81,0x80,0x80,0x00,0x80,0x00,0x80,
      0x00,0x80,0x00,0x80,0x00,0x80
          }
      } 
      
      set m .pulldown.menu
      menubutton .pulldown -menu $m -relief raised
      .pulldown configure -image down-arrow
      menu $m -tearoff 0
      $m add command -label Exit -command exit
      button .button -image down-arrow
      label .label -image down-arrow
      pack .pulldown .button .label -side left

  ObservedBehavior:
  Bitmap image in a menubutton is gray not black in TclTk 8.1.0
      In version 8.0.5 or 8.1a2 the image in the menubutton is black.
      This occurs only for the menubutton. In a label or button the image is
      black.

  DesiredBehavior:
  The bitmap image in a menubutton should be black as in prior versions.


tkt_uuid: 219994ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 1 Zero
foundin: final: 8.1.1
resolution: Duplicate
title: Blooper in tkwait help
comment:
  OriginalBugID: 2220 Bug
  Version: 8.1.1
  SubmitDate: '1999-06-15'
  LastModified: '1999-08-08'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 2187
  OS: Windows 98
  Machine: X86
  ClosedDate: '1999-08-08'


  Name:
  Christopher Nelson

  ObservedBehavior:
  There's a bogus link from the word "variable" in the tkwait help page to
      the help page for [variable]



  The help files are generated automagically, and this is picked
  up in the cross-linking step.  It would take too many resources
  to police the help files after each generation for the small
  occasional mis-link that slips in like the above.  
  -- 08/08/1999 hobbs


tkt_uuid: 515857ffffffffffffffffffffffffffffffffff
type: Patch
status: Open
subsystem: 06. Canvas PostScript
priority: 6
foundin: None
resolution: None
title: Text. Underline/overstrike & non-latin font
comment:
  If a text item is requested to be underlined or 
  overstruck, then this is not reflected in the 
  generated postscript.

  Additionally, if a font such as ZapfDingbats is used, 
  that does not have a Latin encoding, this is not shown 
  when the postscript is displayed.

  I have made some changes to the text handling that 
  appears to resolve these problems, and I 
  enclose 'diff' output for the files I have changed 
  from the 8.4a3 distribution.

  diff tkCanvPs.c tkCanvPs.c.orig
  210,215d209
  <   % First test the encoding for this font.\n\
  <   % If this is a Latin font at position 65 will be 
  the encoding for\n\
  <   %  the letter \"A\".\n\
  <   % If it isn't a latin font, don't re-encode it.\n\
  <   dup /Encoding get 65 get (A) eq {\n\
  <     % Yes, this is a Latin font, re-encode it...\n\
  227d220
  <   }if\n\
  359,360d351
  <     /overstrike exch def\n\
  <     /underline exch def\n\
  407,410c398
  <         % Get the width of the characters to be 
  displayed in case we need\n\
  <         %  to underline or overstrike them.\n\
  < dup stringwidth pop dup /strwid exch def\n\
  < \n\
  ---
  > dup stringwidth pop\n\
  433,478d420
  < \n\
  <         overstrike {\n\
  <            newpath\n\
  <            currentfont /FontInfo get /fontinfo exch 
  def     % get current font info\n\
  <            currentfont /FontMatrix get /fontmatrix 
  exch def %  and the font transformation matrix\n\
  < \n\
  <            fontinfo /UnderlineThickness 
  get                 % get the underline thickness\n\
  <            0 
  exch                                           % put 
  in a dummy x value for dtransform\n\
  <            fontmatrix 
  dtransform                            % scale 
  according to font size\n\
  <            2 
  mul                                            % make 
  a bit thicker...\n\
  <            /overstrikethickness exch 
  def                    %  and save\n\
  <            
  pop                                              % pop 
  the dummy x
  < \n\
  <            0 0 
  moveto                                       % step 
  back to the start of the chars we drew\n\
  <            0 baseline height 2 div sub 
  rmoveto              % move to half-way up the 
  characters\n\
  <            
  currentlinewidth                                 % 
  save the current line width\n\
  <            overstrikethickness 
  setlinewidth                 % set the desired 
  underline thickness\n\
  <            strwid 0 
  rlineto                                 % underline 
  the characters\n\
  <            stroke\n\
  <            
  setlinewidth                                     % 
  restore the original line width\n\
  <         } if\n\
  < \n\
  <         underline {\n\
  <            newpath\n\
  <            currentfont /FontInfo get /fontinfo exch 
  def     % get current font info\n\
  <            currentfont /FontMatrix get /fontmatrix 
  exch def %  and the font transformation matrix\n\
  < \n\
  <            fontinfo /UnderlinePosition 
  get                  % get the underline position\n\
  <            0 
  exch                                           % put 
  in a dummy x value for dtransform\n\
  <            fontmatrix dtransform /underlinepos exch 
  def     % scale according to font size\n\
  <            
  pop                                              % pop 
  the dummy x
  < \n\
  <            fontinfo /UnderlineThickness 
  get                 % and get the underline 
  thickness\n\
  <            0 exch\n\
  <            fontmatrix dtransform /underlinethickness 
  exch def\n\
  <            pop\n\
  < \n\
  <            0 0 
  moveto                                       % step 
  back to the start of the chars we drew\n\
  <            0 0 underlinepos add 
  rmoveto                     % move down a bit\n\
  <            
  currentlinewidth                                 % 
  save the current line width\n\
  <            underlinethickness 
  setlinewidth                  % set the desired 
  underline thickness\n\
  <            strwid 0 
  rlineto                                 % underline 
  the characters\n\
  <            stroke\n\
  <            
  setlinewidth                                     % 
  restore the original line width\n\
  <         } if\n\
  < \n\




  diff tkCanvText.c tkCanvText.c.orig
  20d19
  < #include "tkFont.h"
  1507c1506
  <     sprintf(buffer, "] %d %g %g %s %s %s %s 
  DrawText\n",
  ---
  >     sprintf(buffer, "] %d %g %g %s %s DrawText\n",
  1509,1511c1508
  <     ((stipple == None) ? "false" : "true"),
  <     ((((TkFont *) textPtr->tkfont)-
  >fa.underline) ? "true" : "false"),
  <     ((((TkFont *) textPtr->tkfont)-
  >fa.overstrike) ? "true" : "false") );
  ---
  >     ((stipple == None) ? "false" : "true"));


tkt_uuid: 669595ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 03. [*button] and [label]
priority: 8
foundin: obsolete: 8.4.1
resolution: Fixed
title: disabled check/radiobutton coloring changed
comment:
  For disabled Unix checkbuttons and radiobuttons in
  8.4.1 it is hard to tell, whether they are selected or not.

  I've set up a small page to see the changes from 8.3.5
  to 8.4.1 and with my submitted patch.

  http://www.inode.at/g.hintermayer/buttons/

  I have only *nix environment, can someone verify this
  on other OS's ?

  Gerhard


tkt_uuid: 220024ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 15. [scale]
priority: 1 Zero
foundin: obsolete: 8.2
resolution: Duplicate
title: Destroying a scale widget in which the cursor has been configured causes Tk to panic.
comment:
  OriginalBugID: 2725 Bug
  Version: 8.2
  SubmitDate: '1999-09-10'
  LastModified: '1999-12-20'
  Severity: CRIT
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 3897 2959 3374
  OS: All
  OSVersion: UnixWare 2.1.2, Windows 95
  Machine: NA
  ClosedDate: '1999-12-20'


  Name: Chris Reuter

  Comments:
  The bug is reproducable under windows 95 (binary distribution
      from Scriptics) and UnixWare 2.1.2.  Under UnixWare, it occurs
      on both version 8.2.0 and 8.1.1 of Tcl/Tk.
      
      The UnixWare debugger gives the following stack trace:
      
      [9] _kill(0x6791, 0x6)  [0xbffb3783]
      [8] abort(0xbfffd434, 0xbfffd434, 0xbff850c0, 0xbfffd434, 0x80d98bc,
      0x80e4ec8, 0x82f8e98, 0x83035b0, 0xbff30e28, 0x8044a90, 0x806a9e7, 0,
      0x4c00022) [0xbffe3523]
      [7] Tcl_PanicVA(presumed: 0x80d98bc, 0x8044a5c, 0x80e4ec8)
      [0xbff67782]
      [6] Tcl_Panic(0x80d98bc)        [0xbff677d8]
      [5] Tk_FreeCursor(display=0x0, cursor=0x4c00022)
      [./../generic/tkCursor.c@526]
      [4] FreeResources(optionPtr=0x82b1e20, objPtr=0x0, internalPtr=""",
      tkwin=0x0)  [./../generic/tkConfig.c@1593]
      [3] Tk_FreeConfigOptions(recordPtr="", optionTable=0x82b1d68, tkwin=0x0)
             [./../generic/tkConfig.c@1496]
      [2] DestroyScale(memPtr="", presumed: 0x8044b28, 0x80e4ec8)
      [./../generic/tkScale.c@551]
      [1] Tcl_EventuallyFree(0x82f8db8, 0x8094a84)    [0xbff6eaa9]
      [0] ScaleEventProc()    [./../generic/tkScale.c@1032]

  ReproducibleScript:
  scale ._check_
      ._check_ configure -cursor arrow
      destroy ._check_

  ObservedBehavior:
  Under UnixWare, the error message is:
      
      Tk_FreeCursor called before Tk_GetCursor
      ABORT instruction
      
      Under Windows95, it reports a page fault.  The stack trace doesn't
      look like the page fault was produced by the abort() function.

  DesiredBehavior:
  Sucessful destruction of the widget.



  This comes from line 1592/3 of tkConfig.c, where tkwin is NULL,
  but we want to pass the display for it in.  You can check against
  NULL, but that might not be appropriate (might leave a mem leak). 
  -- 09/21/1999 hobbs
  However, it happens for scales, but not entries.  Reproducable
  on NT and Solaris. 
  -- 09/21/1999 hobbs
  Further evaluation shows that it seems to be in the way that
  scale set up for destruction.  They set scalePtr->tkwin to NULL,
  whereas entries set a flag that they are being deleted. 
  -- 09/21/1999 hobbs


tkt_uuid: 1637923fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 30. Color Names
priority: 5 Medium
foundin: None
resolution: None
title: Add [tk colors] subcommand (TIP pending)
comment:
  The attached patch will add a subcommand to tk [tk colors] which will return a list of all symbolic color names recognised by Tk as defined in xcolors.c

  The patch contains an updated tk.test an updated tk.man (not tested) and the sourcecode changes needed to add the command. (tested on Win32 where tk.test passes)


tkt_uuid: 1700128fffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 01. Bindings
priority: 5 Medium
foundin: None
resolution: None
title: Add in virtual desktop switch events
comment:
  Please add in a binding and/or event to show when a virtual desktop switch has happened, i.e. a switch out and a switch in.

  Thanks

    Duncs


tkt_uuid: 2779910fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 36. [tk_chooseDirectory]
priority: 5 Medium
foundin: None
resolution: Fixed
title: New choosedir functionality on Windows
comment:
  Attached patch enables the newer style choosedir on Windows that has the "Make New Folder" button.

  It also enables a magic var ::tk::winChooseDirFlags that can be set to a new uint value to specify alternate SHBrowseForFolder behavior.


tkt_uuid: 3288113fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 7 High
foundin: obsolete: 8.6b2
resolution: Fixed
title: Missing marks when searched through mark next
comment:
  I have a text widget with a peer. I set a mark in it and later I need to find out the list of marks the text widget contains. I need to be able to do this from any peer.

  In the documentation, marks are advertised to be shared between peers so that they can be manipulated on an equal basis from any peer.

  I have found this to be true for
    [$w mark names]
  but apparently not for
    [$w mark next $ind]

  [$w mark names] correctly returns all mark names, regardless of $w being the "initial" text widget, or the peer.

  However, when scanning through the widget using [$w mark next $ind], I have found marks to be missing.

  The following script demonstrates the problem:

  ------------

  text .t
  .t insert end "Hello\nworld\n"
  .t peer create .pt
  .t mark set mymark 2.0

  # the text widget and its peer now have three marks:
  # insert current mymark

  # all three marks are found for both the text widget
  # and its peer - OK!
  tk_messageBox -message "[.t mark names]\n[.pt mark names]"

  proc getmks {w} {
    set lstmks [list ]
    set mk [$w mark next 1.0]
    while {$mk ne ""} {
      lappend lstmks $mk
      set mk [$w mark next $mk]
    }
    return $lstmks
  }

  # all three marks are found ONLY for the text widget
  # BUT NOT for its peer - BUG?
  tk_messageBox -message "[getmks .t]\n[getmks .pt]"

  ------------

  This is on Windows XP with Tcl/Tk 8.5.9, and it happens also on Vista with 8.6b1.


tkt_uuid: 2834772fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 88. Themed Tk
priority: 5 Medium
foundin: None
resolution: Works For Me
title: ttk::combobox claims focus even if disabled
comment:
  There is an unguarded 'focus $w' statement in ::ttk::combobox::Press.
  It should be guarded by $w instate !disabled (see ::ttk::entry::Press).


tkt_uuid: 220855ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 05. Canvas Items
priority: 6
foundin: obsolete: 8.1
resolution: Invalid
title: Canvas 'scale' command seems to disable item bindings
comment:
  OriginalBugID: 2461 Bug
  Version: 8.1
  SubmitDate: '1999-07-28'
  LastModified: '1999-10-22'
  Severity: SER
  Status: UnAssn
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Solaris
  OSVersion: SunOS polaris 5.7 Generic sun4u sparc SUNW,Ultra-5_10
  Machine: Other


  Name:David F. Skoll

  ReproducibleScript:
  Sorry for the long script which follows.  When you run it, it creates a
      green circle in a black canvas.  If you move the pointer into the
      circle, it prints "Ouch!" on stdout.
      
      To zoom the canvas, click Button-1 somewhere, move the mouse and click
      Button-1 again.  This scales items on the canvas.  Now (usually!) when
      the mouse pointer enters the circle, nothing is printed on stdout -- the
      binding on the "oval" tag seems to have been dropped.
      
      Usage:
      wish
      % source tagbug.tcl
      
      --- tagbug.tcl follows ---
      proc fit { w } {
          set bbox [$w bbox zoom]
          if {$bbox == ""} {
      set bbox [$w bbox all]
          }
          if {$bbox == ""} {
      return
          }
          foreach {x1 y1 x2 y2} $bbox {break}
          $w move all [expr -1*$x1] [expr -1*$y1]
          set bbox [$w bbox zoom]
          if {$bbox == ""} {
      set bbox [$w bbox all]
          }
          foreach {x1 y1 x2 y2} $bbox {break}
          set width [winfo width $w]
          set height [winfo height $w]
      
          set dx [expr $x2 - $x1]
          set dy [expr $y2 - $y1]
          set xscale [expr (1.0 * $width) / (1.0 * $dx)]
          set yscale [expr (1.0 * $height) / (1.0 * $dy)]
          if {$xscale < $yscale} {
      set scale $xscale
          } else {
      set scale $yscale
          }
          $w scale all 0 0 $scale $scale
      }
      
      set zoombox {}
      canvas .c -width 500 -height 500 -bg black
      pack .c
      
      .c create oval 100 100 150 150 -outline red -fill green -tags oval
      .c bind oval <Enter> [list puts "Ouch!"]
      bind .c <ButtonPress-1> [list press %x %y]
      bind .c <Motion> [list move %x %y]
      
      proc press { x y } {
          variable zoombox
          if {$zoombox == ""} {
      set zoombox [list $x $y]
      return
          }
          foreach {x1 y1} $zoombox {break}
          set zoombox {}
          .c delete withtag rubber
          zoom $x1 $y1 $x $y
      }
      
      proc move { x y } {
          variable zoombox
          if {$zoombox == ""} {
      return
          }
          foreach {x1 y1} $zoombox {break}
          .c delete withtag rubber
          .c create rectangle $x1 $y1 $x $y -outline green -tags rubber
      }
      
      proc zoom {x1 y1 x2 y2} {
          .c delete withtag zoom
          .c create rectangle $x1 $y1 $x2 $y2 -outline {} -tags zoom
          fit .c
      }

  ObservedBehavior:
  It seems that scaling items in a canvas sometimes cancels item bindings.

  DesiredBehavior:
  I expect item bindings to remain regardless of scaling


tkt_uuid: 220446ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 63. Tk_Win Functions
priority: 2
foundin: obsolete: 8.0.3
resolution: Fixed
title: On exit, fonts are deleted before images
comment:
  OriginalBugID: 1421 Bug
  Version: 8.0.3
  SubmitDate: '1999-03-02'
  LastModified: '1999-11-17'
  Severity: MED
  Status: Released
  Submitter: pat
  ChangedBy: hobbs
  OS: Linux-Red Hat
  Machine: Other
  FixedDate: '1999-11-17'
  FixedInVersion: 8.2


  Name:
  D. Richard Hipp

  CustomShell:
  Plus patches applied

  ReproducibleScript:
  I'm extending the "bitmap" image handler so that it holds a Tk_Font.
  You have to load my extension, then create a bitmap for the problem
  to occur.



  ObservedBehavior:
  When you type "exit", you get this error:

  TkFontPkgFree: all fonts should have been freed already
  IOT trap/Abort




  DesiredBehavior:
  I don't expect to get the error.





  The problem appears to be in the file tkWindow.c on or about line 1230.
  When tk is shutting down, it deletes all fonts first.  Then it tries to
  delete images.  But my image extension tries to delete its font when it
  is deleted, even though the font is already deleted.  Reversing the order
  of the calls to TkFontPkgFree() and TkDeleteAllImages() seems to clear
  the problem up.

  Is there a better way to fix this?  Is there something I can do within my
  extension to work around the problem?
  --
  Fonts are deleted after images in the 8.2 version of Tk. 
  -- 11/17/1999 hobbs


tkt_uuid: 220345ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 2
foundin: obsolete: 8.0
resolution: Fixed
title: Typing Alt-X, where X is some letter, always results in a beep
comment:
  OriginalBugID: 571 Bug
  Version: 8.0
  SubmitDate: '1998-04-15'
  LastModified: '1998-08-04'
  Severity: LOW
  Status: Released
  Submitter: stanton
  ChangedBy: stanton
  OS: Windows NT
  OSVersion: 4.0
  Machine: NA
  FixedInVersion: 8.0.3
  ClosedDate: '1998-08-04'


  >Reply-To: tromey@cygnus.com
  >From: Tom Tromey <tromey@creche.cygnus.com>
  >Date: 18 Feb 1998 15:29:59 -0700
  >
  >I'm using Tk 8.0 on Windows NT 4.
  >
  >Typing Alt-X, where X is some letter, always results in a beep for me,
  >even if I have an <Alt-KeyPress> binding.
  >
  >This is because these events are translated into WM_MENUCHAR messages
  >by Windows.  The Tk code only handles certain WM_MENUCHAR events.
  >
  >I fixed this by changing Tk_TranslateWinEvent and GenerateXEvent to
  >handle WM_MENUCHAR messages.  I can send a patch if you'd like it.
  >
  >Tom

  fixed by handling WM_SYSKEYDOWN, WM_SYSKEYUP, and synthesizing WM_SYSCHAR


tkt_uuid: 1209340fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 01. Bindings
priority: 5 Medium
foundin: obsolete: 8.4.9
resolution: Invalid
title: <Activate> and <Deactivate> bindings not fired
comment:
  Unless I misunderstand the bind manual page.
  Under Windows, try this test script:

  package require Tk
  catch {console show}

  bind all <Activate> {puts "Activate %W"}
  bind all <Deactivate> {puts "Deactivate %W"}

  toplevel .t1

  focus -force .; update
  focus -force .t1; update


tkt_uuid: 1008975fffffffffffffffffffffffffffffffff
type: Support
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
title: TIP#165 (user data field)
comment:
  Here's a first (untested) hack at an implementation. 
  See http://purl.org/tcl/tip/165.html for details


tkt_uuid: 1893950fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 12. Unix Menus
priority: 8
foundin: obsolete: 8.5.1
resolution: Duplicate
title: Update menu cascade behavior
comment:
  The behavior of cascade menus on Unix/Linux needs to be updated to match common tools like the Mozilla based tools.  Cascade menus should post as soon as the mouse rolls over the item.  Currently, Tk menus do this but only if the mouse button is down.  The following change in menu.tcl will affect this behavior for the better.

  proc ::tk::MenuMotion {menu x y state} {
      variable ::tk::Priv
      set docascade 1
      if {$menu eq $Priv(window)} {
  if {[$menu cget -type] eq "menubar"} {
      if {[info exists Priv(focus)] && $menu ne $Priv(focus)} {
  $menu activate @$x,$y
  GenerateMenuSelect $menu
  if {$Priv(focus) eq ""} {
      set docascade 0
  }
      } else {
  set docascade 0
      }
  } else {
      $menu activate @$x,$y
      GenerateMenuSelect $menu
  }
      }
      if {$docascade} {
  $menu postcascade active
      }
  }

  -Brian


tkt_uuid: 1110553fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 41. Photo Images
priority: 5 Medium
foundin: obsolete: 8.5a2
resolution: Fixed
title: Bad function description
comment:
  The comments above the function
  PhotoFormatThreadExitProc() are those of
  Tk_Create{Old}PhotoImageFormat().


tkt_uuid: 220953ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 44. Generic Fonts
priority: 5 Medium
foundin: obsolete: 8.4a1
resolution: Works For Me
title: font (presentation) problem
comment:
  OriginalBugID: 6287 Bug
  Version: 8.4a1
  SubmitDate: '2000-09-19'
  LastModified: '2000-09-19'
  Severity: CRIT
  Status: UnAssn
  Submitter: angie
  ChangedBy: angie
  OS: Windows 95


  Tk 8.4a1 Bug

  Name:  Frank Mijling
  email:  frank.mijling@siemens.nl
  Support:  None
  Severity:  1
  OperatingSystem:  Windows 95
  Machine:  Siemens Xpert, Siemens Scenic Mobile 710
  Extensions:  Tcl/Tk 8.3.0, Tcl/Tk 8.4a1
  CustomShell:  none
  Synopsis:  font (presentation) problem

  ReproducibleScript:
  any text-widget. changing font-size does not do the job.
  'Redrawing' the widget (e.g.by resizing the window)  shuffles the text and therefore makes text (sometimes/maybe) visible.

  ObservedBehavior:
  textlines seem to overlap each other. up to the point of unreadability. 
  I first used Tcl/Tk 8.3.0, and now I have started withTcl/Tk 8.4a1. Same result.
  This behavior was observed both on my Desktop-PC (Siemens Xpert) as well as my notebook (Scenic Mobile 710).

  DesiredBehavior:
  both under WindowsNT and Linux presentation (of the same script/text-widgets) is fine.
  Only W95 has this problem. (On both, desktop-PC and laptop, multiple-OSs are installed)

  Patch:
  sorry :-), as sort of Newbee I am just scared of looking in the wrong corner already.

  Posted To comp.lang.tcl: Posted Successfully


tkt_uuid: 444026ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 05. Canvas Items
priority: 5 Medium
foundin: obsolete: 8.4a2
resolution: None
title: Certain canvas lines disappear (WinME)
comment:
  Certain canvas lines cannot be shown on windows ME.

  The small attached program demonstrates that a 
  combination of 3 things cause canvas lines to be 
  invisible:

   - a high number of coordinates
   - using width >= 1.5
   - using smooth

  Changing any of these will cause the line to show.

  The same program works fine under Windows 2000.


tkt_uuid: 2799888fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 46. Unix Fonts
priority: 5 Medium
foundin: obsolete: 8.5.7
resolution: None
title: Underline Text items are not drawn properly in Canvas
comment:
  Execute the next script:

  package require Tk
  canvas .c
  pack .c
  .c create text 100 100 -text "Bold Text" -font {Arial 15 bold}
  .c create text 100 130 -text "Italic Text" -font {Arial 15 italic}
  .c create text 100 160 -text "Underline Text" -font {Arial 15 underline}

  In Windows draws properly the underlined text, but in linux doesn't.

  I've tested with 8.5.4 and 8.5.7


tkt_uuid: 470322ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 39. Image Basics
priority: 5 Medium
foundin: obsolete: 8.3.3
resolution: Fixed
title: Tk_GetBitmapFromData broken
comment:
  The now obsolete function Tk_GetBitmapFromData, if
  used, will corrupt the bitmap hashtable causing much
  grief later on...  This problem appears to be present
  in 8.4 as well.

  To put your mind at ease, after fixing this bug in Tk,
  I then went into my code and removed 
  Tk_GetBitmapFromData, replacing it with
  Tk_DefineBitmap.  If you don't fix the bug, then remove
  the function altogether.

  Thanks,
  -Brian

  P.S.
  The attaced partially fixes the problem, however, I
  still get a crash in my application.  I did not track
  it down since I have since changed the implementation
  to use DefineBitmap instead.


tkt_uuid: 664780ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 67. Unix Window Operations
priority: 3 Low
foundin: obsolete: 8.4.1
resolution: Fixed
title: SGI warning: OpenIM
comment:
  cc-1552 cc: WARNING File =
  /home/fs3c/dgp/tk8.4.1/unix/tkUnixEvent.c, Line = 587
    The variable "modifier_list" is set but never used.

        char *modifier_list;
              ^


tkt_uuid: 1145308fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 41. Photo Images
priority: 5 Medium
foundin: obsolete: 8.4.9
resolution: Duplicate
title: image create photo / img1.3 horribly slow on 8.4.9
comment:
  With the img1.3 package and tcl/tk 8.4.9 on Windows
  2000 (2400 MHz Pentium)

  image create photo orig -file <filename>.jpg

  takes 51 (!) secs while the same operation requires ~1
  sec with the 8.4.6 distribution. 

  I checked this with ActiveState's distributions as well
  as the debug and thread enabled versions I have
  compiled. In the latter case I tried Img binaries from
  both ActiveTcl distribution.

  József Németh
  C+C SYSTEMS BT

  joe.nemeth@cpluscsystems.axelero.net


tkt_uuid: 2791585fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 99. Other
priority: 5 Medium
foundin: None
resolution: Fixed
title: Cannot add comments to ID 2433781
comment:
  I cannot add comments to artifact 2433781.
  I see the message "Comments have been closed for this artifact." in my browser, therefore I cannot respond!!
  With other artifacts I do not have this problem!!

  I already added a new artifact (ID 2789782) complaining this problem, but this one is closed without a solution.


tkt_uuid: 582370ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 21. [panedwindow]
priority: 5 Medium
foundin: obsolete: 8.4b2
resolution: Fixed
title: panedwindow tests fail on Win
comment:
  Several tests for the new panedwindow command in 
  tk8.4 fail, at least on Windows.  This doesn't seem 
  like a good precedent for a new command ;-)

  panedwindow.test

  ==== panedwindow-10.1 sash mark/sash dragto 
  interaction FAILED
  ==== Contents of test case:

      panedwindow .p -borderwidth 0 -sashpad 0 -
  sashwidth 4 -showhandle false
      .p add [frame .f -width 20 -height 20] [button .c]
      .p sash mark 0 10 10
      .p sash dragto 0 20 10
      set result [.p sash coord 0]
      destroy .p .f .c
      set result

  ---- Result was:
  28 0
  ---- Result should have been (exact matching):
  30 0
  ==== panedwindow-10.1 FAILED


  ==== panedwindow-10.2 sash mark/sash dragto 
  interaction FAILED
  ==== Contents of test case:

      panedwindow .p -borderwidth 0 -sashpad 0 -
  sashwidth 4 -orient vertical  -sho
  whandle false
      .p add [frame .p.f -width 20 -height 20] 
  [button .p.c]
      .p sash mark 0 10 10
      .p sash dragto 0 10 20
      set result [.p sash coord 0]
      destroy .p .p.f .p.c
      set result

  ---- Result was:
  0 28
  ---- Result should have been (exact matching):
  0 30
  ==== panedwindow-10.2 FAILED


  ==== panedwindow-12.1 moving sash changes 
  size of pane to left FAILED
  ==== Contents of test case:

      panedwindow .p -borderwidth 0 -sashpad 0 -
  sashwidth 4 -showhandle false
      .p add [frame .f -width 20 -height 20] 
  [button .c] -sticky nsew
      .p sash place 0 30 0
      pack .p
      update
      set result [winfo width .f]
      destroy .p .f .c
      set result

  ---- Result was:
  28
  ---- Result should have been (exact matching):
  30
  ==== panedwindow-12.1 FAILED


  ==== panedwindow-12.4 moving sash changes 
  size of pane above FAILED
  ==== Contents of test case:

      panedwindow .p -showhandle false -
  borderwidth 0 -sashpad 0 -sashwidth 4  -or
  ient vertical
      .p add [frame .f -width 20 -height 10] 
  [button .c] -sticky nsew
      .p sash place 0 0 20
      pack .p
      update
      set result [winfo height .f]
      destroy .p .f .c
      set result

  ---- Result was:
  18
  ---- Result should have been (exact matching):
  20
  ==== panedwindow-12.4 FAILED


tkt_uuid: 846824ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 30. Color Names
priority: 5 Medium
foundin: None
resolution: Fixed
title: Web-style colours
comment:
  Tk ought to support the CSS colours as described at:
  http://www.w3.org/TR/1998/REC-CSS2-
  19980512/syndata.html#color-units


tkt_uuid: 483859ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 5 Medium
foundin: None
resolution: Invalid
title: Text does not correctly right justify
comment:
  The text widget does not appear to correctly right 
  justify text. The following code produces text whose 
  first three display lines have a space displayed at 
  the end of them. These should not be there. The last 
  display line displays correctly.

  text .t -wrap word -font courier -width 20
  pack .t
  .t insert end "This is a sentence with enough words to 
  wrap once or twice." right
  .t tag configure right -justify right

  I've found this to be true on both HPUX and Windows 
  using Tk8.3.

  Dean Clamons


tkt_uuid: 2976019fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 83. Mac OS X Build
priority: 5 Medium
foundin: obsolete: 8.6b1.1
resolution: None
title: Deployment executables go bus error
comment:
  As mentioned at the end of bug #2965133, a crash remains even after fixing the makefile problems.

  On a PPC G4 machine running OS X 10.5.8, make test fails with:

   make -C "/Users/lars/Projekt/Tcl-projekt/Tcl/tk/macosx/../../build/tk/Deployment" test INSTALL_ROOT='' INSTALL_TARGETS='install-binaries install-libraries
  install-private-headers install-demos' VERSION='8.6' DYLD_FRAMEWORK_PATH="`pwd`:/Users/lars/Projekt/Tcl-projekt/Tcl/build/tcl/Deployment:${DYLD_FRAMEWORK_PATH}"; export DYLD_FRAMEWORK_PATH; TCL_LIBRARY=/Users/lars/Projekt/Tcl-projekt/Tcl/tcl/library; export TCL_LIBRARY; TK_LIBRARY=/Users/lars/Projekt/Tcl-projekt/Tcl/tk/library; export TK_LIBRARY; ./tktest /Users/lars/Projekt/Tcl-projekt/Tcl/tk/unix/../tests/all.tcl -geometry +0+0
   /bin/sh: line 1: 6111 Bus error ./tktest /Users/lars/Projekt/Tcl-projekt/Tcl/tk/unix/../tests/all.tcl -geometry +0+0
   make[2]: *** [test-classic] Error 138
   make[1]: *** [test-tk] Error 2
   make: *** [test-deploy] Error 2

  In other words, it crashes as soon as it gets to running the Deployment executable. On the other hand, the Development executables all seem fine (test completes without crashes).

  Any suggestions/instructions on how I might proceed with debugging?


tkt_uuid: 1864806fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 11. Aqua Menus
priority: 5 Medium
foundin: obsolete: 8.4.17
resolution: Works For Me
title: Unexpected Aqua Edit menu/dialog sheet interaction
comment:
  Reproduced from my query to the Tcl-Mac mailing list:

  Attached is a script to reproduce an interface issue I encountered with TkAqua while working on a Tk application.

  I create a main menu bar containing menus and commands pertinent to my application. I follow an example from the Tcler's wiki (http://wiki.tcl.tk/12987#pagetoc21) to manually create an edit menu that works like the default menu bar.

  The problem I have encountered is that after a tk_getOpenFile dialog (and possibly others) is displayed as a sheet attached to the main window (via -parent .), the Cut, Copy, and Paste edit menu items appear disabled. Their keyboard shortcuts still work. Displaying the same dialog normally (without -parent .) does not have this result.

  The example below creates an edit menu in this fashion and provides an entry field where its function can be tested. Click 'Dialog' and dismiss the dialog; the edit menu items remain accessible. Click 'Sheet' and dismiss the dialog sheet; the edit menu items are disabled, but may still be invoked via their keyboard equivalents.

  Tested with 8.4.16 (tclkit-darwin-univ-aqua) and 8.4.17 (ActiveTcl Mac Tk basekit).


tkt_uuid: 3567779fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 8
foundin: obsolete: 8.6b3
resolution: Fixed
title: winWm-9.2 segfault
comment:
  In an --enable-aqua build of Tk8.6b3, running the test suite
  on Snow Leopard segfaults on test winWm-9.2 .

  If I use -match to run only that test, there is no
  segfault.

  It may be that this test isn't appropriate to run
  on Mac OSX, I don't know, but even so a
  segfault triggered by script eval is a bug needing
  a fix.


tkt_uuid: 2857300fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 45. Aqua Fonts
priority: 9 Immediate
foundin: obsolete: 8.6b1
resolution: Accepted
title: Tk_MeasureChars rounding error
comment:
  In tkMacOSXFont.c the lround() function is used to convert double -> integer.
  The problem is that lround() will round to the *nearest* integer.  So lround(10.2)
  equals 10 while lround(10.6) equals 11.

  Since the width of the text is needed, ceil() should be used to round up fractional
  numbers.


tkt_uuid: 2093072fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 85. Win Build
priority: 5 Medium
foundin: obsolete: 8.5.4
resolution: Works For Me
title: makefile.vc requires macro _INSTALLDIR
comment:
  Environment:
  - Windows Vista Pro German
  - MS-VC++6
  - Windows Server 2003 SP1 SDK (Release)

  C:\test\tk8.5.4\win>nmake -f makefile.vc install TCLDIR=c:\test\tcl8.5.4 INSTALLDIR=c:\test\tcl854 _INSTALLDIR=c:\test\tcl854

  Installs into c:\test\tcl854\..

  I have no idea where the additional path component ".." comes from.
  Anyway, after the install, the folders c:\test\lib etc. exists with the tk contents. The makefile fails while integrating the tcl helpfile into the tk one. The tcl helpfile is not found in the installation destination path.

  A workaround is to specify also the variable "_INSTALLDIR", which is used in the makefile:

  C:\test\tk8.5.4\win>nmake -f makefile.vc install TCLDIR=c:\test\tcl8.5.4 INSTALLDIR=c:\test\tcl854 _INSTALLDIR=c:\test\tcl854

  Notes:
  - This bug was not present in tcl8.5.3.
  - To build the winhelp, the patches of the following bugs must be applied:
    - TCL:1934200
    - TK: 1934272


tkt_uuid: 1227781fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 04. Canvas Basics
priority: 8
foundin: obsolete: 8.5a4
resolution: Fixed
title: memleak in canvas
comment:
  on 8.5a3 and CVS HEAD, winXP and linux -
  creation/deletion/moving of lines on a canvas via a
  mouse binding accumulates RAM usage at the rate of
  about 30 MB/second with normal mouse motion. drag
  around the lines a bit and watch RAM usage...


tkt_uuid: 3531366fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 88. Themed Tk
priority: 6
foundin: obsolete: 8.5.11
resolution: None
title: Cursor blink cannot be switched off in ttk widgets
comment:
  The ttk text entry widgets (e.g., ttk::entry, ttk::combobox) do not support the -insertOffTime option so it is not possible to stop cursor blink.

  Using non-ttk widgets it is possible to stop cursor blink by putting *insertOffTime: 0 in the .Xdefaults file; but there doesn't appear to be any way to do this for the ttk widgets.

  The problem appears in file generic/ttk/ttkBlink.c which has a TODO on this topic.


tkt_uuid: 2993162fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 70. Event Loop
priority: 3 Low
foundin: obsolete: 8.6b1
resolution: Wont Fix
title: Cocoa: waiting for variable hangs after exit called
comment:
  Cocoa API on MacOS: Selecting "Quit Wish" from the main menu sends an exit command to your application. If you want the app to do something after this happens, e.g., save user files, you rename the exit command and write your own handler procedure called exit. However, if this includes a 'tkwait variable' or 'vwait' instruction, the application hangs. 


tkt_uuid: 3554026fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 12. Unix Menus
priority: 9 Immediate
foundin: obsolete: 8.6b3
resolution: Fixed
title: tearing off menu with embedded parent -> crash (X11)
comment:
  Tearing off menus which are children of embedded windows makes Tk crash on X11.
  The problem is in unix/tkUnixWm.c, function TkSetTransientFor().
  This function checks for the nearest toplevel parent with Tk_IsTopLevel.
  For embedded windows this function returns true, but their wmInfoPtr->wrapperPtr
  member is NULL.
  Easy to repro using tkchat+tktray, trying to torn off the tray menu.
  Attached patch solves the issue by checking for wmInfoPtr->wrapperPtr being non NULL.


tkt_uuid: 2820784fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 67. Unix Window Operations
priority: 5 Medium
foundin: obsolete: 8.5b3
resolution: Invalid
title: wm managed listbox core with string inserts
comment:
  in wish8.5 shell
  % wm manage [listbox .test]
  % .test insert end "test"
  Segmentation fault (core dumped)

  (gdb) where
  #0  0x007bd79c in Tcl_NewStringObj () from /usr/local/lib/libtcl8.5.so
  #1  0x007cfa57 in Tcl_SetVar2Ex () from /usr/local/lib/libtcl8.5.so
  #2  0x0034b50b in ListboxWidgetObjCmd () from /usr/local/lib/libtk8.5.so
  #3  0x007373bb in TclEvalObjvInternal () from /usr/local/lib/libtcl8.5.so
  #4  0x0077a7df in TclExecuteByteCode () from /usr/local/lib/libtcl8.5.so
  #5  0x00782584 in TclCompEvalObj () from /usr/local/lib/libtcl8.5.so
  #6  0x00738c7c in TclEvalObjEx () from /usr/local/lib/libtcl8.5.so
  #7  0x00738f0d in Tcl_EvalObjEx () from /usr/local/lib/libtcl8.5.so
  #8  0x0078858e in Tcl_RecordAndEvalObj () from /usr/local/lib/libtcl8.5.so
  #9  0x00788606 in Tcl_RecordAndEval () from /usr/local/lib/libtcl8.5.so
  #10 0x003306aa in StdinProc () from /usr/local/lib/libtk8.5.so
  #11 0x00794e74 in Tcl_NotifyChannel () from /usr/local/lib/libtcl8.5.so
  #12 0x007d959b in FileHandlerEventProc () from /usr/local/lib/libtcl8.5.so
  #13 0x007a9d19 in Tcl_ServiceEvent () from /usr/local/lib/libtcl8.5.so
  #14 0x007aa00f in Tcl_DoOneEvent () from /usr/local/lib/libtcl8.5.so
  #15 0x00323d39 in Tk_MainLoop () from /usr/local/lib/libtk8.5.so
  #16 0x0033028c in Tk_MainEx () from /usr/local/lib/libtk8.5.so
  #17 0x080487b6 in main ()


  RedHat 4.3 Enterprise Edition


tkt_uuid: 1694821fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 35. [tk_dialog]
priority: 5 Medium
foundin: None
resolution: Invalid
title: ::tk::dialog::file fails
comment:
  For some versions it fails in linux distributions 
  called by some
  tk_getOpenFile -filetypes $types -initialdir $def
  at
  $data(typeMenuLab) configure -state normal
  with
  unknown option "-state"

  "fixing" the bug by catching this statement works.


tkt_uuid: 220958ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: obsolete: 8.3.2
resolution: Invalid
title: unknown floating-point error, errno = 84
comment:
  OriginalBugID: 6335 Bug
  Version: 8.3.2
  SubmitDate: '2000-10-02'
  LastModified: 
  Severity: CRIT
  Status: UnAssn
  Submitter: techsupp
  OS: Linux-SuSE
  OSVersion: Linux Suse 6.0 (Kernel version 2.0.36)
  Machine: Intel i 386


  Name:
  Dr. Matthias Hammelsbeck

  Extensions:
  BWidget Toolkit

  CustomShell:
  No

  Comments:
  Obviously there is a problem with floating point numbers in the
      combination
      of Linux-Suse (Version 6.0, Kernel version 2.0.36) and tk (8.3.2). Tcl
      seems to be ok!

  ReproducibleScript:
  echo 'puts [expr 7.8 / 8.0]'|wish

  ObservedBehavior:
  Observation of entering the line in point 8:
  unknown floating-point error, errno = 84

  DesiredBehavior:
  0.975


tkt_uuid: 224936ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 36. [tk_chooseDirectory]
priority: 3 Low
foundin: obsolete: 8.3.1
resolution: Fixed
title: tk_chooseDirectory crashes in Windows95
comment:
  When I type 'tk_chooseDirectory' on the command-prompt in wish83 on a Windows95 system, wish crashes with the following errormessages:

  PROWISH83 verursachte einen Fehler durch eine ungültige Seite
  in Modul TK83.DLL bei 0137:004198e4.
  Register:
  EAX=00001767 CS=0137 EIP=004198e4 EFLGS=00010246
  EBX=0072df8a SS=013f ESP=0072ddfc EBP=0072df2c
  ECX=00001767 DS=013f ESI=0072dfae FS=0e67
  EDX=00000489 ES=013f EDI=00020000 GS=0000
  Bytes bei CS:EIP:
  89 51 04 33 c0 e9 ea 01 00 00 8b 45 e0 81 78 04 
  Stapelwerte:
  0000000a 00000000 00000001 0072de5c 0051006b 0097c6f0 0097c701 0072e138 004a39fd 0051d1e0 0097a638 00000001 00000000 0000000a bff74277 0442cb6d

  Register:
  EAX=1004da3d CS=0137 EIP=005de12e EFLGS=00010282
  EBX=10000000 SS=013f ESP=008ef84c EBP=008ef858
  ECX=8b944d89 DS=013f ESI=00000000 FS=0f47
  EDX=8b944d89 ES=013f EDI=00000001 GS=0000
  Bytes bei CS:EIP:
  8b 42 08 3b 45 f8 75 0a 8b 4d f4 c7 41 08 00 00 
  Stapelwerte:
  8b944d89 024fc908 006c1b08 008ef8e0 0063054d 024d98f8 00000117 00000984 024d9bf8 4bbbd880 00000011 00000685 00000000 007028e8 02510364 02510364  


tkt_uuid: 581627ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 9 Immediate
foundin: obsolete: 8.4b2
resolution: Fixed
title: 35 tests fail (up from 14)
comment:
  On Windows 2000, the latest tk build fails 94 
  tests.  A few weeks back (see bug 571563) this was 
  down to 14 but something (test suite changes 
  recently?) has caused a lot to fail.

  There is also a hang in unixWm.test (should this be 
  running on Windows?) where the user has to 
  manually tearoff a menu for the test to proceed.

  null
  ---- Result should have been (exact matching):
  44
  ==== send-10.4 FAILED


  ==== send-10.5 SendEventProc procedure, 
  extraneous command options FAILED
  ==== Contents of test case:

      testsend prop comm Comm  "c\n-n tktest\n-x 
  miscellanous\n-y who knows?\n-s s
  et a new\n"
      set a null
      update
      set a

  ---- Result was:
  null
  ---- Result should have been (exact matching):
  new
  ==== send-10.5 FAILED


  ==== send-10.6 SendEventProc procedure, 
  unknown interpreter FAILED
  ==== Contents of test case:

      testsend prop [winfo id .f] Comm {}
      testsend prop comm Comm  "c\n-n unknown\n-
  r $id 44\n-s set a new\n"
      set a null
      update
      list [testsend prop [winfo id .f] Comm] $a

  ---- Result was:
  {} null
  ---- Result should have been (exact matching):
  {
  r
  -s 44
  -r receiver never heard of interpreter "unknown"
  -c 1
  } null
  ==== send-10.6 FAILED


  ==== send-10.7 SendEventProc procedure, error in 
  script FAILED
  ==== Contents of test case:

      testsend prop [winfo id .f] Comm {}
      testsend prop comm Comm  "c\n-n tktest\n-r 
  $id 62\n-s foreach i {1 2 3} {err
  or {test error} {Initial errorInfo} {test code}}\n"
      update
      testsend prop [winfo id .f] Comm

  ---- Result was:

  ---- Result should have been (exact matching):

  r
  -s 62
  -r test error
  -i Initial errorInfo
      ("foreach" body line 1)
      invoked from within
  "foreach i {1 2 3} {error {test error} {Initial errorInfo} 
  {test code}}"
  -e test code
  -c 1

  ==== send-10.7 FAILED


  ==== send-10.8 SendEventProc procedure, 
  exceptional return FAILED
  ==== Contents of test case:

      testsend prop [winfo id .f] Comm {}
      testsend prop comm Comm  "c\n-n tktest\n-r 
  $id 62\n-s break\n"
      update
      testsend prop [winfo id .f] Comm

  ---- Result was:

  ---- Result should have been (exact matching):

  r
  -s 62
  -r
  -c 3

  ==== send-10.8 FAILED


  ==== send-10.9 SendEventProc procedure, empty 
  return FAILED
  ==== Contents of test case:

      testsend prop [winfo id .f] Comm {}
      testsend prop comm Comm  "c\n-n tktest\n-r 
  $id 62\n-s concat\n"
      update
      testsend prop [winfo id .f] Comm

  ---- Result was:

  ---- Result should have been (exact matching):

  r
  -s 62
  -r

  ==== send-10.9 FAILED


  ==== send-10.13 SendEventProc procedure, return 
  processing FAILED
  ==== Contents of test case:

      testsend prop comm Comm  "r\n-c 1\n-e test1
  \n-i test2\n-r test3\n-s [testsen
  d serial]\n"
      list [catch {send dummy foo} msg] $msg 
  $errorInfo $errorCode

  ---- Result was:
  1 {invalid command name "send"} {invalid command 
  name "send"
      while executing
  "send dummy foo"} NONE
  ---- Result should have been (exact matching):
  1 test3 {test2
      invoked from within
  "send dummy foo"} test1
  ==== send-10.13 FAILED


  ==== send-10.14 SendEventProc procedure, 
  extraneous return options FAILED
  ==== Contents of test case:

      testsend prop comm Comm  "r\n-x test1\n-y 
  test2\n-r result\n-s [testsend ser
  ial]\n"
      list [catch {send dummy foo} msg] $msg

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  0 result
  ==== send-10.14 FAILED


  ==== send-10.15 SendEventProc procedure, serial 
  number FAILED
  ==== Contents of test case:

      testsend prop comm Comm  "r\n-r response\n"
      list [catch {send dummy foo} msg] $msg

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  1 {target application died or uses a Tk version 
  before 4.0}
  ==== send-10.15 FAILED


  ==== send-10.16 SendEventProc procedure, serial 
  number FAILED
  ==== Contents of test case:

      testsend prop comm Comm  "r\n-r 
  response\n\n-s 0"
      list [catch {send dummy foo} msg] $msg

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  1 {target application died or uses a Tk version 
  before 4.0}
  ==== send-10.16 FAILED


  ==== send-10.17 SendEventProc procedure, 
  errorCode and errorInfo FAILED
  ==== Contents of test case:

      testsend prop comm Comm  "r\n-i test1\n-e 
  test2\n-c 4\n-s [testsend serial]\
  n"
      set errorCode oldErrorCode
      set errorInfo oldErrorInfo
      list [catch {send dummy foo} msg] $msg 
  $errorInfo $errorCode

  ---- Result was:
  1 {invalid command name "send"} {invalid command 
  name "send"
      while executing
  "send dummy foo"} NONE
  ---- Result should have been (exact matching):
  4 {} oldErrorInfo oldErrorCode
  ==== send-10.17 FAILED


  ==== send-10.18 SendEventProc procedure, send 
  kills application FAILED
  ==== Contents of test case:

      setupbg
      dobg {tk appname t_s_3}
      set x [list [catch {send t_s_3 destroy .} msg] 
  $msg]
      cleanupbg
      set x

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  0 {}
  ==== send-10.18 FAILED


  ==== send-10.19 SendEventProc procedure, send 
  exits FAILED
  ==== Contents of test case:

      setupbg
      dobg {tk appname t_s_3}
      set x [list [catch {send t_s_3 exit} msg] $msg]
      cleanupbg
      set x

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  1 {target application died}
  ==== send-10.19 FAILED


  ==== send-11.1 AppendPropCarefully and 
  AppendErrorProc procedures FAILED
  ==== Contents of test case:

      testsend prop root InterpRegistry "0x21447 
  dummy\n"
      list [catch {send dummy foo} msg] $msg

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  1 {no application named "dummy"}
  ==== send-11.1 FAILED


  ==== send-12.1 TimeoutProc procedure FAILED
  ==== Contents of test case:

      testsend prop root InterpRegistry "$id dummy\n"
      list [catch {send dummy foo} msg] $msg

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  1 {target application died or uses a Tk version 
  before 4.0}
  ==== send-12.1 FAILED


  ==== send-12.2 TimeoutProc procedure FAILED
  ==== Contents of test case:

      winfo interps
      tk appname tktest
      update
      setupbg
      set app [dobg {
          after 10 {after 10 {after 5000; exit}}
          tk appname
      }]
      after 200
      set result [list [catch {send $app foo} msg] $msg]
      cleanupbg
      set result

  ---- Result was:
  1 {invalid command name "send"}
  ---- Result should have been (exact matching):
  1 {target application died}
  ==== send-12.2 FAILED


  ==== send-13.1 DeleteProc procedure FAILED
  ==== Contents of test case:

      setupbg
      set app [dobg {rename send {}; tk appname}]
      set result [list [catch {send $app foo} msg] $msg 
  [winfo interps]]
      cleanupbg
      set result

  ---- Result was:
  1 {invalid command name "send"} {}
  ---- Result should have been (exact matching):
  1 {no application named "tktest #2"} tktest
  ==== send-13.1 FAILED


  ==== send-13.2 DeleteProc procedure FAILED
  ==== Contents of test case:

      winfo interps
      tk appname tktest
      rename send {}
      set result {}
      lappend result [winfo interps] [info commands 
  send]
      tk appname foo
      lappend result [winfo interps] [info commands 
  send]

  ---- Result was:
  can't delete "send": command doesn't exist
  ---- Result should have been (exact matching):
  {} {} foo send
  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ==== send-13.2 FAILED


  ==== send-15.1 UpdateCommWindow procedure 
  FAILED
  ==== Contents of test case:

      set x [list [testsend prop comm 
  TK_APPLICATION]]
      newApp "" t_s_1 Test
      send t_s_1 wm withdraw .
      newApp "" t_s_2 Test
      send t_s_2 wm withdraw .
      lappend x [testsend prop comm 
  TK_APPLICATION]
      interp delete t_s_1
      lappend x [testsend prop comm 
  TK_APPLICATION]
      interp delete t_s_2
      lappend x [testsend prop comm 
  TK_APPLICATION]

  ---- Result was:
  invalid command name "send"
  ---- Result should have been (exact matching):
  tktest {t_s_2 t_s_1 tktest} {t_s_2 tktest} tktest
  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ==== send-15.1 FAILED

  spinbox.test
  text.test
  textBTree.test
  textDisp.test
  textImage.test
  textIndex.test
  textMark.test
  textTag.test
  textWind.test

  ==== textWind-10.1 EmbWinLayoutProc procedure 
  FAILED
  ==== Contents of test case:

      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      .t window create 1.5 -create {
          frame .f -width 10 -height 20 -bg $color
      }
      update
      list [winfo exists .f] [winfo geom .f] [.t index .f]

  ---- Result was:
  1 10x20+45+5 1.5
  ---- Result should have been (exact matching):
  1 10x20+40+5 1.5
  ==== textWind-10.1 FAILED


  ==== textWind-10.11 EmbWinLayoutProc 
  procedure, doesn't fit on line FAILED
  ==== Contents of test case:

      .t configure -wrap none
      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      frame .f -width 130 -height 20 -bg $color -bd 
  2 -relief raised
      .t window create 1.12 -window .f
      update
      list [.t bbox .f] [.t bbox 1.13]

  ---- Result was:
  {101 5 130 20} {231 6 8 17}
  ---- Result should have been (exact matching):
  {89 5 126 20} {}
  ==== textWind-10.11 FAILED


  ==== textWind-11.1 EmbWinDisplayProc 
  procedure, geometry transforms FAILED
  ==== Contents of test case:

      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      pack forget .t
      place .t -x 30 -y 50
      frame .f -width 30 -height 20 -bg $color
      .t window create 1.12 -window .f
      update
      winfo geom .f

  ---- Result was:
  30x20+131+55
  ---- Result should have been (exact matching):
  30x20+119+55
  ==== textWind-11.1 FAILED


  ==== textWind-11.2 EmbWinDisplayProc 
  procedure, geometry transforms FAILED
  ==== Contents of test case:

      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      pack forget .t
      place .t -x 30 -y 50
      frame .t.f -width 30 -height 20 -bg $color
      .t window create 1.12 -window .t.f
      update
      winfo geom .t.f

  ---- Result was:
  30x20+101+5
  ---- Result should have been (exact matching):
  30x20+89+5
  ==== textWind-11.2 FAILED


  ==== textWind-13.1 EmbWinBboxProc procedure 
  FAILED
  ==== Contents of test case:

      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      frame .f -width 5 -height 5 -bg $color
      .t window create 1.2 -window .f -align top -
  padx 2 -pady 1
      update
      list [winfo geom .f] [.t bbox .f]

  ---- Result was:
  5x5+23+6 {23 6 5 5}
  ---- Result should have been (exact matching):
  5x5+21+6 {21 6 5 5}
  ==== textWind-13.1 FAILED


  ==== textWind-13.2 EmbWinBboxProc procedure 
  FAILED
  ==== Contents of test case:

      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      frame .f -width 5 -height 5 -bg $color
      .t window create 1.2 -window .f -align center -
  padx 2 -pady 1
      update
      list [winfo geom .f] [.t bbox .f]

  ---- Result was:
  5x5+23+11 {23 11 5 5}
  ---- Result should have been (exact matching):
  5x5+21+9 {21 9 5 5}
  ==== textWind-13.2 FAILED


  ==== textWind-13.9 EmbWinBboxProc procedure, 
  spacing options FAILED
  ==== Contents of test case:

      .t configure -spacing1 5 -spacing3 2
      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      frame .f -width 5 -height 5 -bg $color
      .t window create 1.2 -window .f -align center -
  padx 2 -pady 1
      update
      list [winfo geom .f] [.t bbox .f]

  ---- Result was:
  5x5+23+16 {23 16 5 5}
  ---- Result should have been (exact matching):
  5x5+21+14 {21 14 5 5}
  ==== textWind-13.9 FAILED


  ==== textWind-16.2 EmbWinTextStructureProc 
  procedure FAILED
  ==== Contents of test case:

      .t configure -wrap none
      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      frame .f -width 30 -height 20 -bg $color
      .t window create 1.6 -window .f
      update
      set result {}
      lappend result [winfo geom .f] [.t bbox .f]
      frame .f2 -width 150 -height 30 -bd 2 -relief 
  raised
      pack .f2 -before .t
      update
      lappend result [winfo geom .f] [.t bbox .f]

  ---- Result was:
  30x20+53+5 {53 5 30 20} 30x20+53+35 {53 5 30 
  20}
  ---- Result should have been (exact matching):
  30x20+47+5 {47 5 30 20} 30x20+47+35 {47 5 30 
  20}
  ==== textWind-16.2 FAILED


  ==== textWind-16.4 EmbWinTextStructureProc 
  procedure FAILED
  ==== Contents of test case:

      .t configure -wrap none
      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      frame .t.f -width 30 -height 20 -bg $color
      .t window create 1.6 -window .t.f
      update
      pack forget .t
      update
      list [winfo ismapped .t.f] [.t bbox .t.f]

  ---- Result was:
  1 {53 5 30 20}
  ---- Result should have been (exact matching):
  1 {47 5 30 20}
  ==== textWind-16.4 FAILED

  tk.test
  unixButton.test
  unixEmbed.test
  unixFont.test
  unixMenu.test
  unixSelect.test
  unixWm.test

  ==== unixWm-9.4 TkWmMapWindow procedure, 
  icon windows FAILED
  ==== Contents of test case:

      catch {destroy .t}
      sleep 500
      toplevel .t -width 100 -height 50 -bg blue
      wm iconwindow . .t
      update
      set result [winfo ismapped .t]

  ---- Result was:
  1
  ---- Result should have been (exact matching):
  0
  ==== unixWm-9.4 FAILED


  ==== unixWm-16.2 Tk_WmCmd 
  procedure, "deiconify" option FAILED
  ==== Contents of test case:

      catch {destroy .icon}
      toplevel .icon -width 50 -height 50 -bg red
      wm iconwindow .t .icon
      set result [list [catch {wm deiconify .icon} msg] 
  $msg]
      destroy .icon
      set result

  ---- Result was:
  1 {can't deiconify .icon: it is an icon for .icon}
  ---- Result should have been (exact matching):
  1 {can't deiconify .icon: it is an icon for .t}
  ==== unixWm-16.2 FAILED


  ==== unixWm-22.1 Tk_WmCmd 
  procedure, "iconbitmap" option FAILED
  ==== Contents of test case:

      list [catch {wm iconbitmap .t 12 13} msg] $msg

  ---- Result was:
  1 {illegal option "12 must be "-default"}
  ---- Result should have been (exact matching):
  1 {wrong # arguments: must be "wm iconbitmap 
  window ?bitmap?"}
  ==== unixWm-22.1 FAILED


  ==== unixWm-23.4 Tk_WmCmd 
  procedure, "iconify" option FAILED
  ==== Contents of test case:

      catch {destroy .t2}
      toplevel .t2
      wm geom .t2 +0+0
      wm iconwindow .t .t2
      set result [list [catch {wm iconify .t2} msg] $msg]
      destroy .t2
      set result

  ---- Result was:
  1 {can't iconify .t2: it is an icon for .t2}
  ---- Result should have been (exact matching):
  1 {can't iconify .t2: it is an icon for .t}
  ==== unixWm-23.4 FAILED


  ==== unixWm-25.1 Tk_WmCmd 
  procedure, "iconname" option FAILED
  ==== Contents of test case:

      list [catch {wm icon .t} msg] $msg

  ---- Result was:
  1 {unknown or ambiguous option "icon": must be 
  aspect, attributes, client, comma
  nd, deiconify, focusmodel, frame, geometry, grid, 
  group, iconbitmap, iconify, ic
  onmask, iconname, iconposition, iconwindow, 
  maxsize, minsize, overrideredirect,
  positionfrom, protocol, resizable, sizefrom, 
  stackorder state, title, transient,
   or withdraw}
  ---- Result should have been (exact matching):
  1 {unknown or ambiguous option "icon": must be 
  aspect, attributes, client, comma
  nd, deiconify, focusmodel, frame, geometry, grid, 
  group, iconbitmap, iconify, ic
  onmask, iconname, iconposition, iconwindow, 
  maxsize, minsize, overrideredirect,
  positionfrom, protocol, resizable, sizefrom, 
  stackorder, state, title, transient
  , or withdraw}
  ==== unixWm-25.1 FAILED


  ==== unixWm-27.6 Tk_WmCmd 
  procedure, "iconwindow" option, changing icons 
  FAILED
  ==== Contents of test case:

      catch {destroy .icon}
      catch {destroy .icon2}
      toplevel .icon -width 50 -height 50 -bg green
      toplevel .icon2 -width 50 -height 50 -bg red
      set result {}
      wm iconwindow .t .icon
      lappend result [wm state .icon] [wm state .icon2]
      wm iconwindow .t .icon2
      lappend result [wm state .icon] [wm state .icon2]
      destroy .icon .icon2
      set result

  ---- Result was:
  icon normal normal icon
  ---- Result should have been (exact matching):
  icon normal withdrawn icon
  ==== unixWm-27.6 FAILED


  ==== unixWm-27.7 Tk_WmCmd 
  procedure, "iconwindow" option, withdrawing icon 
  FAILE
  D
  ==== Contents of test case:

      catch {destroy .icon}
      toplevel .icon -width 50 -height 50 -bg green
      wm geometry .icon +0+0
      update
      set result {}
      lappend result [wm state .icon] [winfo 
  viewable .icon]
      wm iconwindow .t .icon
      lappend result [wm state .icon] [winfo 
  viewable .icon]
      destroy .icon
      set result

  ---- Result was:
  couldn't send withdraw message to window 
  manager
  ---- Result should have been (exact matching):
  normal 1 icon 0
  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ==== unixWm-27.7 FAILED


  ==== unixWm-35.1 Tk_WmCmd procedure, "state" 
  option FAILED
  ==== Contents of test case:

      list [catch {wm state .t 1} msg]  $msg

  ---- Result was:
  1 {bad argument "1": must be normal, iconic, 
  withdrawn or zoomed}
  ---- Result should have been (exact matching):
  1 {bad argument "1": must be normal, iconic or 
  withdrawn}
  ==== unixWm-35.1 FAILED


  ==== unixWm-39.1 Tk_WmCmd procedure, 
  miscellaneous FAILED
  ==== Contents of test case:

      list [catch {wm unknown .t} msg] $msg

  ---- Result was:
  1 {unknown or ambiguous option "unknown": must 
  be aspect, attributes, client, co
  mmand, deiconify, focusmodel, frame, geometry, 
  grid, group, iconbitmap, iconify,
   iconmask, iconname, iconposition, iconwindow, 
  maxsize, minsize, overrideredirec
  t, positionfrom, protocol, resizable, sizefrom, 
  stackorder state, title, transie
  nt, or withdraw}
  ---- Result should have been (exact matching):
  1 {unknown or ambiguous option "unknown": must 
  be aspect, attributes, client, co
  mmand, deiconify, focusmodel, frame, geometry, 
  grid, group, iconbitmap, iconify,
   iconmask, iconname, iconposition, iconwindow, 
  maxsize, minsize, overrideredirec
  t, positionfrom, protocol, resizable, sizefrom, 
  stackorder, state, title, transi
  ent, or withdraw}
  ==== unixWm-39.1 FAILED


  ==== unixWm-42.1 WrapperEventProc procedure, 
  map and unmap events FAILED
  ==== Contents of test case:

      catch {destroy .t}
      toplevel .t -width 400 -height 150
      wm geometry .t +0+0
      tkwait visibility .t
      set result {}
      bind .t <Map> {set x "mapped"}
      bind .t <Unmap> {set x "unmapped"}
      set x {no event}
      wm iconify .t
      lappend result $x [winfo ismapped .t]
      set x {no event}
      wm deiconify .t
      lappend result $x [winfo ismapped .t]

  ---- Result was:
  unmapped 0 {no event} 1
  ---- Result should have been (exact matching):
  unmapped 0 mapped 1
  ==== unixWm-42.1 FAILED


  ==== unixWm-44.10 UpdateGeometryInfo 
  procedure, menubar changing FAILED
  ==== Contents of test case:

      catch {destroy .t}
      toplevel .t -width 80 -height 60
      wm resizable .t 0 0
      wm geometry .t +0+0
      tkwait visibility .t
      .t configure -width 180 -height 50
      frame .t.m -bd 2 -relief raised -width 100 -
  height 50
      testmenubar window .t .t.m
      update
      .t configure -height 70
      .t.m configure -height 30
      list [update] [destroy .t]

  ---- Result was:
  testmenubar is supported only under Unix
  ---- Result should have been (exact matching):
  {} {}
  ---- Test generated error; Return code was: 1
  ---- Return code should have been one of: 0 2
  ==== unixWm-44.10 FAILED


  ==== unixWm-48.1 ParseGeometry procedure 
  FAILED
  ==== Contents of test case:

      wm geometry .t =100x120
      update
      list [winfo width .t] [winfo height .t]

  ---- Result was:
  104 120
  ---- Result should have been (exact matching):
  100 120
  ==== unixWm-48.1 FAILED


  ==== unixWm-49.1 Tk_GetRootCoords procedure 
  FAILED
  ==== Contents of test case:

      catch {destroy .t}
      toplevel .t -width 300 -height 200
      frame .t.f -width 150 -height 100 -bd 2 -relief 
  raised
      place .t.f -x 150 -y 120
      frame .t.f.f -width 20 -height 20 -bd 2 -relief 
  raised
      place .t.f.f -x 10 -y 20
      wm overrideredirect .t 1
      wm geometry .t +40+50
      tkwait visibility .t
      list [winfo rootx .t.f.f] [winfo rooty .t.f.f]

  ---- Result was:
  0 0
  ---- Result should have been (exact matching):
  202 192
  ==== unixWm-49.1 FAILED


  ==== unixWm-50.1 Tk_CoordsToWindow 
  procedure, finding a toplevel, x-coords FAILE
  D
  ==== Contents of test case:

      deleteWindows
      toplevel .t -width 300 -height 400 -bg green
      wm geom .t +40+0
      tkwait visibility .t
      toplevel .t2 -width 100 -height 80 -bg red
      wm geom .t2 +140+200
      tkwait visibility .t2
      raise .t2
      set x [winfo rootx .t]
      set y [winfo rooty .t]
      list [winfo containing [expr $x - 30] [expr $y + 
  250]]  [winfo containing [e
  xpr $x - 1] [expr $y + 250]]  [winfo containing $x 
  [expr $y + 250]]  [winfo cont
  aining [expr $x + 99] [expr $y + 250]]  [winfo 
  containing [expr $x + 100] [expr
  $y + 250]]  [winfo containing [expr $x + 199] [expr 
  $y + 250]]  [winfo containin
  g [expr $x + 200] [expr $y + 250]]  [winfo 
  containing [expr $x + 220] [expr $y +
   250]]

  ---- Result was:
  {} {} .t {} .t2 .t2 .t2 .t
  ---- Result should have been (exact matching):
  {} {} .t {} .t2 .t2 {} .t
  ==== unixWm-50.1 FAILED


  ==== unixWm-50.3 Tk_CoordsToWindow 
  procedure, finding a toplevel with embedding
  FAILED
  ==== Contents of test case:

      deleteWindows
      toplevel .t -width 300 -height 400 -bg blue
      wm geom .t +0+50
      frame .t.f -container 1
      place .t.f -x 150 -y 50
      tkwait visibility .t.f
      setupbg
      dobg "
          wm withdraw .
          toplevel .x -width 100 -height 80 -use [winfo 
  id .t.f] -bg yellow
          tkwait visibility .x"
      set result [dobg {
          set x [winfo rootx .x]
          set y [winfo rooty .x]
          list [winfo containing [expr $x - 1] [expr $y + 
  50]]  [winfo containing
  $x [expr $y +50]]
      }]
      set x [winfo rootx .t]
      set y [winfo rooty .t]
      lappend result [winfo containing [expr $x + 200] 
  [expr $y + 49]]  [winfo con
  taining [expr $x + 200] [expr $y +50]]

  ---- Result was:
  {} .x .t {}
  ---- Result should have been (exact matching):
  {} .x .t .t.f
  ==== unixWm-50.3 FAILED


  ==== unixWm-60.1 wm attributes FAILED
  ==== Contents of test case:

      destroy .t
      toplevel .t
      wm attributes .t

  ---- Result was:
  -disabled 0 -toolwindow 0 -topmost 0
  ---- Result should have been (exact matching):

  ==== unixWm-60.1 FAILED


  ==== unixWm-60.2 wm attributes FAILED
  ==== Contents of test case:

      destroy .t
      toplevel .t
      list [catch {wm attributes .t -foo} msg] $msg

  ---- Result was:
  1 {wrong # arguments: must be "wm attributes 
  window ?-disabled ?bool?? ?-toolwin
  dow ?bool?? ?-topmost ?bool??"}
  ---- Result should have been (exact matching):
  1 {wrong # arguments: must be "wm attributes 
  window"}
  ==== unixWm-60.2 FAILED

  util.test
  visual.test
  visual_bb.test
  winButton.test

  ==== winbutton-1.1 TkpComputeButtonGeometry 
  procedure FAILED
  ==== Contents of test case:

      deleteWindows
      image create test image1
      image1 changed 0 0 0 0 60 40
      label .b1 -image image1 -bd 4 -padx 0 -pady 2
      button .b2 -image image1 -bd 4 -padx 0 -pady 
  2
      checkbutton .b3 -image image1 -bd 4 -padx 1 -
  pady 1
      radiobutton .b4 -image image1 -bd 4 -padx 2 -
  pady 0
      pack .b1 .b2 .b3 .b4
      update
      # with patch 463234 with native L&F enabled, 
  this returns:
      # {68 48 70 50 88 50 88 50}
      list [winfo reqwidth .b1] [winfo reqheight .b1]  
  [winfo reqwidth .b2] [winfo
   reqheight .b2]  [winfo reqwidth .b3] [winfo 
  reqheight .b3]  [winfo reqwidth .b4
  ] [winfo reqheight .b4]

  ---- Result was:
  68 48 72 52 92 54 92 54
  ---- Result should have been (exact matching):
  68 48 70 50 90 52 90 52
  ==== winbutton-1.1 FAILED


  ==== winbutton-1.2 TkpComputeButtonGeometry 
  procedure FAILED
  ==== Contents of test case:

      deleteWindows
      label .b1 -bitmap question -bd 3 -padx 0 -pady 
  2
      button .b2 -bitmap question -bd 3 -padx 0 -
  pady 2
      checkbutton .b3 -bitmap question -bd 3 -padx 
  1 -pady 1
      radiobutton .b4 -bitmap question -bd 3 -padx 
  2 -pady 0
      pack .b1 .b2 .b3 .b4
      update
      # with patch 463234 with native L&F enabled, 
  this returns:
      # {23 33 25 35 43 35 43 35}
      list [winfo reqwidth .b1] [winfo reqheight .b1]  
  [winfo reqwidth .b2] [winfo
   reqheight .b2]  [winfo reqwidth .b3] [winfo 
  reqheight .b3]  [winfo reqwidth .b4
  ] [winfo reqheight .b4]

  ---- Result was:
  23 33 27 37 47 39 47 39
  ---- Result should have been (exact matching):
  23 33 25 35 45 37 45 37
  ==== winbutton-1.2 FAILED


  ==== winbutton-1.3 TkpComputeButtonGeometry 
  procedure FAILED
  ==== Contents of test case:

      deleteWindows
      label .b1 -bitmap question -bd 3 -
  highlightthickness 4
      button .b2 -bitmap question -bd 3 -
  highlightthickness 0
      checkbutton .b3 -bitmap question -bd 3 -
  highlightthickness 1  -indicatoron 0

      radiobutton .b4 -bitmap question -bd 3 -
  indicatoron false
      pack .b1 .b2 .b3 .b4
      update
      # with patch 463234 with native L&F enabled, 
  this returns:
      # {31 41 23 33 25 35 25 35}
      list [winfo reqwidth .b1] [winfo reqheight .b1]  
  [winfo reqwidth .b2] [winfo
   reqheight .b2]  [winfo reqwidth .b3] [winfo 
  reqheight .b3]  [winfo reqwidth .b4
  ] [winfo reqheight .b4]

  ---- Result was:
  31 41 23 33 27 37 29 39
  ---- Result should have been (exact matching):
  31 41 23 33 27 37 27 37
  ==== winbutton-1.3 FAILED


  ==== winbutton-1.9 TkpComputeButtonGeometry 
  procedure FAILED
  ==== Contents of test case:

      deleteWindows
      button .b2 -bitmap question -default normal
      list [winfo reqwidth .b2] [winfo reqheight .b2]

  ---- Result was:
  25 35
  ---- Result should have been (exact matching):
  23 33
  ==== winbutton-1.9 FAILED

  winClipboard.test
  winDialog.test
  winFont.test
  winMenu.test
  winSend.test
  winWm.test

  ==== winWm-5.1 UpdateGeometryInfo: menu 
  resizing FAILED
  ==== Contents of test case:

      set result {}
      toplevel .t
      frame .t.f -width 150 -height 50 -bg red
      pack .t.f
      update
      set result [winfo height .t]
      menu .t.m
      .t.m add command -label foo
      .t conf -menu .t.m
      update
      lappend result [winfo height .t]
      .t.m add command -label "thisisreallylong"
      .t.m add command -label "thisisreallylong"
      update
      lappend result [winfo height .t]
      destroy .t
      set result

  ---- Result was:
  50 50 32
  ---- Result should have been (exact matching):
  50 50 50
  ==== winWm-5.1 FAILED

  window.test
  winfo.test
  wm.test
  xmfbox.test

  Tests ended at Mon Jul 15 11:45:43 AM GMT 
  Daylight Time 2002
  all.tcl:        Total   8112    Passed  6651    Skipped 
  1367    Failed  94
  Sourced 182 Test Files.
  Files with failing tests: panedwindow.test send.test 
  textWind.test unixWm.test w
  inButton.test winWm.test
  Number of tests skipped for each constraint:
          8       altDisplay
          16      colorsFree
          7       emptyTest
          265     fonts
          2       knownBug
          310     macOnly
          15      macOrUnix
          81      nonPortable
          79      nonUnixUserInteraction
          35      nt
          3       pseudocolor
          3       pseudocolor8
          1       tempNotPc
          2       testwrapper
          294     unix
          176     unixOnly
          19      userInteraction
          51      winSend
  stderr32
  Administrator@TRAPPER ~/tcl-source/tk8.4/win
  $


tkt_uuid: 699022ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 63. Tk_Win Functions
priority: 5 Medium
foundin: None
resolution: Fixed
title: invalid handle issues
comment:
  attached is a patch to resolve invalid handle problems 
  that are usually not noticed (no exceptions raised), but 
  tools such as NuMega's BoundsChecker can catch.


tkt_uuid: 3217462fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 88. Themed Tk
priority: 5 Medium
foundin: None
resolution: None
title: Tri-state buttons not working for non-native themes
comment:
  ttk::checkbutton and ttk::radiobutton are supposed to show an undetermined state, when the associated variable is unset. For native themes under windows and macosx, this works fine. For non-native themes, the buttons  switch to the alternate state, but there is no visual difference. On X11, every possible theme is affected (all are non-native). 

  The attached script shows the problem


tkt_uuid: 220946ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 44. Generic Fonts
priority: 5 Medium
foundin: obsolete: 8.3.2
resolution: Works For Me
title: Tcl/Tk 8.3.2 on SCO OpenServer.
comment:
  OriginalBugID: 6186 Bug
  Version: 8.3.2
  SubmitDate: '2000-08-31'
  LastModified: 
  Severity: SER
  Status: UnAssn
  Submitter: techsupp
  OS: Other
  OSVersion: SCO OpenServer 5.0.5
  Machine: Dell PowerEdge 2300


  Name:
  Krzysztof Hrebeniuk

  Extensions:
  TclX 8.2.0

  ObservedBehavior:
  Tcl/Tk 8.3.2 on SCO OpenServer 5.0.5 - some observations.

  1. Compilation
  ----------
  I use gcc ver. 2.95.2pl1 from Skunkware 99 distribution.

  tclsh and wish compiles OK with --enable-shared (default)
  option, but during compilation phase LD_RUN_PATH
  should be set to /usr/local/lib - if this is the place where
  libtcl8.3.so will be installed (if it was not set, LD_LIBRARY_PATH
  has to be set properly before executing tclsh or wish
  - in other case dynamic linker will complain).

  Before running configure in tk8.3.2 source tree, CC variable
  has to be set to gcc. When configure script finishes, Makefile
  has to be edited and variable X11_LIB_SWITCHES has to be
  changed from -L/usr/lib -lX11, to -lX11. If it's not changed,
  wish will crash with "Memory fault - core dumped" error.
  In this case gdb informs that "Program received signal SIGSEGV,
  segmentation fault (...) from /usr/lib/libc.so.1".

  Compilation with --disable-shared option, makes useable
  executables without any difficulties. But in both cases I received
  warnings concerning "implicit declaration of strcasecmp" and
  strncasecmp.

  Without regard of compilation method (shared or not), wishx 8.2
  dumps core when application main window is destroyed using
  windows manager control menu button ("called Tcl_FindHashEntry
  on deleted table"). Instead of using wishx, I use wish and then
  "package require Tclx 8.2" inside script.

  2. Polish locale and problems with wish
  ----------------------------

  My LANG variable is set to pl_PL.ISO8859-2.

  a) Basic problem

  In this locale, decimal separator is "," (comma).
  The following command is valid under tclsh:

  % expr 4.5 * 3.2
  14.4

  and this one is invalid:

  % expr 4,5 * 3,2
  syntax error in expresion "4,5 * 3,2"

  And this is OK - in other case all known scripts should be
  specially "localized".
  But under wish none of this command is valid!
  I always receive syntax error. wish is completely unusable -
  I'm even not able to drag a slider on a scrollbar:
  "Error: can't use non-numeric string as operand of "+"".
  This behaviour is not specific to 8.3.2 distribution nor compiler
  used - I first observed this in tk 7.4p2 compiled with SCO
  Development System.
  The only way out is to set LANG to another value, for example
  en_US.ISO8859-1 or C_C.C, or at least do the following in the first
  three lines of a script:
  #!/bin/sh
  # LC_NUMERIC=C_C.C;export LC_NUMERIC;exec wish "$0" "$@"

  b) Fonts problem

  Untill now I was using tcl/tk/tclx 8.0.4 and following commands worked
  as expected:

  set helv {-adobe-helvetica-bold-r-normal--12-*-*-*-*-*-iso8859-2}
  button .b -text "Po³±cz" -font $helv -command polaczCB

  In the word "Po³±cz" (in english: Connect) letter ³ has number 0xb3
  and letter ± has number 0xb1 in ISO8859-2 charset.

  Dynamically linked wish
  -----------------

  Now, instead of "³" I see "greater or equal" sign and instead of "±"
  plusminus sign. First I thought that instead of iso8859-2 charset,
  iso8859-1 is used - plusminus sign has 0xb1 number.
  But what charset "greater or equal" sign come from?
  In iso8859-1 charset, there is threesuperior sign on position 0xb3.
  xset -q command shows that in Font Path all my ISO8859-2 characters
  are before ISO8859-1 ones. Command "encoding system" returns "identity"
  (what does it mean?). Executing command: encoding system iso8859-2
  doesn't change anything.

  Statically linked wish
  ---------------

  Everything works as expected. Command: encoding system returns iso8859-2.
  Fonts are displayed corectly assuming that only LC_NUMERIC is set to C_C.C,
  not LANG - in this case I always get "greater or equal".
  There is even no need to specify that iso8859-2 characters have to be used -
  they are used by default.

  DesiredBehavior:
  I would like to be able to use dynamically linked version of tcl/tk
  - it concerns fonts problems described above.
  There should be no need to use a trick with LC_NUMERIC variable
  - i.e. locale pl_PL.ISO8859-2 should be recognized and supported.


tkt_uuid: 559792ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 05. Canvas Items
priority: 5 Medium
foundin: obsolete: 8.3.4
resolution: None
title: Long line problem in canvas?
comment:
    The code below appears (I think) to illustrate a problem
  with long lines in a canvas. The code should (I think) produce 6
  lines of increasing length. The first 4 are OK, the last 2
  (the longest) appear to be drawn incorrectly and have some
  "odd" behaviour as you scroll (i.e. they appear at some point
  as you scroll down).

    Am I missing something?

  ---- Code ----
  set w .f
  frame $w

  canvas $w.bt -width 150 -height 400 \
  -scrollregion "0 0 150 60000" -yscrollcommand "$w.sb set"
  scrollbar $w.sb -orient vertical -command "$w.bt yview"
  pack $w.bt -side left -fill both -expand 1 -padx 5 -pady 5
  pack $w.sb -side left -fill y

  pack $w -fill both -expand yes

  set off 10
  for { set c 1000 } { $c < 60000 } { incr c 10000; incr off 10 } {
  puts "create line $off 20 $off $c"
  $w.bt create line $off 20 $off $c
  }


tkt_uuid: 526791ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Fixed
title: canvas bug - MS Windows
comment:
  I get the following error while creating images on a 
  canvas: "WISH83 has caused an error in TK83.DLL.  
  WISH83 will now close."  I get the error in MS Windows 
  only (Me, NT, 2000).  I have attached a script and ppm 
  file to demonstrate the error.  This script runs fine 
  in Linux but gets the above error in Windows.


tkt_uuid: 220400ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 54. [console]
priority: 2
foundin: obsolete: 8.0.3
resolution: Fixed
title: Problems using exec with the Tk Console
comment:
  OriginalBugID: 872 Bug
  Version: 8.0.3
  SubmitDate: '1998-11-25'
  LastModified: '1999-10-21'
  Severity: SER
  Status: Released
  Submitter: pat
  ChangedBy: hobbs
  OS: All
  OSVersion: NA
  Machine: NA
  FixedDate: '1999-10-21'
  FixedInVersion: 8.2


  Date: Sun, 18 Oct 1998 20:46:32 -0700 (PDT)
  To: tclsupport@scriptics.com
  Subject: Problems using exec with the Tk Console
  From: dr@cs.cmu.edu
  Status: O

  Support From Submission filled out by:  dr@cs.cmu.edu

  BugOrRFE:  Bug
  Product:  Tcl
  Version:  8.0.3
  Severity:  2
  Support:  None
  OperatingSystem:  Linux
  OperatingSystemVersion:  also using NT
  Extensions:  no extensions
  CustomShell:  I have done some small modifications to tkConsole.c, but they don't affect this.
  Synopsis:  Problems using exec with the Tk Console

  ReproducibleScript:
  I have been developing a neural network system that uses Tcl for its scripting language.  Originally I had been using a standard Tcl shell for the non-graphical user interaction.  This was fine in unix.  However, it appears that when I port it to NT I will need to use a Tk Console to serve as the shell.  So I have been trying to get the console working right.

  The problem is with exec'ing commands.  Ordinarily, when an interactive command is exec'ed, I would do something like the following:
  exec >&@stdout <@stdin $cmd $args

  However, when using the console, stdout and stdin have been replaced by console1 and console0.  These do not have true file handlers associated with them so that can't be used by exec.

  DesiredBehavior:
  What I would like to be able to do is to exec an interactive command that will receive its stdin from whatever is typed in the console and print its stdout to the console.  Is there a way to do this?  What is the intended behavior of exec in a console?



  tclsh on NT can handle this, as of sometime before 8.2.
  wish still uses special console handling, but not tclsh. 
  -- 10/21/1999 hobbs


tkt_uuid: 220241ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 84. Unix Build
priority: 1 Zero
foundin: obsolete: 8.2
resolution: Invalid
title: Finding pthreads on SunOS4
comment:
  OriginalBugID: 2893 Bug
  Version: 8.2
  SubmitDate: '1999-09-24'
  LastModified: '1999-09-28'
  Severity: CRIT
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  OS: SunOS
  OSVersion: version 4.1.4
  Machine: Sparc
  ClosedDate: '1999-09-28'


  Name:
  Michael D. Johnson

  Extensions:
  NONE at this point.  Not rebuilt

  CustomShell:
  NO.

  ReproducibleScript:
  Building the 8.2 release on Sun-os-4.1.4 using gcc-2.95.1 with gnu Pth,
      it. fails to find the Pth thread library, installed in normal library
      directory; and having tried all 4 combinations, each builds, but only
      the default no option combination does not hang and actually runs the
      tcl tests, to about a 90% pass rate. TK builds under all combinations
      but core dumps on all attempts.



  Tk is not meant to be used in a threaded environment.  It is
  thread-safe, but not multi-threaded.  Tcl is both with pthreads,
  but it appears that the setup on the machine won't find them.
  The compiler has to be able to find them, as well as the config.
  I don't see what '4 combinations' are implied here. 
  -- 09/28/1999 hobbs


tkt_uuid: 220694ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 07. [entry]
priority: 2
foundin: obsolete: 8.3
resolution: Fixed
title: entry validation should work better with textvar
comment:
  OriginalBugID: 4255 Bug
  Version: 8.3
  SubmitDate: '2000-02-28'
  LastModified: '2000-03-01'
  Severity: LOW
  Status: Released
  Submitter: hobbs
  ChangedBy: hobbs
  OS: All
  FixedDate: '2000-03-01'


  Anytime you set the textvar of an entry variable, entry-based
  validation will turn itself off.  It should only turn off when
  the value is set to something that is 'invalid' to the vcmd.

  pack [entry .e]
  .e config -textvar evar -validate key -vcmd {expr [string length %P] < 8}
  set evar 123

  .e config -validate


  Changed to what the new docs state:

       In general, the  textVariable  and  validateCommand  can  be  |
       dangerous  to  mix.  Any problems have been overcome so that  |
       using the validateCommand will not interfere with the tradi-  |
       tional behavior of the entry widget.  Using the textVariable  |
       for read-only  purposes  will  never  cause  problems.   The  |
       danger  comes when you try set the textVariable to something  |
       that the validateCommand  would  not  accept,  which  causes  |
       validate  to  become  none.   The same happens when an error  |
       occurs evaluating the validateCommand.                        |

       Primarily, an error will occur when the  validateCommand  or  |
       invalidCommand  encounters  an  error  in  its  script while  |
       evaluating or validateCommand does not return  a  valid  tcl  |
       boolean  value.  The validate option will also set itself to  |
       none when you edit the entry widget from within  either  the  |
       validateCommand  or  the invalidCommand.  Such editions will  |
       override the one that was being validated.  If you  wish  to  |
       edit  the  entry  widget  (for  example set it to {}) during  |
       validation and still  have  the  validate  option  set,  you  |
       should include the command                                    |
                 after idle {%W config -validate %v}                 |
       in the validateCommand or invalidCommand (whichever one  you  |
       were editing the entry widget from).  It is also recommended  |
       to not set an associated textVariable during validation,  as  |
       that  can  cause the entry widget to become out of sync with  |
       the textVariable.
   
  -- 03/01/2000 hobbs


tkt_uuid: 220897ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.3
resolution: Works For Me
title: Directory dialog not modal, can still select Browse from New
comment:
  OriginalBugID: 4297 Bug
  Version: 8.3
  SubmitDate: '2000-03-03'
  LastModified: '2000-03-06'
  Severity: MED
  Status: UnAssn
  Submitter: foster
  ChangedBy: sven
  OS: All Windows


  The Tk file selector box under Windows is not putting a grab on all windows. That is inconsistent with the Unix dialog, and unexpected behavior. 

  Selecting New Project brings up a New Project window with a Browse button.
  Pressing Browse brings up a Directory selection dialog.
  This dialog doesn't seem to do a good enough grab, so that I
  can still hit Browse again in the New Project window and get ANOTHER
  directory dialog, and so on. 

  This looks bad, and can cause problems.

  This is blamed on a Tk bug that affects other Windows dialogs as well


tkt_uuid: 1450041fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 66. Aqua Window Operations
priority: 5 Medium
foundin: obsolete: 8.4.10
resolution: Fixed
title: wm state does not return corect value
comment:
  When a window is minimized, "wm state" still returns
  "normal". The bindings to events like <Map> and <Unmap>
  also fail to fire at minimization. When a window is
  iconified from the script using "wm state iconic", the
  bindings do fire, even if the window is already
  minimized. However, if the window is deiconified by
  clicking on the window in the dock, "wm state" still
  returns "iconic", bindings don't fire and worse, the
  window is not redrawn. Setting the state to normal
  using "wm state normal" will fire the bindings and
  redraw the window.

  likewize the zoom button does not set wm state to zoomed.

  I have curently worked around this by iconifying the
  window using tclCarbonHICommand from Daniel Steffen,
  however this seems like a bad way to go, since it
  completely bypasses the wm state and window events.

  I'm using the latest wishkit (8.4.10). Ignore this if
  it has been fixed in a more recent version.


tkt_uuid: 559450ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 5 Medium
foundin: obsolete: 8.4a5
resolution: Fixed
title: bind tag to [exit]: no cleanup
comment:
  The DestroyText() cleanup routine will only be
  called when all Tcl_Preserve() calls on the
  textPtr are matched with Tcl_Release() calls.
  This is to protect against freeing textPtr
  when callers still need it.

  However, this also prevents DestroyText from
  cleaning up other resources held by the text
  widget, notably fonts.  When fonts are not
  properly cleaned up, Tk aborts on [exit] with
  a message noting that failure (Why?  Is this
  debugging code that escaped?)

  The attached demo script illustrates the problem.
  Any time a binding on a tag in the text is
  triggered, there is a Tcl_Preserve() active
  on the text widget, preventing clean up. If that
  binding happens to be [exit], (or if that binding
  starts a nested event loop, in which there's an
  [exit], etc....), then there's a panic().

  Other widgets handle this by keeping a "deleted"
  flag in the widget structure, and setting it
  when the structure is no longer valid because
  the widget has been deleted.  This separates the
  release of other resources like fonts -- part of
  deletion -- from the free()-ing of the struct
  itself.  Only the latter needs to be guaranteed
  by Tcl_Preserve, with checking of the "deleted"
  flag value serving as any other protection needed.

  Are there any compatibility problems expected with
  adding another field to the TkText struct?


tkt_uuid: 219996ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 1 Zero
foundin: final: 8.1.1
resolution: Duplicate
title: Tcl_Exit() before Tk_Init() --> CRASH!
comment:
  OriginalBugID: 2247 Bug
  Version: 8.1.1
  SubmitDate: '1999-06-16'
  LastModified: '1999-06-29'
  Severity: CRIT
  Status: Closed
  Submitter: techsupp
  ChangedBy: redman
  RelatedBugIDs: 2269
  OS: Windows 95
  Machine: X86
  ClosedDate: '1999-06-29'


  Name:
  Don Porter

  Comments:
  I still want to be able to build "big shells" using Tcl/Tk 8.1.x.
      
      Based on a very inadequate understanding of Tcl stubs tables, here's
      my guess at what is wrong.  I need the help of a stubs expert to help
      work around this problem.
      
      When "demo" calls Tcl_Exit, the program has not yet called Tk_Init(),
      so the Tk DLL has not yet called Tcl_InitStubs, and the Tk DLL cannot
      yet call any Tcl_* routines without crashing.
      
      However, Tcl_Exit()  calls exit() which calls routines to unload
      and cleanup after the Tk DLL.  This includes TkWinWmCleanup which
      tries to call Tcl_GetThreadData.  OOPS!  CRASH!
      
      This problem is holding back our release of an 8.1.x-compatible product.
      Any help finding a workaround is greatly appreciated.

  ReproducibleScript:
  /* FILE: demo.c */
      #include <tcl.h>
      #include <tk.h>
      
      int main(int argc, char *argv[])
      {
        Tcl_Interp *interp;
      
        Tcl_FindExecutable(argv[0]);
        interp = Tcl_CreateInterp();
        Tcl_Init(interp);
        /*
         * It might seem unusual to call Tcl_Exit() at this point, but
         * it might happen in response to an error in Tcl_Init, or an
         * error in the Foo_Init for another extension, Foo, initialized
         * at this point in a "big shell".
         */
        Tcl_Exit(1);
        Tk_Init(interp);
        Tk_MainLoop();
        Tcl_DeleteInterp(interp);
        Tcl_Exit(0);
        return(0);
      }
      /* End FILE: demo.c */
      
      Compile and link demo.c on MS Windows 95 with MSVC++ 5.0:
      
      C:\> cl /c "/IC:\Program Files\Tcl\include" demo.c
      C:\> link demo.obj "C:\Program Files\Tcl\lib\tcl81.lib" "C:\Program
      Files\Tcl\lib\tk81.lib"

  ObservedBehavior:
  Run the executable "demo".  A dialog box pops up reporting:
      
      "This program has performed an illegal operation and will be shut down.
      
      If the program persists, contact the program vendor."

  DesiredBehavior:
  I want the "demo" program to exit clean, without fatal error messages.



  See 2269, includes patch. 
  -- 06/29/1999 redman


tkt_uuid: 3476698fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 18. [text]
priority: 7 High
severity: Minor
foundin: None
resolution: Fixed
title: Patch for failing test text-31.11
comment:
  The attached patch fixes item 3475627:

  https://sourceforge.net/tracker/index.php?func=detail&aid=3475627&group_id=12997&atid=112997

  The patch is against the latest core-8-5-branch.


tkt_uuid: 1210712fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 85. Win Build
priority: 5 Medium
foundin: obsolete: 8.5a3
resolution: Fixed
title: mingw needs _WIN32_WINNT = 0x0403 for SendInput API
comment:
  When building with Mingw32, SendInput API requires
  _WIN32_WINNT to be at least 0x0403 to be declared (in
  file winable.h).


tkt_uuid: 3146418fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.5.9
resolution: None
title: tk_getSaveFile: alloc invalid block ... crash
comment:
  Use the following line to crash Tk:
  tk_getSaveFile -initialdir c:/users -defaultextension .xyz -filetypes {{{Curve} .curve}} -initialfile myfile -parent .

  In the dialog you have to click on "Computer" and then back on a drive e.g. D: ... then click on save - Tk crashes.
  Happens in W7.

  thx


tkt_uuid: 220420ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 84. Unix Build
priority: 2
foundin: obsolete: 8.0.4
resolution: Fixed
title: Improve support for AIX shared libraries.
comment:
  OriginalBugID: 1111 Bug
  Version: 8.0.4
  SubmitDate: '1999-01-26'
  LastModified: '1999-03-05'
  Severity: SER
  Status: Released
  Submitter: welch
  ChangedBy: stanton
  OS: Other
  Machine: NA
  FixedDate: '1999-03-05'
  FixedInVersion: 8.0.6


  Name:
  Paul Duffin

  ReproducibleScript:
  The problem is that at the moment Tcl and Tk are built as archives containing
  a shared object which means that Tk in particular is not dynamically loadable
  and neither is any other extension which is also a library. The solution is to
  build shared libraries on AIX as shared objects and to use an export / import
  file to manage the linking.

  The patch can be applied directly to Tk8.1b1 although the configure file will
  need regenerating.

  This patch does require the related patch for Tcl to have also been applied.

  Patch:
  *** tk8.0/unix/.configureThu Jan 14 11:14:34 1999
  --- tk8.0/unix/configureThu Jan 14 11:14:35 1999
  ***************
  *** 2362,2374 ****
    # AIX remembers this path and will attempt to use it at run-time to look
    # up the Tcl library.

  ! if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
  !     TK_LIB_FLAG="-ltk${VERSION}\${TK_DBGX}"
    else
  !     TK_LIB_FLAG="-ltk`echo ${VERSION} | tr -d .`\${TK_DBGX}"
    fi
  - TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}"
  - TK_LIB_SPEC="-L${exec_prefix}/lib ${TK_LIB_FLAG}"

  --- 2362,2382 ----
    # AIX remembers this path and will attempt to use it at run-time to look
    # up the Tcl library.

  ! if test $TK_SHARED_BUILD = 0 -o $TCL_NEEDS_EXP_FILE = 0; then
  !     if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
  ! TK_LIB_FLAG="-ltk${VERSION}\${TK_DBGX}"
  !     else
  ! TK_LIB_FLAG="-ltk`echo ${VERSION} | tr -d .`\${TK_DBGX}"
  !     fi
  !     TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}"
  !     TK_LIB_SPEC="-L${exec_prefix}/lib/tk${VERSION} ${TK_LIB_FLAG}"
    else
  !     TK_BUILD_EXP_FILE="lib.exp"
  !     eval "TK_EXP_FILE=libtk${TCL_EXPORT_FILE_SUFFIX}"
  !     
  !     TK_BUILD_LIB_SPEC="-bI:`pwd`/${TK_BUILD_EXP_FILE}"
  !     TK_LIB_SPEC="-bI:${exec_prefix}/lib/tk${VERSION}/${TK_EXP_FILE}"
    fi

  ***************
  *** 2407,2412 ****
  --- 2415,2422 ----

  + 
  + 
    trap '' 1 2 15
    cat > confcache <<\EOF
    # This file is a shell script that caches the results of configure
  ***************
  *** 2564,2569 ****
  --- 2574,2581 ----
    s%@TK_LD_SEARCH_FLAGS@%$TK_LD_SEARCH_FLAGS%g
    s%@TK_LIB_FILE@%$TK_LIB_FILE%g
    s%@TK_LIB_FLAG@%$TK_LIB_FLAG%g
  + s%@TK_BUILD_EXP_FILE@%$TK_BUILD_EXP_FILE%g
  + s%@TK_EXP_FILE@%$TK_EXP_FILE%g
    s%@TK_LIB_SPEC@%$TK_LIB_SPEC%g
    s%@TK_MAJOR_VERSION@%$TK_MAJOR_VERSION%g
    s%@TK_MINOR_VERSION@%$TK_MINOR_VERSION%g
  *** tk8.0/unix/.configure.inThu Jan 14 11:14:36 1999
  --- tk8.0/unix/configure.inThu Jan 14 11:14:36 1999
  ***************
  *** 398,410 ****
    # AIX remembers this path and will attempt to use it at run-time to look
    # up the Tcl library.

  ! if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
  !     TK_LIB_FLAG="-ltk${VERSION}\${TK_DBGX}"
    else
  !     TK_LIB_FLAG="-ltk`echo ${VERSION} | tr -d .`\${TK_DBGX}"
    fi
  - TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}"
  - TK_LIB_SPEC="-L${exec_prefix}/lib ${TK_LIB_FLAG}"

    AC_SUBST(CFLAGS_DEBUG)
    AC_SUBST(CFLAGS_DEFAULT)
  --- 398,418 ----
    # AIX remembers this path and will attempt to use it at run-time to look
    # up the Tcl library.

  ! if test $TK_SHARED_BUILD = 0 -o $TCL_NEEDS_EXP_FILE = 0; then
  !     if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
  ! TK_LIB_FLAG="-ltk${VERSION}\${TK_DBGX}"
  !     else
  ! TK_LIB_FLAG="-ltk`echo ${VERSION} | tr -d .`\${TK_DBGX}"
  !     fi
  !     TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}"
  !     TK_LIB_SPEC="-L${exec_prefix}/lib/tk${VERSION} ${TK_LIB_FLAG}"
    else
  !     TK_BUILD_EXP_FILE="lib.exp"
  !     eval "TK_EXP_FILE=libtk${TCL_EXPORT_FILE_SUFFIX}"
  !     
  !     TK_BUILD_LIB_SPEC="-bI:`pwd`/${TK_BUILD_EXP_FILE}"
  !     TK_LIB_SPEC="-bI:${exec_prefix}/lib/tk${VERSION}/${TK_EXP_FILE}"
    fi

    AC_SUBST(CFLAGS_DEBUG)
    AC_SUBST(CFLAGS_DEFAULT)
  ***************
  *** 432,437 ****
  --- 440,447 ----
    AC_SUBST(TK_LD_SEARCH_FLAGS)
    AC_SUBST(TK_LIB_FILE)
    AC_SUBST(TK_LIB_FLAG)
  + AC_SUBST(TK_BUILD_EXP_FILE)
  + AC_SUBST(TK_EXP_FILE)
    AC_SUBST(TK_LIB_SPEC)
    AC_SUBST(TK_MAJOR_VERSION)
    AC_SUBST(TK_MINOR_VERSION)
  *** tk8.0/unix/.Makefile.inThu Jan 14 11:14:38 1999
  --- tk8.0/unix/Makefile.inThu Jan 14 11:14:38 1999
  ***************
  *** 166,173 ****
    TK_LIB_FLAG = @TK_LIB_FLAG@
    #TK_LIB_FLAG = -ltk

  ! TCL_LIB_FLAG = @TCL_LIB_FLAG@
  ! #TCL_LIB_FLAG = -ltcl

    # The symbol below provides support for dynamic loading and shared
    # libraries.  See configure.in for a description of what it means.
  --- 166,173 ----
    TK_LIB_FLAG = @TK_LIB_FLAG@
    #TK_LIB_FLAG = -ltk

  ! TK_EXP_FILE = @TK_EXP_FILE@
  ! TK_BUILD_EXP_FILE = @TK_BUILD_EXP_FILE@

    # The symbol below provides support for dynamic loading and shared
    # libraries.  See configure.in for a description of what it means.
  ***************
  *** 365,371 ****
    # some ranlibs write to current directory, and this might not always be
    # possible (e.g. if installing as root).

  ! install-binaries: $(TK_LIB_FILE) wish
    @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ;  do  if [ ! -d $$i ] ; then  --- 365,371 ----
    # some ranlibs write to current directory, and this might not always be
    # possible (e.g. if installing as root).

  ! install-binaries: $(TK_LIB_FILE) $(TK_BUILD_EXP_FILE) wish
    @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ;  do  if [ ! -d $$i ] ; then  ***************
  *** 379,384 ****
  --- 379,389 ----
    @$(INSTALL_DATA) $(TK_LIB_FILE) $(LIB_INSTALL_DIR)/$(TK_LIB_FILE)
    @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TK_LIB_FILE))
    @chmod 555 $(LIB_INSTALL_DIR)/$(TK_LIB_FILE)
  + @if test "$(TK_BUILD_EXP_FILE)" != ""; then  +     echo "Installing $(TK_EXP_FILE)";  +     $(INSTALL_DATA) $(TK_BUILD_EXP_FILE)  + $(LIB_INSTALL_DIR)/$(TK_EXP_FILE);  +     fi
    @echo "Installing wish"
    @$(INSTALL_PROGRAM) wish $(BIN_INSTALL_DIR)/wish$(VERSION)
    @echo "Installing tkConfig.sh"

  PatchFiles:
  tk8.0/unix/configure
  tk8.0/unix/configure.in
  tk8.0/unix/Makefile.in



  03/02/1999 17:20 - pat -duplicate of bug 1110
  03/05/1999 16:23 - stanton - This is not a duplicate.  The patch applies to Tk instead of Tcl.


tkt_uuid: 1160957fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: obsolete: 8.4.9
resolution: Invalid
title: shaking window, scroller bar appear and disappear
comment:
  If you are using BWidget 1.7.0, please run following code.
  You will see a shaking ScrolledWindow.The memory
  consumption keep increasing too.

  Note, 1. replaced $bwidget_path to you BWidget directory.
          2. "CP: 555  * AAA-I am shaking wildly 10mm
  dia:  59.5 mm" is a single line, Changing the length of
  the text dismantles the shaking.
         3. Shaking is caused by the appearing and
  disappearing of the scrollers. Changing "-auto both" to
  "-auto vertical" dismantles the shaking.

  Any clue to solve it? Thanks.
  # Environment:
  #     Linux 2.4.21-9.ELsmp
  #     tcl/tk 8.4


tkt_uuid: 220040ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 13. Win Menus
priority: 1 Zero
foundin: final: 8.0.5
resolution: Duplicate
title: TK menus don't respond to event bindings
comment:
  OriginalBugID: 3462 RFE
  Version: 8.0.5
  SubmitDate: '1999-11-05'
  LastModified: '2000-01-05'
  Severity: LOW
  Status: Closed
  Submitter: techsupp
  ChangedBy: ericm
  RelatedBugIDs: 3222
  OS: All Windows
  ClosedDate: '2000-01-05'


  Name:
  Dionisios Pothos

  DesiredBehavior:
  1. TK menus in WindowsNT/9x platforms to respond to event bindings
      (currently
      this is possible only to Unix implementations).
      2. Make Tk menus scrollable (similar to IE5 Favorites menu). This
      feature is usefull when menus have large number of entries.



  Duplicate of #3222.

  - eric
   
  -- 01/05/2000 ericm


tkt_uuid: 2904708fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 03. [*button] and [label]
priority: 5 Medium
foundin: obsolete: 8.5.8
resolution: None
title: Error from checkbutton bindings when -selectcolor is ""
comment:
  I get the following error when I move the mouse pointer over an indicatorless checkbutton:

  unknown color name ""
      while executing
  "winfo rgb $w [$w cget -selectcolor]"
      (procedure "tk::CheckEnter" line 23)
      invoked from within
  "tk::CheckEnter .c"
      (command bound to event)

  The checkbutton manual page indicates that "" is a valid value for the -selectcolor option: "If specified as an empty string then no special color is used for displaying when the widget is selected". But the new checkbutton bindings introduced in Tk 8.5.8 don't account for this.

  Tested on OpenSuSE 11.2, x86_64, KDE 4.3.1


tkt_uuid: 1789752fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: None
priority: 5 Medium
foundin: None
resolution: Accepted
title: background exception handling
comment:
  Here's a patch that transforms
  most Tcl_BackgroundError() calls
  in Tk into TclBackgroundException()
  calls when that appears more
  appropriate.

  Leaving it to maintainer judgment
  whether the slightly more correct
  result is worth greater use of
  Tcl internal interfaces, or whether
  this should wait until something
  in Tcl's public interface arrives.


tkt_uuid: 224002ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 3 Low
foundin: final: 8.2.3
resolution: Wont Fix
title: On Win32, Tk console is always covered at startup
comment:
  After you install wish, run it from the start-menu. Both the . window and the tk console are shown, with the console covered by the . window. This obscures the view of the console and makes it difficult to type into the console.

  Plus, at this point, if you click on the body if the console, it will not raise the console to the top of the . window. You have to click on the title bar of the console.


tkt_uuid: 1370296fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 18. [text]
priority: 9 Immediate
foundin: obsolete: 8.5a4
resolution: Fixed
title: test failures: error messages
comment:
  ==== textDisp-14.15 TkTextXviewCmd procedure FAILED
  ==== Contents of test case:

      list [catch {.t xview scroll 14 globs} msg] $msg

  ---- Result was:
  1 {bad argument "globs": must be units, pages, or pixels}
  ---- Result should have been (exact matching):
  1 {bad argument "globs": must be units, pages or pixels}
  ==== textDisp-14.15 FAILED


  ==== textDisp-14.16 TkTextXviewCmd procedure FAILED
  ==== Contents of test case:

      list [catch {.t xview flounder} msg] $msg

  ---- Result was:
  1 {bad option "flounder": must be moveto or scroll}
  ---- Result should have been (exact matching):
  1 {unknown option "flounder": must be moveto or scroll}
  ==== textDisp-14.16 FAILED


  ==== textDisp-16.2 TkTextYviewCmd procedure FAILED
  ==== Contents of test case:

      list [catch {.t yview 2 3} msg] $msg

  ---- Result was:
  1 {bad option "2": must be moveto or scroll}
  ---- Result should have been (exact matching):
  1 {unknown option "2": must be moveto or scroll}
  ==== textDisp-16.2 FAILED

  ==== textDisp-16.5 TkTextYviewCmd procedure FAILED
  ==== Contents of test case:

      list [catch {.t yview -bogus 2} msg] $msg

  ---- Result was:
  1 {bad option "-bogus": must be moveto or scroll}
  ---- Result should have been (exact matching):
  1 {unknown option "-bogus": must be moveto or scroll}
  ==== textDisp-16.5 FAILED


  ==== textDisp-16.21 TkTextYviewCmd procedure, "scroll"
  option FAILED
  ==== Contents of test case:

      list [catch {.t yview scroll badInt bogus} msg] $msg

  ---- Result was:
  1 {bad argument "bogus": must be units, pages, or pixels}
  ---- Result should have been (exact matching):
  1 {bad argument "bogus": must be units, pages or pixels}
  ==== textDisp-16.21 FAILED


  ==== textDisp-16.22.1 TkTextYviewCmd procedure,
  "scroll" option, back pages FAILED
  ==== Contents of test case:

      list [catch {.t yview scroll -3 p} res] $res

  ---- Result was:
  1 {ambiguous argument "p": must be units, pages, or pixels}
  ---- Result should have been (exact matching):
  1 {ambiguous argument "p": must be units, pages or pixels}
  ==== textDisp-16.22.1 FAILED


  ==== textDisp-16.32 TkTextYviewCmd procedure FAILED
  ==== Contents of test case:

      list [catch {.t yview scroll 12 bogoids} msg] $msg

  ---- Result was:
  1 {bad argument "bogoids": must be units, pages, or pixels}
  ---- Result should have been (exact matching):
  1 {bad argument "bogoids": must be units, pages or pixels}
  ==== textDisp-16.32 FAILED

  ==== textDisp-16.33 TkTextYviewCmd procedure FAILED
  ==== Contents of test case:

      list [catch {.t yview bad_arg 1 2} msg] $msg

  ---- Result was:
  1 {bad option "bad_arg": must be moveto or scroll}
  ---- Result should have been (exact matching):
  1 {unknown option "bad_arg": must be moveto or scroll}
  ==== textDisp-16.33 FAILED


tkt_uuid: 575333ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 99. Other
priority: 4
foundin: obsolete: 8.4a3
resolution: Duplicate
title: non-portable tests
comment:
  Solaris 9/Ultra 1/gcc 2.95.3

   ==== unixfont-2.4 TkpGetFontFromAttributes procedure:
  Helvetica  relatives FAILED
   ==== Contents of test case:

      set x {}
      lappend x [lindex [font actual {-family "Arial"}] 1]
      lappend x [lindex [font actual {-family "Geneva"}] 1]
      lappend x [lindex [font actual {-family
  "Helvetica"}] 1]

   ---- Result was:
   arial helvetica helvetica
   ---- Result should have been:
   helvetica helvetica helvetica
   ==== unixfont-2.4 FAILED

   ==== frame-14.1 labelframe labelwidget option FAILED
   ==== Contents of test case:

      # Test that label is moved in stacking order
      destroy .f .l
      label .l -text Mupp
      labelframe .f -labelwidget .l
      pack .f
      frame .f.f -width 50 -height 50
      pack .f.f
      update
      set res [list [winfo children .] [winfo width .f] 
  [expr {[winfo height .f] - [winfo height .l]}]]
      destroy .f .l
      set res

   ---- Result was:
   {.f .l} 58 52
   ---- Result should have been:
   {.f .l} 54 52
   ==== frame-14.1 FAILED

   ==== listbox-13.3 ListboxScanTo procedure FAILED
   ==== Contents of test case:

      .l yview moveto 1.0
      .l xview moveto 1.0
      .l scan mark 10 20
      .l scan dragto 5 10
      update
      set x [list [.l xview] [.l yview]]
      .l scan dragto [expr 5+$width] [expr 10+$height]
      update
      lappend x [.l xview] [.l yview]

   ---- Result was:
   {0.8 1} {0.75 1} {0.64 0.84} {0.25 0.5}
   ---- Result should have been:
   {0.8 1} {0.75 1} {0.62 0.82} {0.25 0.5}
   ==== listbox-13.3 FAILED


tkt_uuid: 220331ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.3
resolution: Fixed
title: tk_getOpenFile does not iconify properly when its parent is iconified as a transient window.
comment:
  OriginalBugID: 5117 Bug
  Version: 2.0b5
  SubmitDate: '2000-04-17'
  LastModified: '2000-05-03'
  Severity: SER
  Status: Released
  Submitter: kuchler
  ChangedBy: key
  RelatedBugIDs: 5115
  OS: All Unix
  ClosedDate: '2000-05-03'


  steps to reproduce with tk8.3 (4/17 build)

  wish8.3
  toplevel .t
  toplevel .t.o
  wm transient .t .
  wm transient .t.o .
  tk_getOpenFile -parent .t.o

  Now iconify the toplevel (.)

  Results:

  The three toplevels . .t and .t.o all iconify, but the tk_getOpenFile
  dialog remains open.

  Expected Results:

  Since the tk_getOpenFile dialog will iconify if you simply iconify .t.o
  it should also become iconified when . becomes iconified because the
  toplevel .t.o is transient and its parent is .


  This bug is not specific to tk_getOpenFile.  With further exploration
  I have discovered that it is true of all transient toplevels due to the
  following behavior:

  toplevel .t
  toplevel .t.o
  toplevel .t.o.f
  wm transient .t .
  wm transient .t.o .t
  wm transient .t.o.f .t.o

  When you iconify any toplevel only its direct child (the toplevel that has
  declared itself to be transient relative to it) will iconify.

  I would expect the iconification of that toplevel to cause the next child
  to iconify, etc. until all four toplevels are iconified.

  As far as I can tell a window can only be transient with respect to one
  other window, so I think you *have* to have this behavior to have a multiple-toplevel application behave properly. 
  -- 04/17/2000 kuchler
  This works on Exceed and WindowMaker as expected.  This is really a
  window manager issue, as we set bits (hints) for the window manager
  to do something with.  You might try 'wm group' in addition to the
  transient settings to see if that makes things work. 
  -- 04/18/2000 hobbs
  when this bug is fixed please remember to check 5115 
  -- 04/18/2000 key
  this bug ended up in the closed state for some reason that wasn't recorded.  5115 which depends on this bug being fixed, was marked integrated, which theoretically isn't possible unless this bug was fixed?
  scott, huh? 
  -- 05/03/2000 key
  It's a core bug, Jeff please look into it.
  -- 05/03/2000 redman
  This bug was closed because as Jeff stated it is not a bug.  Tk sets
  the transcience bits for windows when it is specified that those windows
  are supposed to be transient.  Some window managers choose to ignore
  those transcience bits or just don't handle them properly in all cases (fvwm2,CDE, etc.)  I filed this bug because I thought there was a tk bug
  because my window manager (fvwm) doesn't handle this properly.  The
  transcience of the windows and dialogs (bug 5115) were all checked and should be setup properly.
  -- 05/03/2000 kuchler
  marked integrated 2014.  agreed closed. 
  -- 05/03/2000 key


tkt_uuid: 220028ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 38. [tk_messageBox]
priority: 5 Medium
foundin: obsolete: 8.2.1
resolution: Duplicate
title: tk_messageBox freezes on Windows
comment:
  OriginalBugID: 2892 Bug
  Version: 8.2
  SubmitDate: '1999-09-24'
  LastModified: '2000-01-29'
  Severity: CRIT
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 1212
  OS: Windows 98
  Machine: X86
  ClosedDate: '2000-01-29'


  Name:
  Frederic BONNET

  Comments:
  This script was picked on the french Tcl newsgroup (fr.comp.lang.tcl). I
      am not the original author.
      The workaround is to call update just before tk_messageBox. So I believe
      it is something related to Tk's event loop.

  ReproducibleScript:
  wm title . "Test"
      frame .frame
      pack .frame 
      button .frame.quit -text "Quit" -command exit
      pack .frame.quit
      tk_messageBox -message "So?" -type ok

  ObservedBehavior:
  On Windows, Tk correctly displays the message box, but after clicking ok
      the Tk window is frozen. It is reported to work on Unix.

  DesiredBehavior:
  Tk doesn't freeze ;-)



  The work-around is to do an 'update' before the messageBox call.
  The suspected problem is that, in this situation where a native
  Windows dialog box is called, the Windows event loop kicks in
  first and causes Tk's to choke.  The 'update' prevents this. 
  -- 09/28/1999 hobbs


tkt_uuid: 570306ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 67. Unix Window Operations
priority: 5 Medium
foundin: obsolete: 8.4a5
resolution: Fixed
title: tktest finalize segfault
comment:
  After running the clipboard.test file in the test
  suite, tktest
  has a segfault while finalizing.  The really weird thing is
  that the segfault shows up only when using a short glob
  pattern to select the file.  See below.

  (gdb) run ./../tests/all.tcl -file cli\*.test
  Starting program: /local/src/tk/unix/./tktest
  ./../tests/all.tcl -file cli\*.tes
  t
  Tk 8.4a5 tests running in interp: 
  /local/src/tk/unix/./tktest
  Tests running in working dir:  /local/src/tk/unix
  Sourcing files that match:  /local/src/tk/tests/cli*.test
  Tests began at Mon Jun 17 21:54:26 EDT 2002
  clipboard.test

  Tests ended at Mon Jun 17 21:54:29 EDT 2002
  all.tcl:        Total   35      Passed  35      Skipped
  0       Failed  0
  Sourced 1 Test Files.

  Program received signal SIGSEGV, Segmentation fault.
  0x200005c17a8 in chunk_free (ar_ptr=0x20000770de0,
  p=0x1203e67a0)
      at malloc.c:3121
  3121    malloc.c: No such file or directory.
  (gdb) bt
  #0  0x200005c17a8 in chunk_free (ar_ptr=0x20000770de0,
  p=0x1203e67a0)
      at malloc.c:3121
  #1  0x200005c4574 in __libc_free (mem=0x20000770de0) at
  malloc.c:3023
  #2  0x12020a1a8 in TclpFree (cp=0x1203e69f0 "") at
  ./../generic/tclAlloc.c:702
  #3  0x120135f68 in Tcl_Free (ptr=0x1203e69f0 "")
      at ./../generic/tclCkalloc.c:1160
  #4  0x12018c020 in Tcl_DeleteHashTable
  (tablePtr=0x12036fa48)
      at ./../generic/tclHash.c:618
  #5  0x12004b3ac in FreeUidThreadExitProc (clientData=0x0)
      at /local/src/tk/unix/../generic/tkGet.c:508
  #6  0x120172740 in Tcl_FinalizeThread () at
  ./../generic/tclEvent.c:906
  #7  0x120172520 in Tcl_Finalize () at
  ./../generic/tclEvent.c:804
  #8  0x120172108 in Tcl_Exit (status=0) at
  ./../generic/tclEvent.c:564
  #9  0x120137d88 in Tcl_ExitObjCmd (dummy=0x0,
  interp=0x120360480, objc=1,
      objv=0x120361c40) at ./../generic/tclCmdAH.c:667
  #10 0x12012dd90 in TclEvalObjvInternal
  (interp=0x120360480, objc=1,
      objv=0x120361c40, command=0x0, length=0, flags=0)
      at ./../generic/tclBasic.c:3012
  #11 0x120174ac8 in TclExecuteByteCode
  (interp=0x120360480, codePtr=0x1204800f0)
      at ./../generic/tclExecute.c:1279
  #12 0x120173bf8 in TclCompEvalObj (interp=0x120360480,
  objPtr=0x1204630d0)
      at ./../generic/tclExecute.c:917
  #13 0x12012f6c8 in Tcl_EvalObjEx (interp=0x120360480,
  objPtr=0x1204630d0,
      flags=0) at ./../generic/tclBasic.c:3907
  #14 0x1201c8c64 in TclObjInterpProc
  (clientData=0x12046cb70,
      interp=0x120360480, objc=2, objv=0x11fffeee0)
      at ./../generic/tclProc.c:1074
  #15 0x12012dd90 in TclEvalObjvInternal
  (interp=0x120360480, objc=2,
      objv=0x11fffeee0,
      command=0x12044988a "::tcltest::cleanupTests
  1\nreturn\n", length=26,
      flags=0) at ./../generic/tclBasic.c:3012
  #16 0x12012ee5c in Tcl_EvalEx (interp=0x120360480,
      script=0x120448ff0 "# all.tcl --\n#\n# This file
  contains a top-level script
   to run all of the Tk\n# tests.  Execute it by invoking
  \"source all.tcl\" when
  running tktest\n# in this directory.\n#\n# Copyright
  (c) 1998-1999 by Sc"...,
      numBytes=2235, flags=0) at ./../generic/tclBasic.c:3607
  #17 0x1201a6008 in Tcl_FSEvalFile (interp=0x120360480,
  pathPtr=0x1203ce740)
      at ./../generic/tclIOUtil.c:1355
  #18 0x1201a4c88 in Tcl_EvalFile (interp=0x120360480,
      fileName=0x11ffff248 "./../tests/all.tcl") at
  ./../generic/tclIOUtil.c:234
  #19 0x12004fe88 in Tk_MainEx (argc=3, argv=0x11ffff3b0,
      appInitProc=0x12002a500 <Tcl_AppInit>,
  interp=0x120360480)
      at /local/src/tk/unix/../generic/tkMain.c:234
  #20 0x12002a4d8 in main (argc=4, argv=0x11ffff3a8)
      at /local/src/tk/unix/tkAppInit.c:69

  Notice that "-file cli\*.test" was used.  Any longer
  prefixes from
  "-file clip\*.test" up to "-file clipboard.test" show
  no segfault.
  Shorter prefixes do show the segfault, but also cause more
  files to be tested.

  This problem is seen on the Linux/Alpha platform.


tkt_uuid: 509974ffffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 63. Tk_Win Functions
priority: 2
foundin: obsolete: 8.4a4
resolution: None
title: pkg_mkIndex libtk.so requires DISPLAY
comment:
  To be able to create a package index for Tk as
  a loadable package using [pkg_mkIndex], one
  must be able to load Tk.  That, in turn,
  requires an X DISPLAY on Unix.

  This means one cannot create an index during
  an install of Tk as a loadable package in the
  conventional way on a headless box -- common
  installation practice on Unix.


tkt_uuid: 606719ffffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 36. [tk_chooseDirectory]
priority: 5 Medium
foundin: None
resolution: Fixed
title: Message: File "$item" does not exist.
comment:
  Line 835 of xmfbox.tcl reads:
  tk_messageBox -icon warning -type ok \
      -message [::msgcat::mc {File "$item" does not exist.} \
          $item]

  It should read:
  tk_messageBox -icon warning -type ok \
      -message [::msgcat::mc {File "%1$s" does not exist.} \
          $item]

  The variable substitution fails with the current code.


tkt_uuid: 697915ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 63. Tk_Win Functions
priority: 5 Medium
foundin: obsolete: 8.4.2
resolution: Fixed
title: Tk_MainWindow error ?
comment:
  If I try to start a C application which makes use of
  Tk, and
  DISPLAY is not set, tk/generic/tkWindow.c's
  Tk_MainWindow() routine appears to output this message:
  this isn't a Tk applicationcouldn't connect to display ":0"


  There appears to be a missing newline - and it might
  not hurt to capitalize "this" and "couldn't" .

  I just saw this in Tk 8.4.2 - but I suspect it has been
  there for quite some time.


tkt_uuid: 1510538fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 16. [scrollbar]
priority: 5 Medium
foundin: obsolete: 8.4.13
resolution: None
title: Wrong initial scrollbar width
comment:
  The following sample shows a text and a scrollbar with
  not default width. The width of the scrollbar is not
  updated accordingly before packing = the widgets are
  overlapping.

  thx, regards,
  thomas


  #############
  package require Tk

  toplevel .t
  text .t.text
  scrollbar .t.scroll -orient vertical -width 11

  .t.text configure -yscrollcommand [list .t.scroll set]
  .t.scroll configure -command [list .t.text yview]

  pack .t.text -fill both -expand yes -side left
  pack .t.scroll -fill y -side left
  #############

  tested on XP


tkt_uuid: 1778168fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: 17. [spinbox]
priority: 5 Medium
foundin: None
resolution: None
title: spinbox -values shouldn't override -textvar
comment:
  This was originally submitted as ActiveTcl Bug 71910:

  When I set a "-values" list and a "-textvariable" for a spinbox, the first item in the -values list replaces the -textvariable I specified. I received this reply to the bug report:

  ------- Comments from JeffH@activestate.com  2007-08-20 11:30
  This is by design, that when setting both -textvar and -values, the -values
  will override whatever -textvar specified.  Please refile as an RFE at
  tcl.sourceforge.net to track with the core bug db.

  I think the -textvariable should take precedence over the first item in the -values list, just as it does over a "-from" setting. My example: I want spinboxes to show the default time signature for a musical composition, 4/4, with the -values for the denominator of the time signature being 2 (half note), 4 (quarter note), 8 (eighth note), and 16 (sixteenth note). The user shouldn't have to change "4/2" time to "4/4" every time, and it looks too weird to have the -values order be "4 2 8 16."

  Thanks,

  David McClamrock
  <mcclamrock@locl.net>


tkt_uuid: 1692927fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 38. [tk_messageBox]
priority: 5 Medium
foundin: obsolete: 8.5a5
resolution: Fixed
title: tk_messageBox does not display -detail argument correctly
comment:
  On Windows XP (SP2) the following Tk command displays a dialog with the "detail" followed by a string of random characters.

  tk_messageBox -message Hello -detail "Pleased to meet you" 

  The following command, with a longer "detail" argument, displays correctly.

  tk_messageBox -message Hello -detail "Pleased to meet you and your kin" 


tkt_uuid: 220675ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 67. Unix Window Operations
priority: 2
foundin: obsolete: 8.3b2
resolution: Fixed
title: unpredictable segfaults in test suite
comment:
  OriginalBugID: 4153 Bug
  Version: 8.3b2
  SubmitDate: '2000-02-10'
  LastModified: '2000-02-22'
  Severity: CRIT
  Status: Released
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Linux-Red Hat
  OSVersion: 5.1
  Machine: Digital Alpha XL 300
  FixedDate: '2000-02-22'
  FixedInVersion: 8.3


  Name:
  Don Porter

  CVS:
  $Id: tkError.c,v 1.2 1998/09/14 18:23:09 stanton Exp $

  Comments:
  I'm using XFree86-3.3.5-1.5.x and fvwm2-2.0.46-12

  ReproducibleScript:
  source ./../tests/defs.tcl
  set tcltest::verbose bps
  set tcltest::testSingleFile false
  source ./../tests/winfo.test
  source ./../tests/winfo.test

  ObservedBehavior:
  When running the Tk test suite (tktest ./../tests/all.tcl),
  tktest sometimes segfaults.  It does not always do so, and it
  does not always do so in the same place.  I've observed
  segfaults in the following places:

  in unixWm-50.6
  in winfo-13.4
  in winfo.test after winfo-13.4
  in xmfbox.test before end of xmfbox-1.1

  I trapped the first of these in a debugger and
  got the following stack trace:

  Program received signal SIGSEGV, Segmentation fault.
  Tk_DeleteErrorHandler (handler=0x120413e00) at ./../generic/tkError.c:195
  (xxgdb) info stack
  #0  Tk_DeleteErrorHandler (handler=0x120413e00) at ./../generic/tkError.c:195
  #1  0x12006d7a0 in Tk_CoordsToWindow (rootX=254, rootY=153, tkwin=0x120356130) at ./tkUnixWm.c:3649
  #2  0x1200f9890 in Tk_WinfoObjCmd (clientData=0x120356130, interp=0x12031f560, objc=4, objv=0x11fffc8c8) at ./../generic/tkCmds.c:1312
  #3  0x120186b6c in EvalObjv (interp=0x12031f560, objc=4, objv=0x11fffc8c8, command=0x12055ffed "winfo containing [expr $x +249] [expr $y +80]]  [winfo containing [expr $x +250] [expr $y +80]]\n", length=45, flags=0) at ./../generic/tclParse.c:932
  #4  0x1201877ec in Tcl_EvalEx (interp=0x12031f560, script=0x12055ffed "winfo containing [expr $x +249] [expr $y +80]]  [winfo containing [expr $x +250] [expr $y +80]]\n", numBytes=45, flags=0) at ./../generic/tclParse.c:1393
  #5  0x12018712c in Tcl_EvalTokens (interp=0x12031f560, tokenPtr=0x11fffcba0, count=1) at ./../generic/tclParse.c:1192
  #6  0x120187748 in Tcl_EvalEx (interp=0x12031f560, script=0x12055fe20 "\n    eval destroy [winfo children .]\n    toplevel .t -width 300 -height 400 -bg orange\n    wm geom .t +0+50\n    frame .t.f -container 1\n    place .t.f -x 150 -y 50\n    tkwait visibility .t.f\n    tople"..., numBytes=557, flags=262144) at ./../generic/tclParse.c:1381
     ....

  DesiredBehavior:
  No crashes in the test suite.



  This was due to the change in Tk_CoordsToWindow with an odd goto
  that could be reached from above or below.  It was fixed for 8.3.0. 
  -- 02/22/2000 hobbs


tkt_uuid: 728952ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 41. Photo Images
priority: 9 Immediate
foundin: obsolete: 8.4.2
resolution: Fixed
title: Missing documentation on formats
comment:
  The man pages do not appear to document that a valid
  photo format is a list of lists containing RGB values
  in the form #RRGGBB. The only reference I could even
  find to #RRGGBB was in the GetColor manpage, but
  nothing about the list format.


tkt_uuid: 220683ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 34. [tk_chooseColor]
priority: 2
foundin: obsolete: 8.3
resolution: Fixed
title: The tk_chooseColor fails with an invalid -initialcolor on NT
comment:
  OriginalBugID: 4198 RFE
  Version: 8.3
  SubmitDate: '2000-02-17'
  LastModified: '2000-03-31'
  Severity: LOW
  Status: Released
  Submitter: sven
  ChangedBy: hobbs
  OS: All Windows
  FixedDate: '2000-03-31'
  FixedInVersion: 8.3.1


  On Unix an invalid -initialcolor (like "") is ignored, while on NT the procedure call returns an error.

  Expected behavior:
  I would expect that the invalid color is just ignored.



  Actually, the failure was that -initialcolor "" didn't complain
  on Unix (-initialcolor bogus does).  It's been fixed to complain
  correctly on Unix as well. 
  -- 03/31/2000 hobbs


tkt_uuid: 2021525fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 85. Win Build
priority: 5 Medium
foundin: None
resolution: Fixed
title: missing definitions for ms vc 8 builds
comment:
  the tcl.m4 file was missing -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE from the cflags defintion required for building on windows using ms vc 8

  attached is patch to fix

  (copied form the tcl verison...)


tkt_uuid: 3294593fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 12. Unix Menus
priority: 5 Medium
foundin: None
resolution: Fixed
title: Submenus not unposting at all expected times after tip #360
comment:
  After the implementation of tip #360 cascade entries behave inconsistently. Sometimes the submenu is unposted when moving the mouse to another entry, but most of the time the submenu stays up. Pat Thoyts indicated on the Tcl chat that the intended behaviour is that the menu gets unposted. The attached patch accomplishes that.


tkt_uuid: 220666ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 41. Photo Images
priority: 2
foundin: obsolete: 8.3b2
resolution: Fixed
title: image format string should not be threated as binary data
comment:
  OriginalBugID: 4103 Bug
  Version: 8.3b2
  SubmitDate: '2000-01-31'
  LastModified: '2000-01-31'
  Severity: MED
  Status: Released
  Submitter: techsupp
  ChangedBy: ericm
  OS: All
  FixedDate: '2000-01-31'
  FixedInVersion: 8.3


  Name:
  Jan Nijtmans

  CVS:
  29 jan 2000

  Comments:
  Further on: Great work, Eric!!!!

  ReproducibleScript:
  I tested the new 60% faster GIF encoder and the other excellent fixes by
  Eric Melski. Everything works fine. However, before the format string
  is passed to the format handler, it is converted to a ByteArray. The problem
  with that is usually this format string is treated as a list or string later, which
  leads to an unnecessary additional conversion. In all cases, this data should
  be threated as UTF-8, so it is simple wrong (even though it works).
  I guess this slipped in during the attempt to fix the handling of binary
  data for images.

  Patch:
  --- tkImgPhoto.cSat Jan 29 16:56:30 2000
  ***************
  *** 3556,3566 ****
        ThreadSpecificData *tsdPtr = (ThreadSpecificData *) 
                Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
        char *formatString = NULL;
  -     int len;

        if (formatObj) {
  ! formatString = Tcl_GetByteArrayFromObj(formatObj, &len);
  !     /*Tcl_GetString(formatObj);*/
        }

        /*
  --- 3556,3564 ----
        ThreadSpecificData *tsdPtr = (ThreadSpecificData *) 
                Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
        char *formatString = NULL;

        if (formatObj) {
  ! formatString = Tcl_GetString(formatObj);
        }

        /*

  PatchFiles:
  tkImgPhoto.c



  Yes, it certainly slipped in as you said when I was working on fixing the binary data handling.  I applied the patch.

  - eric

  -- 01/31/2000 ericm


tkt_uuid: 2896605fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 56. [grab]
priority: 9 Immediate
foundin: obsolete: 8.5.7
resolution: None
title: Change to grab on windows breaks application behaviour
comment:
  I have discovered that changes to the grab command on windows in tk 8.5.7 have broken some application behaviour, compared to 8.5.6 and all previous versions.

  In my applications I have a home grown "busy" command.  Among other things this sets the wait cursor, and grabs mouse events and directs them to a frame with no mouse bindings.  This may be superceeded at some stage by the tk 8.6 builtin command, but for the moment I use it extensively.

  The busy command is used for any long operations.  This includes initialising some complicated child application windows.  So the sequence is something like:

  # Make busy
  grab set ._busy

  # Create new child application window

  toplevel .app1
  wm withdraw .app1

  # Lots of application window initialisation....
  # Then show new window & unbusy.

  wm deiconify .app1
  grab release ._busy

  Unfortunately the changes to the grab command on windows in tk 8.5.7 mean that the "wm deiconify" forces a raise of the root window, which contains the grab frame.  So this is raised in front of and obscures the new child window the user has just invoked.

  As I said, I use this busy mechanism extensively, including in a command dispatcher system, and I have not been able to think of a practical workaround yet.


tkt_uuid: 220725ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 05. Canvas Items
priority: 2
foundin: obsolete: 8.3
resolution: Fixed
title: Applying canvas move command to objects leaves trails; this behavior was not in 8.0.
comment:
  OriginalBugID: 5029 Bug
  Version: 8.3
  SubmitDate: '2000-04-12'
  LastModified: '2000-04-19'
  Severity: MED
  Status: Released
  Submitter: techsupp
  ChangedBy: ericm
  OS: Linux-Red Hat
  OSVersion: I'm not sure which version of Red Hat
  Machine: Dell Optiplex GX110; also occurred on DEC Alpha 3000 X
  FixedDate: '2000-04-19'
  FixedInVersion: 8.3.1


  Name:
  Tom Cormen

  Comments:
  I saw a comment in your bug database about trails from polygons.  This
      one, IMO, is a bit different because it occurs in 8.3 but not in 8.0.

  ReproducibleScript:
  Using wish, version 8.3, I run the following script:

  #!/usr/local/bin/wish
  #
  # CS 23 Winter 1998
  # Original version by David Kotz
  # Modified by Tom Cormen
  #
  # Tcl/Tk program to make a bouncing ball

  set xmax 500
  set ymax 200

  # make a canvas and make it appear
  canvas .c -width $xmax -height $ymax
  pack .c

  # diameter 
  set d 10

  # horizontal speed (pixels per time step)
  set vx 10

  # initial vertical speed (pixels per time step)
  set vy 0

  # vertical acceleration (positive is down)
  set a 3

  # size of timesteps (msec)
  set delay 50

  # how many timesteps
  set duration 200

  # create the oval, starting location in the upper-left corner
  # remember its item number in 'ball'
  set ball [.c create oval 0 0 $d $d -fill red -width 0]

  # position of center of ball
  set x [expr $d / 2]
  set y [expr $d / 2]

  for {set time 0} {$time < $duration} {incr time} {
      incr x $vx
      incr y $vy

      .c move $ball $vx $vy

      # bounce if we hit a wall, the ceiling, or the floor

      # are we hitting the left wall?
      if { $x < [expr $d / 2] } {
  .c move $ball [expr ($d/2) - $x] 0
  set x [expr $d/2]
  set vx [expr -$vx]
      }

      # are we hitting the right wall?
      if { [expr $x + ($d/2)] > $xmax } {
  .c move $ball [expr $xmax - ($d/2) - $x] 0
  set x [expr $xmax - ($d/2)]
  set vx [expr -$vx]
      }

      # are we hitting the ceiling?
      if { $y < [expr $d / 2] } {
  .c move $ball 0 [expr ($d/2) - $y]
  set y [expr $d/2]
  set vy [expr -$vy]
      }

      # are we hitting the floor?
      if { [expr $y + ($d/2)] > $ymax } {
  .c move $ball 0 [expr $ymax - ($d/2) - $y]
  set y [expr $ymax - ($d/2)]
  set vy [expr -$vy]
      }

      # increment y velocity by acceleration
      incr vy $a

      update idletasks
      after $delay
  }

  ObservedBehavior:
  I get trails from the bouncing ball.

  DesiredBehavior:
  No trails.  (Melissa Chawla knows this demo, as she used to TA this course!)



  This appears to have been added in during 8.3 (the dash patch)
  as this doesn't occur on 8.2 (verified on Windows). 
  -- 04/18/2000 hobbs

  In the sample code here, the ball is being created with an outline width of 0.  Prior to 8.3.0, outline widths of zero were not permitted on rectangles and ovals, and the width was auto-constrained to be >= 1.

  In 8.3.0, this restriction was removed, but there was a bug in the way rectangles/ovals with no outline were handled.  Specifically, the outline was always drawn, regardless of whether it had a zero width or not.  So it was as if the outline width was 1 for purposes of drawing.  But the actual stored width was 0, so when Tk computed the bounding box for the oval/rectangle, it did not include the outline width.  So when Tk refreshed the canvas display, it would underestimate the area that had to be redrawn by one pixel, and you would see these traces.

  I fixed this by correcting the handling of rectangles/ovals with no outline.
  Now when you specify a width of 0 for the outline width of an oval or rectangle, no outline will be drawn.  Consequently, the bounding box of the image drawn is now in sync with what the canvas believes it to be, and the canvas is refreshed properly, so there are no more trails.

  This fix will go out with 8.3.1.

  - eric

  -- 04/19/2000 ericm


tkt_uuid: 220364ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 10. Generic Menus
priority: 2
foundin: obsolete: 8.1a2
resolution: Fixed
title: memory leaks in the menu code
comment:
  OriginalBugID: 620 Bug
  Version: 8.1a2
  SubmitDate: '1998-05-25'
  LastModified: '1998-11-24'
  Severity: SER
  Status: Released
  Submitter: hershey
  ChangedBy: stanton
  OS: All
  OSVersion: NA
  Machine: NA
  FixedDate: '1998-11-19'
  FixedInVersion: 8.1b1


  The attached patch fixes a couple of memory leaks in the menu

  code of tk8.1a2.



          /MaF



  *** generic/tkMenu.c.old        Tue Mar 31 20:49:17 1998

  --- generic/tkMenu.c    Tue Mar 31 23:29:14 1998

  ***************

  *** 1423,1428 ****

  --- 1423,1440 ----

        TkpDestroyMenuEntry(mePtr);

        TkMenuEntryFreeDrawOptions(mePtr);

        Tk_FreeConfigOptions((char *) mePtr, mePtr->optionTable,

  menuPtr->tkwin);

  +     if (mePtr->indicatorOnPtr != NULL) {

  +       Tcl_DecrRefCount(mePtr->indicatorOnPtr);

  +     }

  +     if (mePtr->hideMarginPtr != NULL) {

  +       Tcl_DecrRefCount(mePtr->hideMarginPtr);

  +     }

  +     if (mePtr->columnBreakPtr != NULL) {

  +       Tcl_DecrRefCount(mePtr->columnBreakPtr);

  +     }

  +     if (mePtr->statePtr != NULL) {

  +       Tcl_DecrRefCount(mePtr->statePtr);

  +     }

        ckfree((char *) mePtr);

    }





  11/24/1998 12:01 - stanton - This fix masked a more fundamental problem in the menu code.  The correct fix is to not allocate objects in the first place.


tkt_uuid: 730124ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 03. [*button] and [label]
priority: 5 Medium
foundin: None
resolution: Fixed
title: build fails
comment:
  Building from CVS for Mac OS X fails with the following error.

  tkMacOSXButton.c:486: structure has no member named 
  `stippledGC'

  Maybe it's a simple typo. Changing this to 'stippleGC' fixes the 
  problem and build goes well.


tkt_uuid: 220004ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 07. [entry]
priority: 1 Zero
foundin: final: 8.0.5
resolution: Duplicate
title: Entry widget bindings have bad global usage
comment:
  OriginalBugID: 2370 Bug
  Version: 8.0.5
  SubmitDate: '1999-07-16'
  LastModified: '1999-08-05'
  Severity: MED
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  RelatedBugIDs: 2350
  OS: Windows NT
  OSVersion: Applies to all O/S (Unix, Linux, Win)
  Machine: X86
  ClosedDate: '1999-08-05'


  Comments:
  I found this in Tk 8.0.5 but it still exists in Tk 8.1.1

  ReproducibleScript:
  Script:
        set data(0) 0
        entry .e
        pack .e
      Instructions: Type into the entry and try <<Cut>> (Ctrl-X) or <<Copy>>
      (Ctrl-C),
      then <<Paste>> (Ctrl-V). Note Cut/Copy do not work. Without the "set
      data(0)"
      line they will work.

  ObservedBehavior:
  The entry widget binding for <<Copy>> and <<Cut>> use a global variable
      "data" to store the value copied to/from the clipboard. This can
      conflict
      with the programmer's script. In the example above, it silently fails
      because
      data is an array.
      
      Worse behavior will result if "data" is used in the main application as
      as scalar, since the value will be overwritten by Copy and Cut.

  DesiredBehavior:
  The Entry bindings should use a private variable like tk_priv* 
      so as not to conflict with this very common variable name.


tkt_uuid: 220189ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 09. [listbox]
priority: 1 Zero
foundin: obsolete: 8.0p2
resolution: Invalid
title: Problem with Right-Mouse-Click in listbox.
comment:
  OriginalBugID: 2015 Bug
  Version: 8.0p2
  SubmitDate: '1999-05-07'
  LastModified: '1999-08-08'
  Severity: SER
  Status: Closed
  Submitter: pat
  ChangedBy: hobbs
  OS: HP-UX
  OSVersion: 10.20
  Machine: Other
  ClosedDate: '1999-08-08'


  Name:
  Owen Chang

  Extensions:
  tcl, tk

  Comments:
  Here is part of the code:

      # Domain listbox
         label .add.list.domain.lab  -relief         {raised}  -borderwidth    {0}  -text           {Domains}

         scrollbar .add.list.domain.scrol1  -command ".add.list.domain.list yview"  -relief {raised} -width {12}

         listbox .add.list.domain.list  -borderwidth    {1}  -relief         {raised}  -yscrollcommand "add.list.domain.scrol1 set"  -selectborderwidth      {1} -selectmode     single

         pack append .add.list.domain  .add.list.domain.lab {top frame nw}  .add.list.domain.list {left expand fill frame w}  .add.list.domain.scrol1 {left filly frame e}

         bind .add.list.domain.list <ButtonPress-3> {
    if {[llength [.add.list.domain.list curselection]] <= 1} { 
      .add.list.domain.list.menu entryconfigure 1 -state normal 
      .add.list.domain.list select set [.add.list.domain.list index %y]
    }
    if {[llength [.add.list.domain.list curselection]] > 1} { 
      .add.list.domain.list.menu entryconfigure 1 -state disabled 
    } else {
      .add.list.domain.list.menu post %X %Y
    }
  }

  ReproducibleScript:
  I have been upgrading some code from Tcl/Tk 7 to Tcl/Tk 8. Here is my
  problem. A listbox contains a large list (50+ items). When I select any
  of the FIRST three items from the list, and do a right-click, it
  automaticly
  select another items somewhere in the list randomly, even I had made the
  list
  as single select mode. This only occur when the list contain 30+ items.
  If I do the same thing after the forth items on the list, it seems to be
  working fine.



  This appears to be a coding mistake.  The original code was
  messed up by the bug db input routines, so I had to reformat
  to what I thought was intended.  I believe the user should want
  "nearest %y" instead of "index %y". 
  -- 08/08/1999 hobbs


tkt_uuid: 583301ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 17. [spinbox]
priority: 5 Medium
foundin: obsolete: 8.4b1
resolution: Works For Me
title: Test file spinbox.test: several failures
comment:
  Compiled with SUN's cc
  Running on SunOS 5.6 with Reflection-X as X-emulator
  Test report:
  spinbox.test

  ==== spinbox-5.8 ConfigureSpinbox procedure FAILED
  ==== Contents of test case:

      catch {destroy .e}
      spinbox .e -width 0
      pack .e
      .e insert end "0123"
      update
      .e configure -font $big
      update
      winfo geom .e

  ---- Result was:
  79x35+0+0
  ---- Result should have been:
  79x37+0+0
  ==== spinbox-5.8 FAILED

  ==== spinbox-6.7 SpinboxComputeGeometry procedure
  FAILED
  ==== Contents of test case:

      catch {destroy .e}
      spinbox .e -font $big -bd 3 -relief raised -width 5
      pack .e
      .e insert end "01234567"
      update
      list [winfo reqwidth .e] [winfo reqheight .e]

  ---- Result was:
  94 37
  ---- Result should have been:
  94 39
  ==== spinbox-6.7 FAILED


  ==== spinbox-6.8 SpinboxComputeGeometry procedure
  FAILED
  ==== Contents of test case:

      catch {destroy .e}
      spinbox .e -font $big -bd 3 -relief raised -width 0
      pack .e
      .e insert end "01234567"
      update
      list [winfo reqwidth .e] [winfo reqheight .e]

  ---- Result was:
  133 37
  ---- Result should have been:
  133 39
  ==== spinbox-6.8 FAILED


  ==== spinbox-6.9 SpinboxComputeGeometry procedure
  FAILED
  ==== Contents of test case:

      catch {destroy .e}
      spinbox .e -font $big -bd 3 -relief raised -width 0
  -highlightthickness 2
      pack .e
      update
      list [winfo reqwidth .e] [winfo reqheight .e]

  ---- Result was:
  42 37
  ---- Result should have been:
  42 39
  ==== spinbox-6.9 FAILED


tkt_uuid: 1283635fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 68. Win Window Operations
priority: 9 Immediate
foundin: obsolete: 8.4.11
resolution: Fixed
title: Crash manipulating transient windows on MSWin
comment:
  The attached file causes a crash when the three
  transient (dwarf) windows are closed,  using ActiveTcl
   8.4.11.1 on Windows XP, but not  8.4.7 on Linux, and
  not 8.3 on either.

  The file is work in progress from a year ago, managing
  multiple transient dialogs.  It isn't a final product,
  and performs much worse with 8.4 than 8,3, but that is
  beside the point for the crash.


tkt_uuid: 2010422fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 69. Events
priority: 5 Medium
foundin: None
resolution: None
title: [bind] error - event parsing?
comment:
  After installation of Tk8.5.3 (with Tcl8.5.3)
  I get for several (all?) application the following
  error on startup
  fr
  Application initialization failed: Can't find a usable tk.tcl in the following directories: 
      /usr/local/beta/lib/tcl8.5/tk8.5 /usr/local/beta/lib/tk8.5 /usr/local/lib/tk8.5 /usr/local/beta/library

  /usr/local/beta/lib/tk8.5/tk.tcl: no event type or button # or keysym
  no event type or button # or keysym
      while executing
  "bind Listbox <MouseWheel> {
          %W yview scroll [expr {- (%D / 120) * 4}] units
      }"
      invoked from within
  "if {[tk windowingsystem] eq "aqua"} {
      bind Listbox <MouseWheel> {
          %W yview scroll [expr {- (%D)}] units
      }
      bind Listbox <Option-Mou..."
      (file "/usr/local/beta/lib/tk8.5/listbox.tcl" line 182)
      invoked from within
  "source /usr/local/beta/lib/tk8.5/listbox.tcl"
      (in namespace eval "::" script line 1)
      invoked from within
  "namespace eval :: [list source [file join $::tk_library $file.tcl]]"
      (procedure "SourceLibFile" line 2)
      invoked from within
  "SourceLibFile listbox"
      (in namespace eval "::tk" script line 4)
      invoked from within
  "namespace eval ::tk {
          SourceLibFile button
          SourceLibFile entry
          SourceLibFile listbox
          SourceLibFile menu
          SourceLibFile panedwindow
          SourceLibFile ..."
      invoked from within
  "if {$::tk_library ne ""} {
      proc ::tk::SourceLibFile {file} {
          namespace eval :: [list source [file join $::tk_library $file.tcl]]
      }
     ..."
      (file "/usr/local/beta/lib/tk8.5/tk.tcl" line 404)
      invoked from within
  "source /usr/local/beta/lib/tk8.5/tk.tcl"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 [list source $file]"


  This probably means that tk wasn't installed properly.

  --------------------

  I've tried  gcc-4.3.1 and gcc-4.2.4 each with
  -O3 and -O .

  At the moment, Tcl8.5.3 (compiled with gcc-4.3.1 -O3)
  together with my previous  Tk8.5.2 (compiled with
  gcc-4.2.4 -O3) works just fine.

  I have a GenToo system, but install Tcl/Tk 8.5.x 
  separately with --prefix=/usr/local/beta

  More info about my gentoo system:
  emerge --info
  Portage 2.2_rc1 (default/linux/x86/2008.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r4 i686)
  =================================================================
  System uname: Linux-2.6.25-gentoo-r4-i686-Intel-R-_Pentium-R-_III_CPU_family_1266MHz-with-glibc2.0
  Timestamp of tree: Thu, 03 Jul 2008 16:45:02 +0000
  ccache version 2.4 [disabled]
  app-shells/bash:     3.2_p39
  dev-java/java-config: 1.3.7, 2.1.6-r1
  dev-lang/python:     2.5.2-r5
  dev-python/pycrypto: 2.0.1-r6
  dev-util/ccache:     2.4-r7
  sys-apps/baselayout: 2.0.0
  sys-apps/openrc:     0.2.5
  sys-apps/sandbox:    1.2.20_alpha2-r1
  sys-devel/autoconf:  2.13, 2.62-r1
  sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
  sys-devel/binutils:  2.18-r2
  sys-devel/gcc-config: 1.4.0-r4
  sys-devel/libtool:   2.2.4
  virtual/os-headers:  2.6.25-r4
  ACCEPT_KEYWORDS="x86 ~x86"
  CBUILD="i686-pc-linux-gnu"
  CFLAGS="-O2 -march=i686 -pipe"
  CHOST="i686-pc-linux-gnu"
  CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
  CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
  CXXFLAGS="-O2 -march=i686 -pipe"
  DISTDIR="/usr/portage/distfiles"
  FEATURES="buildpkg distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
  GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo "
  LDFLAGS=""
  LINGUAS="en de"
  MAKEOPTS="-j3"
  PKGDIR="/usr/portage/packages"
  PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
  PORTAGE_TMPDIR="/var/tmp"
  PORTDIR="/usr/portage"
  PORTDIR_OVERLAY="/usr/local/portage"
  SYNC="rsync://rsync.informatik.RWTH-Aachen.de/gentoo-portage"
  USE="X acl berkdb bitmap-fonts bzip2 cairo cdr cli cracklib crypt cups dbus doc dri dvd fortran gcj gdbm gnome gpm gtk gtk2 hal iconv ipv6 isdnlog jpeg kde midi mudflap ncurses nls nptl nptlonly opengl openmp pam pcre pdf perl png pppd python qt readline reflection session spl sqlite sqlite3 ssl svg tcl tcpd tetex tiff tk truetype-fonts type1-fonts unicode x86 xorg xulrunner zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de" USERLAND="GNU" VIDEO_CARDS="nv"
  Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


tkt_uuid: 220308ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 65. Generic Window Operations
priority: 1 Zero
foundin: obsolete: 8.4a1
resolution: Invalid
title: Wish doesn't close cleanly when exited with the X box on the window manager
comment:
  OriginalBugID: 5932 Bug
  Version: 8.4a1
  SubmitDate: '2000-06-21'
  LastModified: '2000-09-05'
  Severity: LOW
  Status: Closed
  Submitter: shawn
  ChangedBy: hobbs
  OS: Windows 2000
  ClosedDate: '2000-09-05'


  Whe I run this - and close using the X widget on the window - the process keeps running - 

  To reproduce (Jeff - I will send you the app - or try /home/shawn/tktest/tktest.tcl - it very transient right now) run tktest.tcl and kill the app using the X box (typical windows stuff).  The process will still be running if viewed with the task manager. 

  So it eats a ton of resouces and hampers the machine. 

  I have to go and kill it - but if I execute an explcit exit command - it goes away 

  Workaround - use the WM DELETE binding and explicitly exit the program. 



  In thinking about this - I am wondering if this is the correct behavior - I have a loop that would continue running in the event loop - and I wonder if this might be more useful than my original thinking.  It could be useful in the case were I want to have a gui interface to a program that I wanted to keep running - such as the gui on tclhttpd - where I might want to close the gui but have the server continue to run. 

  -- 06/22/2000 shawn

  This sounds like the [X] box in questions isn't for the main toplevel,
  but a child one.  If it isn't '.', then wish won't exit. 
  -- 09/05/2000 hobbs


tkt_uuid: 2513186fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 88. Themed Tk
priority: 5 Medium
foundin: obsolete: 8.5.5
resolution: None
title: ttk::entry xview sub-command forces use of update idletasks
comment:
  Before the ttk::entry xview sub-command is invoked, an
  update idletasks command must be executed in order to
  update the entry scrolling information, otherwise the
  sub-command doesn't work correctly e.g. the following
  script is supposed to set an entry field value and
  then scroll it to the end ready for editing:

      pack [ttk::entry .e -width 8]
      .e insert end abcdefghijklmnopqrstuvwxyz
      .e xview [.e index end]

  The field is left unscrolled, unless update idletasks
  is inserted before the xview sub-command.

  The use of update and update idletasks is generally
  discouraged on comp.lang.tcl, unless *absolutely
  necessary*, for well known reasons.  Recursively
  re-entering the event loop can lead to application
  logic problems, the widget may have been destroyed,
  etc.  I don't think that it is desirable for a core
  widget to force use of update idletasks just to
  function correctly.  It is particularly a nuisance if
  a whole form of entry fields is being set ready for
  modification.


  The following change to generic/ttk/ttkEntry.c will
  avoid the problem:

  static int EntryXViewCommand(
      Tcl_Interp *interp, int objc, Tcl_Obj *const objv[], void *recordPtr)
  {
      Entry *entryPtr = recordPtr;
      
      /* If caller has requested that the widget view is
       * adjusted to a given index "pathName xview index",
       * then ensure that the scroll info is up-to-date.
       */
       
      if (objc == 3) {
  EntryDoLayout(recordPtr);
      }

      return TtkScrollviewCommand(interp, objc, objv,
          entryPtr->entry.xscrollHandle);
  }


  Proc ttk::entry::See in library/ttk/entry.tcl can then
  also be modified to remove an update idletasks.


tkt_uuid: 1451587fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.4.13
resolution: Fixed
title: config -command in tkfbox.tcl (and others)
comment:
  not sure if i have the right category, but here it goes:

  in tcl you can abbreviate commands, so instead of
  configure you can say config. While some lazy :o)
  programmers do so, it is not recommended to use in tk
  core files. use case:

  you implement a new scrollbar in snit. snit knows the
  configure command, but not the config command. when you
  replace the tk scrollbar with your own, errors get
  raised when you open a file browser window for example.

  my suggestion is to replace all config to configure
  easy fix, safe fix.

  egrep -n " config -" tk8.5/*
  tk8.5/scale.tcl:24:     %W config -activebackground [%W
  cget -background]
  tk8.5/scale.tcl:33:     %W config -activebackground
  $tk::Priv(activeBg)
  tk8.5/scrlbar.tcl:25:   %W config -activebackground [%W
  cget -background]
  tk8.5/scrlbar.tcl:40:   %W config -activebackground
  $tk::Priv(activeBg)
  tk8.5/tkfbox.tcl:230:    $data(sbar) config -command
  [list $data(canvas) xview]
  tk8.5/tkfbox.tcl:231:    $data(canvas) config
  -xscrollcommand [list $data(sbar) set]
  tk8.5/tkfbox.tcl:403:       $data(sbar) config -command ""
  tk8.5/tkfbox.tcl:459:   $data(canvas) config
  -scrollregion [list $pad $pad $sW $H]
  tk8.5/tkfbox.tcl:460:   $data(sbar) config -command ""
  tk8.5/tkfbox.tcl:464:   $data(canvas) config
  -scrollregion [list $pad $pad $sW $H]
  tk8.5/tkfbox.tcl:465:   $data(sbar) config -command
  [list $data(canvas) xview]
  tk8.5/tkfbox.tcl:876:   $data(typeMenuBtn) config
  -state normal
  tk8.5/tkfbox.tcl:877:   $data(typeMenuLab) config
  -state normal
  tk8.5/tkfbox.tcl:880:   $data(typeMenuBtn) config
  -state disabled -takefocus 0
  tk8.5/tkfbox.tcl:881:   $data(typeMenuLab) config
  -state disabled
  tk8.5/tkfbox.tcl:1039:    $data(upBtn) config -image
  $Priv(updirImage)
  tk8.5/tkfbox.tcl:1041:    $f1.menu config -takefocus 1
  -highlightthickness 2
  tk8.5/tkfbox.tcl:1086:  $data(typeMenuBtn) config
  -takefocus 1 -highlightthickness 2 \
  tk8.5/tkfbox.tcl:1141:    $data(upBtn)     config
  -command [list ::tk::dialog::file::UpDirCmd $w]
  tk8.5/tkfbox.tcl:1142:    $data(cancelBtn) config
  -command [list ::tk::dialog::file::CancelCmd $w]
  tk8.5/tkfbox.tcl:1150:  $data(okBtn)     config
  -command [list ::tk::dialog::file::OkCmd $w]
  tk8.5/tkfbox.tcl:1159:  $data(okBtn) config -command $okCmd
  tk8.5/tkfbox.tcl:1269:    $data(ent) config -cursor watch
  tk8.5/tkfbox.tcl:1270:    $w         config -cursor watch
  tk8.5/tkfbox.tcl:1340:    $data(ent) config -cursor
  $entCursor
  tk8.5/tkfbox.tcl:1341:    $w         config -cursor
  $dlgCursor
  tk8.5/tkfbox.tcl:1378:    $data(typeMenuBtn) config
  -text [lindex $type 0] -indicatoron 1


  from IRC:
  Tjikkun i have a question about config vs configure
  Tjikkun why are both being used?
  ijchain <dgp> huh?
  ijchain <dgp> context?
  Tjikkun like $scrollbar config -command [list bla]
  Tjikkun $scrollbar configure -command [list bla]
  Tjikkun both are correct, right?
  ijchain <suchenwi> You can abbreviate most switches as
  long as they are still unambiguous.
  ijchain <dgp> configure is the subcommand, "config" is
  lazy programmer
  Tjikkun ok.. snit doesn't support that i think
  ijchain <suchenwi> Neither does BWidget.
  Tjikkun so that is a problem.. because the abbreviation
  (why is that such a long word) is used in tkfbox.tcl
  Tjikkun so if you then replace say the scrollbar widget
  with a snit scrollbar.. you get a tk error
  ijchain <dgp> bug report time
  Tjikkun for snit, or tk?
  ijchain <suchenwi> tkfbox.tcl
  Tjikkun ok i will report it


tkt_uuid: 480836ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 10. Generic Menus
priority: 5 Medium
foundin: obsolete: 8.4a4
resolution: Invalid
title: tk::MenuDup not found while using menus
comment:
  The following script generates an error with Tk
  from the CVS. It worked just fine in earlier versions.
  It is likely this broke as a result of TIP 44. Are
  there any test cases in the test suite that cover
  this?


tkt_uuid: 220889ffffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: 18. [text]
priority: 5 Medium
foundin: None
resolution: None
title: changing underline and overstrike line colors in text widget
comment:
  OriginalBugID: 4040 RFE
  Version: 8.2.2
  SubmitDate: '2000-01-19'
  LastModified: '2000-04-16'
  Severity: LOW
  Status: UnAssn
  Submitter: techsupp
  ChangedBy: hobbs
  OS: All
  OSVersion: Solaris 5.6, Linux 6.0,  AIX 4.2, Dec OSF V4.0D, NT 4
  Machine: Sparc Ultre, PC Pentium III, IBM RS600, Dec Alpha


  Name:
  Xavier Fornari

  CustomShell:
  I added two options to a text tag, based on the same code as for the -foreground option. This quite small.

  Comments:
  tkTextPatch.tgz contains a README, a patch file and an example of use. The patch should be applied from the Tk source directory, because it will patch doc/text.n and generic/tkText* files.

  DesiredBehavior:
  the default behavior of -underline and -overstrike options of a text tag is to draw a line with the same color as the tagged text (or default color if there is no specific foreground). I defined two new options -underlinefg and -overstrikefg that define a specific color for the underline or the overstrike line. If these options are not set, or set to "{}", then the behavior is the same as the standard one, ie, the text color is used instead
  I had already defined this enhancement for Tk3.6 and sent a patch (in 1994?) , but we did the move to Tk8.0 only last year.

  Patch:
  ftp://ftp-sop.inria.fr/meije/pub/tkTextPatch.tgz

  PatchFiles:
  tkText.h tkText.c tkTextTag.c tkTextDisp.c text.n


tkt_uuid: 1694526fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 05. Canvas Items
priority: 1 Zero
foundin: obsolete: 8.5a5
resolution: Invalid
title: Canvas text item w/explicit width wraps incorrectly
comment:
  On 8.5a5:

  canvas .c ; pack .c
  .c create text 4 4 -anchor nw -width 10 -text "This is a test."

  On MacOS X (unsure of other platforms) this produces

  This
  is
  a
  test.

  Given the width of 15 and the (reasonable) documented behavior to break only if next word would exceed line length, this should be:

  This is a
  test.


tkt_uuid: 960190ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 01. Bindings
priority: 5 Medium
foundin: None
resolution: Fixed
title: MouseWheel binding not OK on Windows
comment:
    Hello,

    When comparing TK versions 8.4.6 and 8.5a1, 
  <MouseWheel> binding has changed, for Windows, from:

  bind Text <MouseWheel> {
          %W yview scroll [expr {- (%D / 120) * 4}] units
      }

  to:

  bind Text <MouseWheel> {
      %W yview scroll [expr {-%D}] pixels
  }

  The result is that one movement in my wheel causes 10 
  lines movements on the text, instead of 3-5 as before. 
  It looks like a bug.

    Regards,

    Ramon Ribó
    ramsan@cimne.upc.es


tkt_uuid: 220603ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 69. Events
priority: 2
foundin: obsolete: 8.2
resolution: Fixed
title: binding for Shift-Tab should be virtual event
comment:
  OriginalBugID: 3163 Bug
  Version: 8.2
  SubmitDate: '1999-10-22'
  LastModified: '2000-01-19'
  Severity: LOW
  Status: Released
  Submitter: hobbs
  ChangedBy: ericm
  OS: Linux
  FixedDate: '2000-01-19'
  FixedInVersion: 8.3


  On systems like Linux and IRIX, the Shift-Tab actually maps to
  ISO_Left_Tab, and on HP it is hpBackTab.  Instead of relying
  on Shift-Tab, we should make a <<PrevWindow>> virtual event
  (for our purposes) and add events to that.

  I added the <<PrevWindow>> virtual event, with a <Shift-Tab> binding, and OS specific bindings for Linux, IRIX and HP-UX.  We can add others as we learn about them.

  - eric

  -- 01/19/2000 ericm


tkt_uuid: 1595773fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 03. [*button] and [label]
priority: 5 Medium
foundin: obsolete: 8.4.14
resolution: Duplicate
title: button flash causes tcl to fail on Windows
comment:
  Using tcl 8.4 and tcl 8.5, I've tried the following
  code, which works on Solaris:

  package require Tk
  pack [button .b]
  for {set i 1} {$i <= 1000} {incr i} {
  .b flash
  }

  On Solaris, the button flashes 1000 times. On Windows,
  the tk console quits responding, with no apparent flashing.

  If Tk doesn't support flash on Windows, perhaps the man
  pages where flash is mentioned could be updated to
  mention that limitation?


tkt_uuid: 3479498fffffffffffffffffffffffffffffffff
type: Patch
status: Closed
subsystem: 18. [text]
priority: 7 High
severity: Minor
foundin: None
resolution: Fixed
title: no limit to -blockcursor width
comment:
  The attached patch fixes items 1754043 and 2321450 (which really are dups):

  no limit to -blockcursor width:
  https://sourceforge.net/tracker/?func=detail&aid=1754043&group_id=12997&atid=112997

  Text widget block cursor problem:
  https://sourceforge.net/tracker/?func=detail&aid=2321450&group_id=12997&atid=112997

  The patch is against core-8-5-branch.


tkt_uuid: 553207ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 54. [console]
priority: 5 Medium
foundin: obsolete: 8.4a5
resolution: Fixed
title: cd {$FOO$} fails
comment:
  If a directory name contains '$foo' or '[foo]', then 
  the console throws an error when trying to 'cd' into 
  such a directory.

  For example:

  cd {C:/$OEM$}

  gives "Can't read "OEM" no such variable" error.


tkt_uuid: 220148ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 64. Graphic Contexts
priority: 1 Zero
foundin: obsolete: 8.1b2
resolution: Invalid
title: widget creation aborts Tk
comment:
  OriginalBugID: 1567 Bug
  Version: 8.1b2
  SubmitDate: '1999-03-22'
  LastModified: '1999-04-20'
  Severity: CRIT
  Status: Closed
  Submitter: pat
  ChangedBy: redman
  OS: Other
  OSVersion: RedHat Linux 5.x on Alpha XL 300
  Machine: NA
  FixedInVersion: 8.1b3
  ClosedDate: '1999-04-20'


  Name:
  Don Porter

  ObservedBehavior:
      Invoking most of the widget creation commands of Tk is
      causing wish to abort.  Two examples follow; the first
      is most representative:
      
      $ wish8.1
      % text .t
      GC already registered in Tk_GetGC
      
      Program received signal SIGABRT, Aborted.
      0x15555eef4e8 in __kill () at __kill:2
      __kill:2: No such file or directory.
      (xxgdb) info stack
      #0  0x15555eef4e8 in __kill () at __kill:2
      #1  0x15555eef2f8 in raise (sig=6) at ../sysdeps/posix/raise.c:27
      #2  0x15555ef0940 in abort () at ../sysdeps/generic/abort.c:83
      #3  0x1555594b1e4 in Tcl_PanicVA (format=0x155557695d0 "GC already
      registered in Tk_GetGC", argList={__base = 0x11fffed90 "Ð\225vUU\001",
      __offset = 72}) at ./../generic/tclPanic.c:93
      #4  0x1555594b2a0 in Tcl_Panic (arg1=0x155557695d0 "GC already
      registered in Tk_GetGC") at ./../generic/tclPanic.c:121
      #5  0x155556bc098 in Tk_GetGC (tkwin=0x120167480, valueMask=65536,
      valuePtr=0x11fffeee8) at ./../generic/tkGC.c:262
      #6  0x155557536a4 in TkTextCreateDInfo (textPtr=0x120199040) at
      ./../generic/tkTextDisp.c:385
      #7  0x155557493d8 in Tk_TextCmd (clientData=0x12013b890,
      interp=0x1201016f0, argc=2, argv=0x11ffff030) at
      ./../generic/tkText.c:270
      #8  0x155558e0b94 in TclInvokeStringCommand (clientData=0x120142710,
      interp=0x1201016f0, objc=2, objv=0x120102ed0) at
      ./../generic/tclBasic.c:1773
      #9  0x155559147e0 in TclExecuteByteCode (interp=0x1201016f0,
      codePtr=0x120191900) at ./../generic/tclExecute.c:843
      #10 0x155558e203c in Tcl_EvalObjEx (interp=0x1201016f0,
      objPtr=0x1201118a0, flags=131072) at ./../generic/tclBasic.c:2719
      #11 0x15555927618 in Tcl_RecordAndEvalObj (interp=0x1201016f0,
      cmdPtr=0x1201118a0, flags=131072) at ./../generic/tclHistory.c:142
      #12 0x155559273d0 in Tcl_RecordAndEval (interp=0x1201016f0,
      cmd=0x12010d868 "text .t\n", flags=131072) at
      ./../generic/tclHistory.c:62
      #13 0x155556c6734 in StdinProc (clientData=0x12014ead0, mask=2) at
      ./../generic/tkMain.c:349
      #14 0x15555934a08 in Tcl_NotifyChannel (channel=0x12014ead0, mask=2) at
      ./../generic/tclIO.c:5597
      #15 0x15555979c5c in FileHandlerEventProc (evPtr=0x120149bc0, flags=-3)
      at ./../unix/tclUnixNotfy.c:572
      #16 0x1555594836c in Tcl_ServiceEvent (flags=-3) at
      ./../generic/tclNotify.c:573
      #17 0x15555948978 in Tcl_DoOneEvent (flags=-3) at
      ./../generic/tclNotify.c:875
      #18 0x155556b3038 in Tk_MainLoop () at ./../generic/tkEvent.c:1102
      #19 0x155556c6528 in Tk_MainEx (argc=1, argv=0x11ffff7e8,
      appInitProc=0x120000a88 <Tcl_AppInit>, interp=0x1201016f0) at
      ./../generic/tkMain.c:278
      #20 0x120000a5c in main (argc=1, argv=0x11ffff7e8) at ./tkAppInit.c:54
      
      $ wish8.1
      % entry .e
      
      Program received signal SIGSEGV, Segmentation fault.
      0x15555926d80 in ArrayCreate (tablePtr=0x120110718, key=0x6400006
      <Address 0x6400006 out of bounds>, newPtr=0x11fffedf8) at
      ./../generic/tclHash.c:734
      (xxgdb) info stack
      #0  0x15555926d80 in ArrayCreate (tablePtr=0x120110718, key=0x6400006
      <Address 0x6400006 out of bounds>, newPtr=0x11fffedf8) at
      ./../generic/tclHash.c:734
      #1  0x155556b0c5c in GetCursor (interp=0x1201016f0, tkwin=0x1201998c0,
      string=0x12014ce00 "xterm") at ./../generic/tkCursor.c:279
      #2  0x155556b09e8 in Tk_AllocCursorFromObj (interp=0x1201016f0,
      tkwin=0x1201998c0, objPtr=0x12014b810) at ./../generic/tkCursor.c:153
      #3  0x155556ae688 in DoObjConfig (interp=0x1201016f0,
      recordPtr=0x120199ab0 "À\230\031 \001", optionPtr=0x120199170,
      valuePtr=0x12014b810, tkwin=0x1201998c0, savedOptionPtr=0x0) at
      ./../generic/tkConfig.c:820
      #4  0x155556ade94 in Tk_InitOptions (interp=0x1201016f0,
      recordPtr=0x120199ab0 "À\230\031 \001", optionTable=0x120199090,
      tkwin=0x1201998c0) at ./../generic/tkConfig.c:538
      #5  0x155556ff324 in Tk_EntryObjCmd (clientData=0x0, interp=0x1201016f0,
      objc=2, objv=0x120102ed0) at ./../generic/tkEntry.c:518
      #6  0x155559147e0 in TclExecuteByteCode (interp=0x1201016f0,
      codePtr=0x120159fb0) at ./../generic/tclExecute.c:843
      #7  0x155558e203c in Tcl_EvalObjEx (interp=0x1201016f0,
      objPtr=0x1201118a0, flags=131072) at ./../generic/tclBasic.c:2719
      #8  0x15555927618 in Tcl_RecordAndEvalObj (interp=0x1201016f0,
      cmdPtr=0x1201118a0, flags=131072) at ./../generic/tclHistory.c:142
      #9  0x155559273d0 in Tcl_RecordAndEval (interp=0x1201016f0,
      cmd=0x12010d868 "entry .e\n", flags=131072) at
      ./../generic/tclHistory.c:62
      #10 0x155556c6734 in StdinProc (clientData=0x12014ead0, mask=2) at
      ./../generic/tkMain.c:349
      #11 0x15555934a08 in Tcl_NotifyChannel (channel=0x12014ead0, mask=2) at
      ./../generic/tclIO.c:5597
      #12 0x15555979c5c in FileHandlerEventProc (evPtr=0x12010e2a0, flags=-3)
      at ./../unix/tclUnixNotfy.c:572
      #13 0x1555594836c in Tcl_ServiceEvent (flags=-3) at
      ./../generic/tclNotify.c:573
      #14 0x15555948978 in Tcl_DoOneEvent (flags=-3) at
      ./../generic/tclNotify.c:875
      #15 0x155556b3038 in Tk_MainLoop () at ./../generic/tkEvent.c:1102
      #16 0x155556c6528 in Tk_MainEx (argc=1, argv=0x11ffff7e8,
      appInitProc=0x120000a88 <Tcl_AppInit>, interp=0x1201016f0) at
      ./../generic/tkMain.c:278
      #17 0x120000a5c in main (argc=1, argv=0x11ffff7e8) at ./tkAppInit.c:54
      
      





      I haven't yet been able to track down the bug and create a patch,
      but I didn't want to delay and miss the bug-fixing deadline for 8.1.
      This is definitely a show-stopper.

      Perhaps Tcl_CreateHashEntry(), stubs, and 64-bit platforms don't play
      well together?  Just guessing at this point.

  We need to make sure the 64-bit support in 8.1 has fixed this bug.
  04/16/1999 13:47 - stanton -
  04/20/1999 17:31 - redman - Fixed this problem in 8.1b3 when I added support for 64bit systems.


tkt_uuid: 1273358fffffffffffffffffffffffffffffffff
type: RFE
status: Open
subsystem: 18. [text]
priority: 5 Medium
foundin: None
resolution: None
title: Ask a text widget for the depth of its undo and redo stacks
comment:
  I would like to have a way to query the current depth of 
  the undo and redo stacks of a text widget.

  This would allow to enable/disable contextually Undo 
  and Redo commands in applications.

  Whether the undo stack is empty or not can be known 
  by querying the modified flag (although this is not 
  equivalent, but I can set the modified flag manually in 
  such a way that it is).

  I have however no solution for the redo stack depth. How 
  can I know if it's zero or not? Currently I have to track 
  manually any editing in my text widget, this is 
  cumbersome and greatly lowers the interest of using the 
  embedded .text edit commands.

  In summary please add a command that gives the 
  current depth of each stack, or at least a command that 
  says if the depths are zero or not.

  Thanks,
  Francois


tkt_uuid: 220455ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 35. [tk_dialog]
priority: 2
foundin: obsolete: 8.1
resolution: Fixed
title: rework Tk 8.1 winDialog test to keep it from hanging the test suite
comment:
  OriginalBugID: 1498 Bug
  Version: 8.1
  SubmitDate: '1999-03-13'
  LastModified: '2000-04-07'
  Severity: LOW
  Status: Released
  Submitter: admin
  ChangedBy: hobbs
  OS: All
  OSVersion: NA
  Machine: NA
  FixedDate: '2000-04-07'
  FixedInVersion: NA


  The following test in tk8.1/tests/winDialog.test is currently skipped
  because otherwise it hangs the test suite by causing a message dialog
  to pop up, requiring a user to click OK to continue.  Note that this
  test cannot be run by itself--it needs to be run inside the file...

  set a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  append a $a
  append a $a
  append a $a
  append a $a
  test winDialog-5.16 {GetFileName: initial file: long name} {knownBug} {
      start {set x [tk_getSaveFile -initialfile $a -title Long]}
      then {
  Click 1
      }
      set x
  } [string range [file join [pwd] $a] 0 257]


  This test wasn't being called for a while, but it also doesn't
  hang (nor is it a bug) for 8.3.1. 
  -- 04/07/2000 hobbs


tkt_uuid: 1578024fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: None
priority: 5 Medium
foundin: obsolete: 8.5a5
resolution: Out of Date
title: "nmake test" fails with 8.5a5rc1 on windows
comment:
  Here are the failures i saw from an "nmake test"
  on the 8.5arc Tk sources.

  ==== canvRect-9.1 ScaleRectOval procedure FAILED
  ==== Contents of test case:

      .c delete withtag all
      .c create rect 100 300 200 350 -tags x
      .c scale x 50 100 2 4
      .c coords x

  ---- Result was:
  150.0 900.0000000000002 350.0 1099.9999999999998
  ---- Result should have been (exact matching):
  150.0 900.0 350.0 1100.0
  ==== canvRect-9.1 FAILED



  ==== canvRect-10.1 TranslateRectOval procedure FAILED
  ==== Contents of test case:

      .c delete withtag all
      .c create rect 100 300 200 350 -tags x
      .c move x 100 -10
      .c coords x

  ---- Result was:
  200.0 290.00000000000006 300.0 339.99999999999994
  ---- Result should have been (exact matching):
  200.0 290.0 300.0 340.0
  ==== canvRect-10.1 FAILED



  ==== safe-1.2 Safe Tk loading into an interpreter 
  FAILED
  ==== Contents of test case:

      catch {safe::interpDelete a}
      safe::interpCreate a
      safe::loadTk a
      set l [lsort [interp hidden a]]
      safe::interpDelete a
      set l

  ---- Result was:
  bell cd clipboard encoding exec exit fconfigure file 
  glob grab load menu open pwd selectio
  n socket source tk_chooseColor tk_chooseDirectory 
  tk_getOpenFile tk_getSaveFile tk_message
  Box toplevel wm
  ---- Result should have been (exact matching):
  bell cd clipboard encoding exec exit fconfigure file 
  glob grab load menu open pwd selectio
  n send socket source tk_chooseColor tk_chooseDirectory 
  tk_getOpenFile tk_getSaveFile tk_me
  ssageBox toplevel wm
  ==== safe-1.2 FAILED


  ==== text-25.15 bug fix 1536735 - undo with empty text 
  FAILED
  ==== Contents of test case:

      catch {destroy .t}
      text .t -undo 1
      .t delete 1.0
      .t edit undo
      .t edit modified

  ---- Result was:
  1
  ---- Result should have been (exact matching):
  0
  ==== text-25.15 FAILED

  ==== textImage-3.2 delayed image management FAILED
  ==== Contents of test case:

          catch {
              image create photo small -width 5 -height 5
              small put red -to 0 0 4 4
          }
          catch {destroy .t}
          text .t -font test_font -bd 0 -
  highlightthickness 0 -padx 0 -pady 0
          pack .t
          .t image create end -name test
          update
          set result ""
          lappend result [.t bbox test]
          .t image configure test -image small -align top
          update
          lappend result [.t bbox test]

  ---- Result was:
  {0 10 0 0} {0 0 5 5}
  ---- Result should have been (exact matching):
  {} {0 0 5 5}
  ==== textImage-3.2 FAILED

  ==== textWind-10.4 EmbWinLayoutProc procedure, error 
  in creating window FAILED
  ==== Contents of test case:

      .t delete 1.0 end
      .t insert 1.0 "Some sample text"
      catch {destroy .t.f}
      .t window create 1.5 -create {
          frame .t.f
          frame .t.f.f -width 10 -height 20 -bg $color
      }
      set msg {}
      set count 0
      while {([llength $msg] < 2) && ($count < 100)} {
          update ; incr count; .t bbox 1.5 ; after 10
      }
      lappend msg [.t bbox 1.5] [winfo exists .t.f.f]

  ---- Result was:
  {{can't embed .t.f.f relative to .t}} {40 12 0 0} 1
  ---- Result should have been (exact matching):
  {{can't embed .t.f.f relative to .t}} {{window 
  name "f" already exists in parent}} {40 12
  0 0} 1
  ==== textWind-10.4 FAILED


  ==== winDialog-5.16 GetFileName: initial file: long 
  name FAILED
  ==== Contents of test case:

      start {set x [tk_getSaveFile -initialfile $a -
  title Long]}
      then {
          Click 1
      }
      string totitle $x

  ---- Result was:
  D:/afredd/src/tk/tk8.5a5rc1-src.tar/tk8.5a5/win/12x 456
  ---- Result should have been (exact matching):
  D:/afredd/src/tk/tk8.5a5rc1-
  src.tar/tk8.5a5/win/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  aaaaaaaaa
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  aaaaaaaaaaaaaaaaaaaaaaa
  ==== winDialog-5.16 FAILED


  ==== winWm-5.1 UpdateGeometryInfo: menu resizing FAILED
  ==== Contents of test case:

      set result {}
      toplevel .t
      frame .t.f -width 150 -height 50 -bg red
      pack .t.f
      update
      set result [winfo height .t]
      menu .t.m
      .t.m add command -label foo
      .t conf -menu .t.m
      update
      lappend result [winfo height .t]
      .t.m add command -label "thisisreallylong"
      .t.m add command -label "thisisreallylong"
      update
      lappend result [winfo height .t]
      destroy .t
      set result

  ---- Result was:
  50 50 32
  ---- Result should have been (exact matching):
  50 50 50
  ==== winWm-5.1 FAILED


  ==== winfo-4.5 "winfo containing" command FAILED
  ==== Contents of test case:

      winfo containing [winfo rootx .t.f] [winfo 
  rooty .t.f]

  ---- Result was:
  .
  ---- Result should have been (exact matching):
  .t.f
  ==== winfo-4.5 FAILED


  Tests ended at Mon Oct 16 10:32:35 +0100 2006
  all.tcl:        Total   8660    Passed  7471    
  Skipped 1180    Failed  9
  Sourced 86 Test Files.
  Files with failing tests: canvRect.test safe.test 
  text.test textImage.test textWind.test w
  inDialog.test winWm.test winfo.test


tkt_uuid: 597012ffffffffffffffffffffffffffffffffff
type: RFE
status: Closed
subsystem: 02. Appearance
priority: 5 Medium
foundin: None
resolution: Duplicate
title: named color support
comment:
  I'd like "named colors" much like we now have named
  fonts. As an example:

  color create myDefaultColor -rgb #ff0000
  button.b -background myDefaultColor
  ...
  color configure myDefaultColor -rgb #00ff00

  This would make it a lot easier to create application
  preference dialogs which let the user change colors on
  the fly. It might also make it much easier to support
  color themes on all platforms. If all tk widgets
  defaulted to named colors (eg: SystemButtonFace, etc),
  it would be easy to change color schemes on the fly.


tkt_uuid: 220242ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 75. wish
priority: 1 Zero
foundin: obsolete: 8.1
resolution: Invalid
title: Portability using default files
comment:
  OriginalBugID: 2962 Bug
  Version: 8.1
  SubmitDate: '1999-09-28'
  LastModified: '1999-11-03'
  Severity: SER
  Status: Closed
  Submitter: techsupp
  ChangedBy: hobbs
  OS: Other
  ClosedDate: '1999-11-03'


  Name: Hermann G. Striecks

  ReproducibleScript:
  #!/usr/local/bin/wish

      proc showScreen {} {
           eval destroy [winfo child .]
           wm title . "Do you want to have a look at the result
      file?(Y,\[N\])"
           wm iconname . "label"
           focus -force .
           bind . <F1>   aboutBox
           frame .info
           label .info.proto    -width 45 -text "   " -relief sunken -bd 1  -font -*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-* -anchor
      w
           pack .info.proto -side left -padx 2 -expand yes -fill both
           pack .info -side top -fill x -pady 10
           .info.proto config -text "Please click \"Yes\" to agree or \"No\"
      to disagree\"!"

           frame  .but
           button .but.start -background Green     -text "Yes"  -command
      {endSel "Yes"}
           button .but.stop  -background PeachPuff -text "No"   -command
      {endSel "No"}
           pack   .but.start   -side left  
           pack   .but.stop    -side right 
           pack   .but         -side top   -fill x -pady 10 -padx 100
           frame .test
           label .test.proto    -width 45 -text "   " -relief sunken -bd 1  -font -*-Helvetica-Medium-R-Normal--*-180-*-*-*-*-*-* -anchor
      w
           pack .test.proto -side left -padx 2 -expand yes -fill both
           pack .test -side top -fill x -pady 10
           .test.proto config -text " "

      }

      proc endSel {arg } {
           global tk_version
           .test.proto config -text "$arg"
           if {$tk_version >= 8.0} {
               set answer [tk_messageBox -message "Really $arg?" -type yesno
      -icon question]
               case $answer {
                    yes {setMsg $arg; catch {destroy .}}
                    no  {tk_messageBox -message "Now you can re-select!" -type
      ok}
               }
           } else {
               setMsg $arg
               catch {destroy .}
           }
      }

      proc setMsg {arg} {
           if {$arg == "Yes"} {
              message "Y"
           } else {
              message "N"
           }
      }

      proc aboutBox {} {
           global tk_version
           if {$tk_version >= 8.0} {
               catch {
                 tk_messageBox -icon info -type ok  -title "About yesno.tk"  -message "\n\nCreated by 8.0."
               }
           } else {
               set w .hlpID0
               catch {destroy $w}
               toplevel $w
               wm title $w "About yesno.tk"
               wm iconname $w "helpID0"
               positionWindow $w
               set b0text "\n\nCreated by 8.0."
               label $w.label -justify left -text "$b0text" -relief raised
      -width 25
               pack  $w.label
           }
      }

      proc message {text} {
           if {"$text" == "" || "$text" == " "} { 
               #puts stdout "$text"
           } else {
                puts stdout "$text"
                flush stdout
              # exec tclsh "putstdout.tcl" "anton"
           }
      }

      proc response {} {
           global myresponse
           gets stdin   myresponse
      }

      # after making the next line to comment the program is running as
      expected
      #showScreen 

      puts stdout "myprompt:"
      gets stdin name
      puts stdout "sample $name"
      puts stdout "after sample"

  ObservedBehavior:
  Im using TclTk 8.0 under Windows NT and AIX. 
      But Ive problems under Windows NT using the commands 
       - gets stdin  name 
       - puts stdout $name 
       - puts stderr $name 
      in TK scripts (using wish). It seems that the commands do not work
      properly.

  DesiredBehavior:
  Under AIX the commands 
       - gets stdin  name 
       - puts stdout $name 
       - puts stderr $name 
      in TK scripts (using wish) work fine.  
      A TCL script (using tclsh) with that statements works fine under NT and
      AIX.



  Tk on Windows does not the std channels because it is not a
  console based app (by design - you don't want to be tied to
  the dos prompt in Tk apps).  You can get around this by piping
  to and from wish, as can be seen in the Tk test setup. 
  -- 11/03/1999 hobbs


tkt_uuid: 2099926fffffffffffffffffffffffffffffffff
type: Patch
status: Open
subsystem: None
priority: 5 Medium
foundin: None
resolution: None
title: Failed build with OPTS=static,staticpkg
comment:
  Hi,

  This patch is related to Tcl patch 1998813.

  When building Tk with OPTS=static,staticpkg errors are reported about missing dde libs. These are caused by these lines in the makefile.vc:

  WISHOBJS = \
  $(TMP_DIR)\winMain.obj \
  !if $(TCL_USE_STATIC_PACKAGES)
  $(TCLDDELIB) \
  $(TCLREGLIB) \
  !endif
  $(TMP_DIR)\wish.res

  Replacing these with:

  WISHOBJS = \
  $(TMP_DIR)\winMain.obj \
  !if $(TCL_USE_STATIC_PACKAGES)
  "$(_TCLDIR)\win\$(BUILDDIRTOP)\tcl_Static\tclWinReg.obj" \
  "$(_TCLDIR)\win\$(BUILDDIRTOP)\tcl_Static\tclWinDde.obj" \
  !endif
  $(TMP_DIR)\wish.res

  solves the problem.

  Kind regards,

  Jos.


tkt_uuid: 2917665fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 58. [send]
priority: 5 Medium
foundin: obsolete: 8.5.8
resolution: Duplicate
title: SI: authorizations still broken - 1909931 is not fixed
comment:
  The patch is wrong when there is more than one SI: line, which is the case on Ubuntu 9.10 by default.  I've submitted a new patch artifact 2917663 to fix the problem.


tkt_uuid: 220415ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 85. Win Build
priority: 2
foundin: obsolete: 8.1b1
resolution: Fixed
title: TK8.1b1 won't compile using Borland 4.52
comment:
  OriginalBugID: 1052 Bug
  Version: 8.1b1
  SubmitDate: '1999-01-15'
  LastModified: '1999-04-16'
  Severity: CRIT
  Status: Released
  Submitter: pat
  ChangedBy: stanton
  OS: Windows NT
  OSVersion: NT 4, service pack 3
  Machine: X86
  FixedDate: '1999-04-16'
  FixedInVersion: 8.1


  Name:
  Mark Elfield

  ReproducibleScript:
  Copy makefile.bc to makefile and run Borland 4.52 make.

  ObservedBehavior:
  1.  No zmouse.h (workaround is to create one that defines WM_MOUSEWHEEL)

  2.  After avoiding zmouse.h, the fails with this message:

  MAKE Version 3.7  Copyright (c) 1987, 1994 Borland International
          c:\bc45\bin\brcc32 -ic:\bc45\include;..\generic;..\bitmaps;..\xlib;..\wi
  n;..\..\tcl8.1b1\generic rc\tk.rc
  Borland 32-bit Resource Compiler  Version 4.5
  Copyright (c) 1990, 1994 Borland International.  All rights reserved.

  Error ctype.h 18: #error directive encountered: ERROR: Only Mac or Win32 targets
   supported!

  ** error 18 ** deleting rc\tk.res

  3.  Lots of warnings.

  DesiredBehavior:
  The make should run without errors or warnings.



  Borland is no longer supported.  The makefile should be removed from the distribiution.
  03/26/1999 11:11 - surles -


tkt_uuid: 676438ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 66. Aqua Window Operations
priority: 4
foundin: obsolete: 8.4.1
resolution: Works For Me
title: Button 2 and 3 reversed, Aqua
comment:
  Pressing the rightmost button on my 3 button mouse generates a 
  Tk event saying button 2 was pressed, while pressing the middle 
  button generates an event saying button 3 was pressed.  This is 
  on Aqua Tk 8.4.1.  Other applications on my Mac, such as the X 
  server identify the rightmost button as button 3 and the middle 
  button as button 2.  Only Tk appears to reverse buttons 2 and 3.

  The following wish8.4 script will display the button number 
  associated with button presses.

  bind . <ButtonPress> {puts "%b"}

  Pressing my 3 mouse buttons from left to right, prints 1 3 2.


tkt_uuid: 2794778fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 13. Win Menus
priority: 5 Medium
foundin: None
resolution: Fixed
title: Keyboard traversal can crash wish or make it 'unresponsible'
comment:
  When menu is navigated by keyboard (as in: open by alt-key, navigate with arrows, invoke with enter), sometimes wish either dies, or different menus start flickering rapidly closing/opening.

  I have latest 8.6 and 8.5 from ActiveState.

  Waving mouse cursor around already open menus (but without clicking) seems to help reproduce it, also it is much easier to reproduce with big and complex menu, like one that Tkabber has.

  This is the smallest sample I managed to reproduce bug with (after lots of tries though):

  . configure -menu [menu .mb -tearoff 0]
  .mb add cascade -label File -menu .mb.m0 -underline 0 
  menu .mb.m0 -tearoff 0
  .mb.m0 add command -label New -command {puts new} -underline 0
  .mb.m0 add command -label Quit -command {puts quit} -underline 0
  .mb add cascade -label Options -menu .mb.m1 -underline 0 
  menu .mb.m1 -tearoff 0
  .mb.m1 add command -label Test -command {puts test} -underline 0


tkt_uuid: 1290763fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 41. Photo Images
priority: 9 Immediate
foundin: obsolete: 8.4.11
resolution: None
title: Crash in image code
comment:
  Wish crashes when creating a png image using either Img or 
  tkpng. It seems to be independent of the image package 
  used which points to Tk's internal image code. It only 
  happens when a large application is running. I have only 
  tested my Coccinella: http://prdownloads.sourceforge.net/
  coccinella/Coccinella-0.95.9Src.tar.gz?download

  It happens on both linux and windows XP. To reproduce:
  wish
  source Coccinella.tcl
  image create photo -file pick-png-file.png
  *# crash

  Coccinella 0.95.9 uses Img on linux to load pngs, but you 
  can also try to use tkpng from : http://www.muonics.com/
  FreeStuff/TkPNG/
  Since it is indepemdent of the package used I tend to believe 
  it is internal to Tk.

  Mats


tkt_uuid: 2919205fffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 35. [tk_dialog]
priority: 5 Medium
foundin: obsolete: 8.5.8
resolution: Fixed
title: error in tkfbox line 1822
comment:
  IS :  tk_messageBox -type ok -parent $w -message -icon warning \
      [mc "Cannot change to the directory \"%1\$s\".\nPermission denied." $file]

  SHOULD BE :  tk_messageBox -type ok -parent $w -icon warning -message \
      [mc "Cannot change to the directory \"%1\$s\".\nPermission denied." $file]


tkt_uuid: 598905ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 53. [selection]
priority: 5 Medium
foundin: obsolete: 8.4b3
resolution: Works For Me
title: tk test suite select.test failure
comment:
  with a cvs snapshot tar file from activestate's ftp
  site, built against the most recent tcl, I get this new
  error:

  select.test

  ==== select-10.2 ConvertSelection procedure FAILED
  ==== Contents of test case:

      setup
      setupbg
      set selValue [string range $longValue 0 3999]
      set selInfo ""
      selection handle .f1 {handler STRING}
      set result ""
      lappend result [dobg {selection get}]
      cleanupbg
      lappend result $selInfo
  ---- Result was:
  Aa.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ba.1a.2a.3a.4a.5a.6a.7a.8a.9a.10
  a.11a.12a.13a.14Ca.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Da.1a.2a.3a.4a.5
  a.6a.7a.8a.9a.10a.11a.12a.13a.14Ea.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14
  Fa.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ga.1a.2a.3a.4a.5a.6a.7a.8a.9a.10
  a.11a.12a.13a.14Ha.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ia.1a.2a.3a.4a.5
  a.6a.7a.8a.9a.10a.11a.12a.13a.14Ka.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14
  La.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ma.1a.2a.3a.4a.5a.6a.7a.8a.9a.10
  a.11a.12a.13a.14Na.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ab.1b.2b.3b.4b.5
  b.6b.7b.8b.9b.10b.11b.12b.13b.14Bb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14
  Cb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Db.1b.2b.3b.4b.5b.6b.7b.8b.9b.10
  b.11b.12b.13b.14Eb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Fb.1b.2b.3b.4b.5
  b.6b.7b.8b.9b.10b.11b.12b.13b.14Gb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14
  Hb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Ib.1b.2b.3b.4b.5b.6b.7b.8b.9b.10
  b.11b.12b.13b.14Kb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Lb.1b.2b.3b.4b.5
  b.6b.7b.8b.9b.10b.11b.12b.13b.14Mb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14
  Nb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Ac.1c.2c.3c.4c.5c.6c.7c.8c.9c.10
  c.11c.12c.13c.14Bc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Cc.1c.2c.3c.4c.5
  c.6c.7c.8c.9c.10c.11c.12c.13c.14Dc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14
  Ec.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Fc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10
  c.11c.12c.13c.14Gc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Hc.1c.2c.3c.4c.5
  c.6c.7c.8c.9c.10c.11c.12c.13c.14Ic.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14
  Kc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Lc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10
  c.11c.12c.13c.14Mc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Nc.1c.2c.3c.4c.5
  c.6c.7c.8c.9c.10c.11c.12c.13c.14Ad.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14
  Bd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Cd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10
  d.11d.12d.13d.14Dd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Ed.1d.2d.3d.4d.5
  d.6d.7d.8d.9d.10d.11d.12d.13d.14Fd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14
  Gd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Hd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10
  d.11d.12d.13d.14Id.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Kd.1d.2d.3d.4d.5
  d.6d.7d.8d.9d.10d.11d.12d.13d.14Ld.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14
  Md.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Nd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10
  d.11d.12d.13d.14Ae.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Be.1e.2e.3e.4e.5
  e.6e.7e.8e.9e.10e.11e.12e.13e.14Ce.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14
  De.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Ee.1e.2e.3e.4e.5e.6e.7e.8e.9e.10
  e.11e.12e.13e.14Fe.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Ge.1e.2e.3e.4e.5
  e.6e.7e.8e.9e.10e.11e.12e.13e.14He.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14
  Ie.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Ke.1e.2e.3e.4e.5e.6e.7e.8e.9e.10
  e.11e.12e.13e.14Le.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Me.1e.2e.3e.4e.5
  e.6e.7e.8e.9e.10e.11e.12e.13e.14Ne.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14
  Af.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Bf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10
  f.11f.12f.13f.14Cf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Df.1f.2f.3f.4f.5
  f.6f.7f.8f.9f.10f.11f.12f.13f.14Ef.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14
  Ff.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Gf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10
  f.11f.12f.13f.14Hf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14If.1f.2f.3f.4f.5
  f.6f.7f.8f.9f.10f.11f.12f.13f.14Kf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14
  Lf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Mf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10
  f.11f.12f.13f.14Nf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Ag.1g.2g.3g.4g.5
  g.6g.7g.8g.9g.10g.11g.12g.13g.14Bg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10g.11g.12g.13g.14
  Cg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10g.11g.12g.13g.14Dg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10
  g.11g.12g.13g.14Eg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10g.11g.12g.13g.14Fg.1g.2g.3g.4g.5
   {STRING 0 4000 STRING 4000 4000 STRING 0 4000 STRING
  4000 4000 STRING 0 4000 ST
  RING 4000 4000 STRING 0 4000 STRING 4000 4000}
  ---- Result should have been (exact matching):
  Aa.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ba.1a.2a.3a.4a.5a.6a.7a.8a.9a.10
  a.11a.12a.13a.14Ca.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Da.1a.2a.3a.4a.5
  a.6a.7a.8a.9a.10a.11a.12a.13a.14Ea.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14
  Fa.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ga.1a.2a.3a.4a.5a.6a.7a.8a.9a.10
  a.11a.12a.13a.14Ha.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ia.1a.2a.3a.4a.5
  a.6a.7a.8a.9a.10a.11a.12a.13a.14Ka.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14
  La.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ma.1a.2a.3a.4a.5a.6a.7a.8a.9a.10
  a.11a.12a.13a.14Na.1a.2a.3a.4a.5a.6a.7a.8a.9a.10a.11a.12a.13a.14Ab.1b.2b.3b.4b.5
  b.6b.7b.8b.9b.10b.11b.12b.13b.14Bb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14
  Cb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Db.1b.2b.3b.4b.5b.6b.7b.8b.9b.10
  b.11b.12b.13b.14Eb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Fb.1b.2b.3b.4b.5
  b.6b.7b.8b.9b.10b.11b.12b.13b.14Gb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14
  Hb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Ib.1b.2b.3b.4b.5b.6b.7b.8b.9b.10
  b.11b.12b.13b.14Kb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Lb.1b.2b.3b.4b.5
  b.6b.7b.8b.9b.10b.11b.12b.13b.14Mb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14
  Nb.1b.2b.3b.4b.5b.6b.7b.8b.9b.10b.11b.12b.13b.14Ac.1c.2c.3c.4c.5c.6c.7c.8c.9c.10
  c.11c.12c.13c.14Bc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Cc.1c.2c.3c.4c.5
  c.6c.7c.8c.9c.10c.11c.12c.13c.14Dc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14
  Ec.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Fc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10
  c.11c.12c.13c.14Gc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Hc.1c.2c.3c.4c.5
  c.6c.7c.8c.9c.10c.11c.12c.13c.14Ic.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14
  Kc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Lc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10
  c.11c.12c.13c.14Mc.1c.2c.3c.4c.5c.6c.7c.8c.9c.10c.11c.12c.13c.14Nc.1c.2c.3c.4c.5
  c.6c.7c.8c.9c.10c.11c.12c.13c.14Ad.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14
  Bd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Cd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10
  d.11d.12d.13d.14Dd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Ed.1d.2d.3d.4d.5
  d.6d.7d.8d.9d.10d.11d.12d.13d.14Fd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14
  Gd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Hd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10
  d.11d.12d.13d.14Id.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Kd.1d.2d.3d.4d.5
  d.6d.7d.8d.9d.10d.11d.12d.13d.14Ld.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14
  Md.1d.2d.3d.4d.5d.6d.7d.8d.9d.10d.11d.12d.13d.14Nd.1d.2d.3d.4d.5d.6d.7d.8d.9d.10
  d.11d.12d.13d.14Ae.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Be.1e.2e.3e.4e.5
  e.6e.7e.8e.9e.10e.11e.12e.13e.14Ce.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14
  De.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Ee.1e.2e.3e.4e.5e.6e.7e.8e.9e.10
  e.11e.12e.13e.14Fe.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Ge.1e.2e.3e.4e.5
  e.6e.7e.8e.9e.10e.11e.12e.13e.14He.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14
  Ie.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Ke.1e.2e.3e.4e.5e.6e.7e.8e.9e.10
  e.11e.12e.13e.14Le.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14Me.1e.2e.3e.4e.5
  e.6e.7e.8e.9e.10e.11e.12e.13e.14Ne.1e.2e.3e.4e.5e.6e.7e.8e.9e.10e.11e.12e.13e.14
  Af.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Bf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10
  f.11f.12f.13f.14Cf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Df.1f.2f.3f.4f.5
  f.6f.7f.8f.9f.10f.11f.12f.13f.14Ef.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14
  Ff.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Gf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10
  f.11f.12f.13f.14Hf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14If.1f.2f.3f.4f.5
  f.6f.7f.8f.9f.10f.11f.12f.13f.14Kf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14
  Lf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Mf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10
  f.11f.12f.13f.14Nf.1f.2f.3f.4f.5f.6f.7f.8f.9f.10f.11f.12f.13f.14Ag.1g.2g.3g.4g.5
  g.6g.7g.8g.9g.10g.11g.12g.13g.14Bg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10g.11g.12g.13g.14
  Cg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10g.11g.12g.13g.14Dg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10
  g.11g.12g.13g.14Eg.1g.2g.3g.4g.5g.6g.7g.8g.9g.10g.11g.12g.13g.14Fg.1g.2g.3g.4g.5
   {STRING 0 4000 STRING 4000 4000 STRING 0 4000 STRING
  4000 4000}
  ==== select-10.2 FAILED


tkt_uuid: 1067248fffffffffffffffffffffffffffffffff
type: Bug
status: Open
subsystem: 58. [send]
priority: 5 Medium
foundin: obsolete: 8.5a1
resolution: None
title: Win send disabled, causes test failure
comment:
  On Windows 'send' is disabled because it caused
  interpreter hangs.  However, this leads to a test failure.

  Ideally win-send should be fixed, but failing that the
  test should have a non-Windows constraint applied.

  ==== safe-1.2 Safe Tk loading into an interpreter FAILED
  ==== Contents of test case:

      catch {safe::interpDelete a}
      safe::interpCreate a
      safe::loadTk a
      set l [lsort [interp hidden a]]
      safe::interpDelete a
      set l

  ---- Result was:
  bell cd clipboard encoding exec exit fconfigure file
  glob grab load menu open pw
  d selection socket source tk_chooseColor
  tk_chooseDirectory tk_getOpenFile tk_ge
  tSaveFile tk_messageBox toplevel wm
  ---- Result should have been (exact matching):
  bell cd clipboard encoding exec exit fconfigure file
  glob grab load menu open pw
  d selection send socket source tk_chooseColor
  tk_chooseDirectory tk_getOpenFile
  tk_getSaveFile tk_messageBox toplevel wm
  ==== safe-1.2 FAILED


tkt_uuid: 428446ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.3.1
resolution: Out of Date
title: Core dump on tk_getOpenFile
comment:
  The following script will demonstrate the problem:

  set DISPLAY "[info hostname]:0.0"
  toplevel .foo -screen $DISPLAY
  set mb [menu .foo.menu]
  .foo configure -menu $mb
  tk_getOpenFile

  Here is a wish transcript that demonstrates it on my platform:

  % parray tcl_platform
  tcl_platform(byteOrder) = bigEndian
  tcl_platform(machine)   = sun4m
  tcl_platform(os)        = SunOS
  tcl_platform(osVersion) = 5.6
  tcl_platform(platform)  = unix
  tcl_platform(user)      = sealj
  % puts $tcl_patchLevel
  8.3.1
  % puts $tk_patchLevel
  8.3.1
  % toplevel .foo -screen "[info hostname]:0.0"
  .foo
  % .foo configure -menu [menu .foo.menu]
  % tk_getOpenFile
  Tk_Get3DBorderFromObj called with non-existent border!
  Abort (core dumped)

  The crash does not always occur instantaneously, sometimes it doesn't occur until you either move 
  the tk_getOpenFile window or the mouse enters another window. The problem does not occur if

  * You use the original "." toplevel, or
  * You omit the -screen argument to the new toplevel, or
  * You don't configure the new toplevel with a -menu.

  If you call tk_getOpenFile before doing those things, then sometimes it will still work afterward 
  without crashing.


tkt_uuid: 943110ffffffffffffffffffffffffffffffffff
type: Bug
status: Closed
subsystem: 37. [tk_get*File]
priority: 5 Medium
foundin: obsolete: 8.4.6
resolution: Fixed
title: tk_getOpenFile on windows and rogue events
comment:
  I previously posted a bug (219985) on this matter, but
  I see that a resolution has still not presented itself.

  The problem:

  Double clicking on a windows filebrowser sends extra
  events to the window underneath the filebrowser. Let me
  make this clear... THIS IS A WINDOWS BUG!

  However, taking a pragmatic view it's still a right
  pain and something that needs to be solved in Tk. This
  problem doesn't seem to happen when using modern MS
  applicants (although IIRC it used to be noticable in
  the old MS help program), so clearly their own
  libraries work around this and "gobble up" the rogue
  events.

  A quick demonstration make it evident. From an
  interactive wish shell, type in the following:

  button .b -text "press me" -command ".b configure -text
  pressed" -width 100 -height 30
  pack .b

  Ie create a huge button.

  Now type "tk_getOpenFile" and position the dialogue
  over the top of the button. Double click on a file
  noting the location of the mouse click at the time. You
  will see that if you double clicked on something which
  was physically over the top of the button then the
  button text has now changed to "pressed". That button
  could have done anything, so this is a serious
  interface problem.

  The previous ticked had an answer referring to a news
  posting:

  http://groups.google.com/groups?oi=djq&selm=an_496001244

  This gives the impression that the 1.5 clicks are
  consumed, and the ButtonRelease makes it through to the
  underlying window. This is not true.

  Try typing:

  bind .b <ButtonPress-1> {puts down}
  bind .b <ButtonRelease-1> {puts up}
  tk_getOpenFile

  and then trying once more.

  The button gets BOTH down and up events, making it
  totally impossible to programmatically (from tcl)
  determine the cause of the problem.

  The solution? We previously had a local patch to Tk
  that after the tk call to the native windows
  filebrowser all button events for a short period of
  time would be silently consumed. I acknowledge that
  this is a total hack, but it seems a necessary evil. I
  will see if I can dredge up this old code (but I have
  subsequently changed jobs since then so I may not be
  able to access it).

  Naturally I would prefer a cleaner solution if one can
  be found.

  James


