Posted to tcl by miguel at Wed Mar 05 14:44:10 GMT 2008view raw

  1. int
  2. TclObjInterpProcCore(
  3. register Tcl_Interp *interp,/* Interpreter in which procedure was
  4. * invoked. */
  5. Tcl_Obj *procNameObj, /* Procedure name for error reporting. */
  6. int skip, /* Number of initial arguments to be skipped,
  7. * i.e., words in the "command name". */
  8. ProcErrorProc errorProc) /* How to convert results from the script into
  9. * results of the overall procedure. */
  10. {
  11. /*
  12. * Only provided for old-style extensions that hook in here!
  13. */
  14.  
  15. Interp *iPtr = (Interp *) interp;
  16. TEOV_record *recordPtr;
  17. int result;
  18.  
  19. PUSH_RECORD(iPtr, recordPtr);
  20. fprintf(stderr, "*** recordPtr=%p\n", recordPtr);
  21. result = TclNRInterpProcCore(interp, procNameObj, skip, errorProc);
  22. if (result == TCL_OK) {
  23. result = TclExecuteByteCode(interp, recordPtr->data.codePtr);
  24. }
  25. result = TclEvalObjv_NR2(interp, result, recordPtr->nextPtr);
  26. return result;
  27. }