File cmdModule.c

 ** ** Module Header ******************************************************* **
 ** 									     **
 **   Modules Revision 3.0						     **
 **   Providing a flexible user environment				     **
 ** 									     **
 **   File:		cmdModule.c					     **
 **   First Edition:	91/10/23					     **
 ** 									     **
 **   Authors:	John Furlan, jlf@behere.com				     **
 **		Jens Hamisch, jens@Strawberry.COM			     **
 ** 									     **
 **   Description:	The actual module command from the Tcl level. This   **
 **			routines calls other ModuleCmd routines to carry out **
 **			the subcommand requested. 			     **
 ** 									     **
 **   Exports:		cmdModule					     **
 **			Read_Modulefile					     **
 **			Execute_TclFile					     **
 **			CallModuleProcedure				     **
 ** 									     **
 **   Notes:								     **
 ** 									     **
 ** ************************************************************************ **
References Variables: IdcmdModule.c

Included Files


Preprocessor definitions

#define _XD

#define _MTCH

#define _ISERR


Global Variable linenum

int linenum
Visible in:  ModuleCmd_Avail.c
   ModuleCmd_Clear.c
   ModuleCmd_Display.c
   ModuleCmd_Help.c
   ModuleCmd_Init.c
   ModuleCmd_List.c
   ModuleCmd_Load.c
   ModuleCmd_Purge.c
   ModuleCmd_Switch.c
   ModuleCmd_Update.c
   ModuleCmd_Use.c
   ModuleCmd_Whatis.c
   cmdAlias.c
   cmdConflict.c
   cmdInfo.c
   cmdIsLoaded.c
   cmdLog.c
   cmdMisc.c
   cmdModule.c
   cmdPath.c
   cmdSetenv.c
   cmdTrace.c
   cmdUlvl.c
   cmdUname.c
   cmdVerbose.c
   cmdVersion.c
   cmdWhatis.c
   cmdXResource.c
   error.c
   getopt.c
   init.c
   locate_module.c
   main.c
   utility.c
Used in: Execute_TclFile()cmdModule.c
  Module_Verbosity()error.c
  PrintError()error.c

Global Variable _fil_stdin

char _fil_stdin[]
Visible in:  ModuleCmd_Avail.c
   ModuleCmd_Clear.c
   ModuleCmd_Display.c
   ModuleCmd_Help.c
   ModuleCmd_Init.c
   ModuleCmd_List.c
   ModuleCmd_Load.c
   ModuleCmd_Purge.c
   ModuleCmd_Switch.c
   ModuleCmd_Update.c
   ModuleCmd_Use.c
   ModuleCmd_Whatis.c
   cmdAlias.c
   cmdConflict.c
   cmdInfo.c
   cmdIsLoaded.c
   cmdLog.c
   cmdMisc.c
   cmdModule.c
   cmdPath.c
   cmdSetenv.c
   cmdTrace.c
   cmdUlvl.c
   cmdUname.c
   cmdVerbose.c
   cmdVersion.c
   cmdWhatis.c
   cmdXResource.c
   error.c
   getopt.c
   init.c
   locate_module.c
   main.c
   utility.c
Used in: Execute_TclFile()cmdModule.c
  Read_Modulefile()cmdModule.c
  cmdModule()cmdModule.c

Global Variable _fil_stdout

char _fil_stdout[]
Visible in:  ModuleCmd_Avail.c
   ModuleCmd_Clear.c
   ModuleCmd_Display.c
   ModuleCmd_Help.c
   ModuleCmd_Init.c
   ModuleCmd_List.c
   ModuleCmd_Load.c
   ModuleCmd_Purge.c
   ModuleCmd_Switch.c
   ModuleCmd_Update.c
   ModuleCmd_Use.c
   ModuleCmd_Whatis.c
   cmdAlias.c
   cmdConflict.c
   cmdInfo.c
   cmdIsLoaded.c
   cmdLog.c
   cmdMisc.c
   cmdModule.c
   cmdPath.c
   cmdSetenv.c
   cmdTrace.c
   cmdUlvl.c
   cmdUname.c
   cmdVerbose.c
   cmdVersion.c
   cmdWhatis.c
   cmdXResource.c
   error.c
   getopt.c
   init.c
   locate_module.c
   main.c
   utility.c
