Menu

#628 platform specific stuff in (tcl|tk)Main.c

closed-fixed
5
2011-03-31
2010-12-01
No

Don Porter wrote to me:
> I suspect there may be another way, and you may be overlooking some
> encoding support routines that can keep platform specific stuff out
> of the generic/*.c files. But I could also be wrong about that.

Here is my attempt to move as most as possible platform-dependant
stuff out of (tcl|tk)Main.c.

- Implemented a static NewNativeObj() function, so we no longer have to
Tcl_SetStartupScript using native encoding, en then later read it again
and convert it to UTF-8. Now every native-to-obj conversions can be
done in one step.
-

And for tkMain.c, there are some additional
improvements:

- converted ThreadSpecificData in InteractiveState (just as
already done in tclMain.c), wich an additional 'gotPartial'
field. This makes Tk_MainEx thread-safe. Moved the
inChannel and tty variables there too.
- Use the InteractiveState as clientData in
Tcl_CreateChannelHandler, so we still can unregister
when stdin becomes invalid.
- use Tcl_GetStdChannel(TCL_STDOUT) in stead of
Tcl_GetChannel(interp, "stdout", NULL), as in tclMain.c

Regards,
Jan Nijtmans

Discussion

  • Jan Nijtmans

    Jan Nijtmans - 2010-12-01

    patch for tclMain.c

     
  • Jan Nijtmans

    Jan Nijtmans - 2010-12-01

    patch for tkMain.c

     
  • Jan Nijtmans

    Jan Nijtmans - 2011-03-17
    • status: open --> pending-fixed
     
  • Jan Nijtmans

    Jan Nijtmans - 2011-03-17

    Fixed in HEAD now (Both for Tcl and Tk)

    OK?

     
  • SourceForge Robot

    • status: pending-fixed --> closed-fixed
     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).