public TCL.CompletionCode cmdProc(Interp interp, TclObject[] argv) { string fileName = null; bool url = false; if (argv.Length == 2) { fileName = argv[1].ToString(); } else if (argv.Length == 3) { if (argv[1].ToString().Equals("-url")) { url = true; fileName = argv[2].ToString(); } } if ((System.Object) fileName == null) { throw new TclNumArgsException(interp, 1, argv, "?-url? fileName"); } try { if (url) { if (fileName.StartsWith("resource:/")) { interp.evalResource(fileName.Substring(9)); } else { interp.evalURL(null, fileName); } } else { interp.evalFile(fileName); } } catch (TclException e) { TCL.CompletionCode code = e.getCompletionCode(); if (code == TCL.CompletionCode.RETURN) { TCL.CompletionCode realCode = interp.updateReturnInfo(); if (realCode != TCL.CompletionCode.OK) { e.setCompletionCode(realCode); throw ; } } else if (code == TCL.CompletionCode.ERROR) { /* * Record information telling where the error occurred. */ interp.addErrorInfo("\n (file line " + interp.errorLine + ")"); throw ; } else { throw ; } } return TCL.CompletionCode.RETURN; }