Used in: CallModuleProcedure()cmdModule.c
  Output_Modulefile_Changes()utility.c
  TieStdout()init.c
  UnTieStdout()init.c

Global Variable _fil_stderr

char _fil_stderr[]
Visible in:  ModuleCmd_Avail.c
   ModuleCmd_Clear.c
   ModuleCmd_Display.c
   ModuleCmd_Help.c
   ModuleCmd_Init.c
   ModuleCmd_List.c
   ModuleCmd_Load.c
   ModuleCmd_Purge.c
   ModuleCmd_Switch.c
   ModuleCmd_Update.c
   ModuleCmd_Use.c
   ModuleCmd_Whatis.c
   cmdAlias.c
   cmdConflict.c
   cmdInfo.c
   cmdIsLoaded.c
   cmdLog.c
   cmdMisc.c
   cmdModule.c
   cmdPath.c
   cmdSetenv.c
   cmdTrace.c
   cmdUlvl.c
   cmdUname.c
   cmdVerbose.c
   cmdVersion.c
   cmdWhatis.c
   cmdXResource.c
   error.c
   getopt.c
   init.c
   locate_module.c
   main.c
   utility.c
Used in: CallModuleProcedure()cmdModule.c
  TieStdout()init.c

Global Variable _fil_devnull

char _fil_devnull[]
Visible in:  ModuleCmd_Avail.c
   ModuleCmd_Clear.c
   ModuleCmd_Display.c
   ModuleCmd_Help.c
   ModuleCmd_Init.c
   ModuleCmd_List.c
   ModuleCmd_Load.c
   ModuleCmd_Purge.c
   ModuleCmd_Switch.c
   ModuleCmd_Update.c
   ModuleCmd_Use.c
   ModuleCmd_Whatis.c
   cmdAlias.c
   cmdConflict.c
   cmdInfo.c
   cmdIsLoaded.c
   cmdLog.c
   cmdMisc.c
   cmdModule.c
   cmdPath.c
   cmdSetenv.c
   cmdTrace.c
   cmdUlvl.c
   cmdUname.c
   cmdVerbose.c
   cmdVersion.c
   cmdWhatis.c
   cmdXResource.c
   error.c
   getopt.c
   init.c
   locate_module.c
   main.c
   utility.c
Used in: CallModuleProcedure()cmdModule.c

Global Variable module_command

char* module_command
Visible in:  ModuleCmd_Avail.c
   ModuleCmd_Clear.c
   ModuleCmd_Display.c
   ModuleCmd_Help.c
   ModuleCmd_Init.c
   ModuleCmd_List.c
   ModuleCmd_Load.c
   ModuleCmd_Purge.c
   ModuleCmd_Switch.c
   ModuleCmd_Update.c
   ModuleCmd_Use.c
   ModuleCmd_Whatis.c
   cmdAlias.c
   cmdConflict.c
   cmdInfo.c
   cmdIsLoaded.c
   cmdLog.c
   cmdMisc.c
   cmdModule.c
   cmdPath.c
   cmdSetenv.c
   cmdTrace.c
   cmdUlvl.c
   cmdUname.c
   cmdVerbose.c
   cmdVersion.c
   cmdWhatis.c
   cmdXResource.c
   error.c
   getopt.c
   init.c
   locate_module.c
   main.c
   utility.c
Used in: cmdModule()cmdModule.c
  cmdModuleInfo()cmdInfo.c

Local Variables

Id
static char Id[]
Used in:  cmdModule.c

