Tcl Source Code

Artifact [d8ce14c355]
Login

Artifact d8ce14c355fd9eeaaa39a2e9dfe6ffceda92fe5f:

Attachment "doc.patch" to ticket [3124554fff] added by nijtmans 2011-07-22 02:32:49.
Index: doc/FindExec.3
===================================================================
--- doc/FindExec.3
+++ doc/FindExec.3
@@ -42,10 +42,17 @@
 \fBTcl_FindExecutable\fR uses \fIargv0\fR
 along with the \fBPATH\fR environment variable to find the
 application's executable, if possible.  If it fails to find
 the binary, then future calls to \fBinfo nameofexecutable\fR
 will return an empty string.
+.PP
+On Windows platforms this procedure is typically invoked as the very
+first thing in the application's main program as well; Its \fIargv0\fR
+argument is only used to indicate wheter the executable has a stderr
+channel (any non-null value) or not (the value null). If \fBTcl_SetPanicProc\fR
+is never called and no debugger is running, this determines whether
+the panic message is sent to stderr or to a system dialog box.
 .PP
 \fBTcl_GetNameOfExecutable\fR simply returns a pointer to the
 internal full path name of the executable file as computed by
 \fBTcl_FindExecutable\fR.  This procedure call is the C API
 equivalent to the \fBinfo nameofexecutable\fR command.  NULL

Index: doc/Panic.3
===================================================================
--- doc/Panic.3
+++ doc/Panic.3
@@ -47,11 +47,14 @@
 \fBformat\fR.
 .PP
 In a freshly loaded Tcl library, \fBTcl_Panic\fR prints the formatted
 error message to the standard error file of the process, and then
 calls \fBabort\fR to terminate the process.  \fBTcl_Panic\fR does not
-return.
+return. On Windows, when a debugger is running, the formatted error
+message is sent to the debugger in stead. If the windows executable
+does not have a stderr channel (e.g. \fBwish.exe\fR), then a
+system dialog box is used to display the panic message.
 .PP
 \fBTcl_SetPanicProc\fR may be used to modify the behavior of
 \fBTcl_Panic\fR.  The \fIpanicProc\fR argument should match the
 type \fBTcl_PanicProc\fR:
 .PP
@@ -61,23 +64,18 @@
         \fBarg\fR, \fBarg\fR,...);
 .CE
 .PP
 After \fBTcl_SetPanicProc\fR returns, any future calls to
 \fBTcl_Panic\fR will call \fIpanicProc\fR, passing along the
-\fIformat\fR and \fIarg\fR arguments.  To maintain consistency with the
-callers of \fBTcl_Panic\fR, \fIpanicProc\fR must not return; it must
-call \fBabort\fR.  \fIpanicProc\fR should avoid making calls into the
-Tcl library, or into other libraries that may call the Tcl library,
-since the original call to \fBTcl_Panic\fR indicates the Tcl library is
-not in a state of reliable operation.  
+\fIformat\fR and \fIarg\fR arguments. \fIpanicProc\fR should avoid
+making calls into the Tcl library, or into other libraries that may
+call the Tcl library, since the original call to \fBTcl_Panic\fR
+indicates the Tcl library is not in a state of reliable operation.  
 .PP
 The typical use of \fBTcl_SetPanicProc\fR arranges for the error message
 to be displayed or reported in a manner more suitable for the
-application or the platform.  As an example, the Windows implementation
-of \fBwish\fR calls \fBTcl_SetPanicProc\fR to force all panic messages
-to be displayed in a system dialog box, rather than to be printed to the
-standard error file (usually not visible under Windows).
+application or the platform.
 .PP
 Although the primary callers of \fBTcl_Panic\fR are the procedures of
 the Tcl library, \fBTcl_Panic\fR is a public function and may be called
 by any extension or application that wishes to abort the process and
 have a panic message displayed the same way that panic messages from Tcl