Author: Don Porter <dgp@users.sf.net>
State: Final
Type: Project
Vote: Done
Created: 22-Oct-2008
Post-History:
Tcl-Version: 8.6
Keywords: Tcl, Tk, tclsh, wish
Abstract
This TIP proposes to make public the routines that get and set the startup script file that Tcl_Main or Tk_Main evaluate in their non-interactive modes.
Background
When support for the -encoding option was added to tclsh and wish [137], two new internal routines were added to Tcl:
Tcl_Obj *Tcl_GetStartupScript(const char **encodingNamePtr)
void Tcl_SetStartupScript(Tcl_Obj *pathPtr, const char *encodingName)
These routines (or other weaker alternative internal routines) are used by both wish and Tclkit by way of the internal stubs table to manipulate the startup script for Tcl_Main or Tk_Main to evaluate.
Rationale
The naming of these routines indicate they were always intended to be(come) public.
These are the last "private" Tcl routines used by Tk and wish. After implementation of this TIP, Tk can drop use of tclInt.h.
Proposal
Make these routines public.
Compatibility
There will need to be some care taken for existing users of these routines via the private stubs table. The ability to compile against Tcl 8.6 headers, yet run against a pre-8.6 stubs table will likely be lost.
Copyright
This document has been placed in the public domain.