UseId
static void* UseId[]

module_name
static char module_name[]
Used in: CallModuleProcedure()
  Execute_TclFile()
  Read_Modulefile()
  cmdModule()


Global Function CallModuleProcedure()

 ** ** Function-Header ***************************************************** **
 ** 									     **
 **   Function:		CallModuleProcedure				     **
 ** 									     **
 **   Description:	Call a Tcl Procedure				     **
 **			Executes the passed modulefile (conditionally hidden)**
 **			and then evaluates the passed Tcl procedure	     **
 ** 									     **
 **   First Edition:	91/10/23					     **
 ** 									     **
 **   Parameters:	Tcl_Interp	*interp		According Tcl interp.**
 **			Tcl_DString	*cmdptr		Buffer fot the Tcl   **
 **							command		     **
 **			char		*modulefile	According module file**
 **			char		*procname	Name of the Tcl Proc.**
 **			int		 suppress_output  Controlls redirect.**
 **							of stdout and stderr **
 ** 									     **
 **   Result:		int	TCL_OK		Successfull completion	     **
 **				TCL_ERROR	Any error		     **
 ** 									     **
 **   Attached Globals:	-						     **
 ** 									     **
 ** ************************************************************************ **
int CallModuleProcedure ( Tcl_Interp* interp, Tcl_DString* cmdptr, char* modulefile, char* procname, int suppress_output )
Prototyped in: modules_def.h
Calls: Module_Error()error.c
  Read_Modulefile()cmdModule.c
  Tcl_DStringAppend(), Tcl_DStringSetLength(), Tcl_Eval(), close(), dup(), fflush(), open(), strcat(), strcpy()
Called by: ModuleCmd_Display()ModuleCmd_Display.c
  ModuleCmd_Whatis()ModuleCmd_Whatis.c
  PerModuleHelp()ModuleCmd_Help.c
  whatis_dir()ModuleCmd_Whatis.c
References Variables: _fil_devnullcmdModule.c
  _fil_stderrcmdModule.c
  _fil_stdoutcmdModule.c
  module_namecmdModule.c

Global Function Execute_TclFile()

 ** ** Function-Header ***************************************************** **
 ** 									     **
 **   Function:		Execute_TclFile					     **
 ** 									     **
 **   Description:	Read in and execute all commands concerning the Tcl  **
 **			file passed as parameter			     **
 ** 									     **
 **   First Edition:	91/10/23					     **
 ** 									     **
 **   Parameters:	Tcl_Interp	*interp		According Tcl interp.**
 **		 	char		*filename			     **
 ** 									     **
 **   Result:		int	TCL_OK		Successfull completion	     **
 **				TCL_ERROR	Any error		     **
 ** 									     **
 **   Attached Globals:	line		Input read buffer		     **
 ** 									     **
 ** ************************************************************************ **
int Execute_TclFile ( Tcl_Interp* interp, char* filename )
Prototyped in: modules_def.h
Calls: Module_Error()error.c
  Tcl_CommandComplete(), Tcl_DStringAppend(), Tcl_DStringFree(), Tcl_DStringInit(), Tcl_DStringSetLength(), Tcl_Eval(), Tcl_SetVar(), fclose(), fgets(), fopen(), malloc(), strcmp()
Called by: Read_Modulefile()cmdModule.c
  SourceRC()locate_module.c
  SourceVers()locate_module.c
  cmdModule()cmdModule.c
References Variables: _fil_stdincmdModule.c
  linemain.c
  linenumcmdModule.c
  module_namecmdModule.c

