Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Tcl_AppInit(3)		     Tcl Library Procedures		  Tcl_AppInit(3)

________________________________________________________________________________

NAME
     Tcl_AppInit - perform application-specific initialization

SYNOPSIS
     #include <tcl.h>

     int
     Tcl_AppInit(interp)

ARGUMENTS
     Tcl_Interp *interp (in)	      Interpreter for the application.
________________________________________________________________________________

DESCRIPTION
     Tcl_AppInit  is a "hook" procedure that is invoked by the main programs for
     Tcl applications such as tclsh and wish.  Its purpose is to allow	new  Tcl
     applications  to be created without modifying the main programs provided as
     part of Tcl and Tk.  To create a new application you write a new version of
     Tcl_AppInit to replace the default version provided by Tcl, then link  your
     new Tcl_AppInit with the Tcl library.

     Tcl_AppInit  is invoked by Tcl_Main and Tk_Main after their own initializa-
     tion and before entering the main loop to process commands.  Here are  some
     examples of things that Tcl_AppInit might do:

     [1]    Call  initialization procedures for various packages used by the ap-
	    plication.	Each initialization procedure adds new commands  to  in-
	    terp for its package and performs other package-specific initializa-
	    tion.

     [2]    Process  command-line  arguments, which can be accessed from the Tcl
	    variables argv and argv0 in interp.

     [3]    Invoke a startup script to initialize the application.

     [4]    Use the routines Tcl_SetStartupScript  and	Tcl_GetStartupScript  to
	    set  or  query  the  file  and  encoding that the active Tcl_Main or
	    Tk_Main routine will use as a startup script.

     Tcl_AppInit returns TCL_OK or TCL_ERROR.  If it returns TCL_ERROR	then  it
     must leave an error message in for the interpreter's result;  otherwise the
     result is ignored.

     In  addition  to Tcl_AppInit, your application should also contain a proce-
     dure main that calls Tcl_Main as follows:

	    Tcl_Main(argc, argv, Tcl_AppInit);

     The third argument to Tcl_Main gives the address  of  the	application-spe-
     cific  initialization procedure to invoke.  This means that you do not have
     to use the name Tcl_AppInit for the procedure, but in practice the name  is
     nearly  always Tcl_AppInit (in versions before Tcl 7.4 the name Tcl_AppInit
     was implicit;  there was no way to specify the procedure explicitly).   The
     best way to get started is to make a copy of the file tclAppInit.c from the
     Tcl  library or source directory.	It already contains a main procedure and
     a template for Tcl_AppInit that you can modify for your application.

SEE ALSO
     Tcl_Main(3)

KEYWORDS
     application, argument, command, initialization, interpreter

Tcl				       7.0			  Tcl_AppInit(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_AppInit.tcl86&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help