_________________________________________________________________

     NAME
          Tk_BackgroundError - report Tcl error that occurred in
          background processing

     SYNOPSIS
          #include <tk.h>

          Tk_BackgroundError(interp)

     ARGUMENTS
          Tcl_Interp   *interp   (in)      Interpreter in which the
                                           error occurred.
     _________________________________________________________________


     DESCRIPTION
          This procedure is typically invoked when a Tcl error occurs
          during ``background processing'' such as executing a Tcl
          command in response to a button press or menu entry
          invocation.  When such an error occurs, the error condition
          is reported to Tk or to a widget or some other C code, and
          there is not usually any obvious way for that code to report
          the error to the user.  In these cases the code calls
          Tk_BackgroundError with an interp argument identifying the
          interpreter in which the error occurred.  Tk_BackgroundError
          attempts to invoke the tkerror Tcl command to report the
          error in an application-specific fashion.  If no tkerror
          command exists, or if it returns with an error condition,
          then Tk_BackgroundError reports the error itself by printing
          a message on the standard error file.

          Tk_BackgroundError does not invoke tkerror immediately (in    |
          some cases this could interfere with scripts that are in      |
          process at the time the error occurred).  Instead, it         |
          invokes tkerror later as an idle callback.                    |
          Tk_BackgroundError saves the values of the errorInfo and      |
          errorCode variables and restores these values just before     |
          invoking tkerror.                                             |

          It is possible for many background errors to accumulate       |
          before tkerror is invoked.  When this happens, each of the    |
          errors is processed in order.  However, if tkerror returns a  |
          break exception, then all remaining error reports for the     |
          interpreter are skipped.


     KEYWORDS
          background, error, tkerror