Global Function Read_Modulefile()

 ** ** Function-Header ***************************************************** **
 ** 									     **
 **   Function:		Read_Modulefile					     **
 ** 									     **
 **   Description:	Check the passed filename for to be a valid module   **
 **			and execute the according command file		     **
 ** 									     **
 **   First Edition:	91/10/23					     **
 ** 									     **
 **   Parameters:	Tcl_Interp	*interp		According Tcl interp.**
 **		 	char		*filename			     **
 ** 									     **
 **   Result:		int	TCL_OK		Successfull completion	     **
 **				TCL_ERROR	Any error		     **
 ** 									     **
 **   Attached Globals:							     **
 ** 									     **
 ** ************************************************************************ **
int Read_Modulefile ( Tcl_Interp* interp, char* filename )
Prototyped in: modules_def.h
Calls: Execute_TclFile()cmdModule.c
  Module_Error()error.c
  check_magic()utility.c
  Tcl_RegExpCompile(), Tcl_RegExpExec(), Tcl_RegExpRange(), atoi(), strcmp(), strdup()
Called by: CallModuleProcedure()cmdModule.c
  ModuleCmd_Load()ModuleCmd_Load.c
  ModuleCmd_Switch()ModuleCmd_Switch.c
References Variables: _fil_stdincmdModule.c
  module_namecmdModule.c

Global Function cmdModule()

 ** ** Function-Header ***************************************************** **
 ** 									     **
 **   Function:		cmdModule					     **
 ** 									     **
 **   Description:	Evaluation of the module command line and callup of  **
 **			the according subroutine			     **
 ** 									     **
 **   First Edition:	91/10/23					     **
 ** 									     **
 **   Parameters:	ClientData	 client_data			     **
 **			Tcl_Interp	*interp		According Tcl interp.**
 **			int		 argc		Number of arguments  **
 **			char		*argv[]		Argument array	     **
 ** 									     **
 **   Result:		int	TCL_OK		Successfull completion	     **
 **				TCL_ERROR	Any error		     **
 ** 									     **
 **   Attached Globals:	g_flags		These are set up accordingly before  **
 **					this function is called in order to  **
 **					control everything		     **
 **			g_current_module	The module which is handled  **
 **						by the current command	     **
 ** 									     **
 ** ************************************************************************ **
int cmdModule ( ClientData client_data, Tcl_Interp* interp, int argc, char* argv[] )
Prototyped in: modules_def.h
Calls: CheckTracingList()cmdTrace.c
  Execute_TclFile()cmdModule.c
  ModuleCmd_Apropos()ModuleCmd_Whatis.c
  ModuleCmd_Avail()ModuleCmd_Avail.c
  ModuleCmd_Clear()ModuleCmd_Clear.c
  ModuleCmd_Display()ModuleCmd_Display.c
  ModuleCmd_Help()ModuleCmd_Help.c
  ModuleCmd_Init()ModuleCmd_Init.c
  ModuleCmd_List()ModuleCmd_List.c
  ModuleCmd_Load()ModuleCmd_Load.c
  ModuleCmd_Purge()ModuleCmd_Purge.c
  ModuleCmd_Switch()ModuleCmd_Switch.c
  ModuleCmd_UnUse()ModuleCmd_Use.c
  ModuleCmd_Update()ModuleCmd_Update.c
  ModuleCmd_Use()ModuleCmd_Use.c
  ModuleCmd_Whatis()ModuleCmd_Whatis.c
  Module_Error()error.c
  Module_Tracing()error.c
  Tcl_RegExpMatch(), fprintf(), strcmp(), strdup()
Called by: main()main.c
Used in: InitializeModuleCommands()init.c
References Variables: _fil_stdincmdModule.c
  addREmain.c
  aproposREmain.c
  availREmain.c
  clearREmain.c
  dispREmain.c
  g_current_modulemain.c
  g_flagsmain.c
  helpREmain.c
  initREmain.c
  listREmain.c
  module_commandcmdModule.c
  module_namecmdModule.c
  purgeREmain.c
  rmREmain.c
  swREmain.c
  sw_formatmain.c
  unuseREmain.c
  updateREmain.c
  useREmain.c
  whatisREmain.c