# PaCkAgE DaTaStReAm SUNWtcl 1 6516 # end of header 070701000615e5000081a400004ccf0000000a0000000133f371f6000000e9000000a30000000400000000000000000000001000000004SUNWtcl/pkginfoARCH=sun4 PKG=SUNWtcl NAME=Tcl 8.0 VERSION=8.0 CATEGORY=application DESC=Tcl scripting language libraries, binaries, and manual pages BASEDIR=/opt VENDOR=Sun Microsystems, Inc. MAXINST=1000 CLASSES=none PSTAMP=ghostwheel970814140037 070701000615e4000081a400004ccf0000000a0000000133f371f600007108000000a30000000400000000000000000000000f00000004SUNWtcl/pkgmap: 1 6516 1 d none SUNWtcl 0755 root bin 1 d none SUNWtcl/8.0 0755 root bin 1 d none SUNWtcl/8.0/bin 0755 root bin 1 f none SUNWtcl/8.0/bin/tclsh8.0 0755 root bin 409 30846 871592430 1 d none SUNWtcl/8.0/include 0755 root bin 1 f none SUNWtcl/8.0/include/tcl.h 0644 root bin 59010 7976 871592370 1 d none SUNWtcl/8.0/lib 0755 root bin 1 d none SUNWtcl/8.0/lib/tcl8.0 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/history.tcl 0644 root bin 8947 8424 871592370 1 d none SUNWtcl/8.0/lib/tcl8.0/http1.0 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/http1.0/http.tcl 0644 root bin 9620 70 871592375 1 f none SUNWtcl/8.0/lib/tcl8.0/http1.0/pkgIndex.tcl 0644 root bin 735 2222 871592376 1 d none SUNWtcl/8.0/lib/tcl8.0/http2.0 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/http2.0/http.tcl 0644 root bin 11161 56049 871592375 1 f none SUNWtcl/8.0/lib/tcl8.0/http2.0/pkgIndex.tcl 0644 root bin 624 55851 871592375 1 f none SUNWtcl/8.0/lib/tcl8.0/init.tcl 0644 root bin 20872 22652 871592371 1 f none SUNWtcl/8.0/lib/tcl8.0/ldAix 0644 root bin 2623 18525 871592374 1 f none SUNWtcl/8.0/lib/tcl8.0/ldAout.tcl 0644 root bin 6613 21420 871592371 1 d none SUNWtcl/8.0/lib/tcl8.0/opt0.1 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/opt0.1/optparse.tcl 0644 root bin 32720 1748 871592376 1 f none SUNWtcl/8.0/lib/tcl8.0/opt0.1/pkgIndex.tcl 0644 root bin 400 35101 871592377 1 f none SUNWtcl/8.0/lib/tcl8.0/parray.tcl 0644 root bin 858 3830 871592372 1 f none SUNWtcl/8.0/lib/tcl8.0/safe.tcl 0644 root bin 21224 60702 871592372 1 f none SUNWtcl/8.0/lib/tcl8.0/tclAppInit.c 0644 root bin 3538 9778 871592374 1 f none SUNWtcl/8.0/lib/tcl8.0/tclIndex 0644 root bin 2165 3462 871592373 1 f none SUNWtcl/8.0/lib/tcl8.0/word.tcl 0644 root bin 4430 58698 871592373 1 d none SUNWtcl/8.0/man 0755 root bin 1 d none SUNWtcl/8.0/man/man1 0755 root bin 1 f none SUNWtcl/8.0/man/man1/tclsh.1 0444 root bin 9486 6814 871592378 1 d none SUNWtcl/8.0/man/man3 0755 root bin 1 f none SUNWtcl/8.0/man/man3/AddErrInfo.3 0444 root bin 11724 18756 871592379 1 f none SUNWtcl/8.0/man/man3/Alloc.3 0444 root bin 6289 44837 871592379 1 f none SUNWtcl/8.0/man/man3/AllowExc.3 0444 root bin 6125 30470 871592379 1 f none SUNWtcl/8.0/man/man3/AppInit.3 0444 root bin 7516 26739 871592379 1 f none SUNWtcl/8.0/man/man3/AssocData.3 0444 root bin 8289 34035 871592379 1 f none SUNWtcl/8.0/man/man3/Async.3 0444 root bin 11031 22611 871592380 1 f none SUNWtcl/8.0/man/man3/BackgdErr.3 0444 root bin 7028 50404 871592380 1 f none SUNWtcl/8.0/man/man3/Backslash.3 0444 root bin 6032 21837 871592380 1 f none SUNWtcl/8.0/man/man3/BoolObj.3 0444 root bin 7814 53113 871592380 1 f none SUNWtcl/8.0/man/man3/CallDel.3 0444 root bin 6924 38205 871592380 1 f none SUNWtcl/8.0/man/man3/CmdCmplt.3 0444 root bin 5734 60045 871592380 1 f none SUNWtcl/8.0/man/man3/Concat.3 0444 root bin 6478 62284 871592381 1 f none SUNWtcl/8.0/man/man3/CrtChannel.3 0444 root bin 28003 46274 871592381 1 f none SUNWtcl/8.0/man/man3/CrtChnlHdlr.3 0444 root bin 8499 49901 871592381 1 f none SUNWtcl/8.0/man/man3/CrtCloseHdlr.3 0444 root bin 6563 3483 871592381 1 f none SUNWtcl/8.0/man/man3/CrtCommand.3 0444 root bin 10914 8578 871592381 1 f none SUNWtcl/8.0/man/man3/CrtFileHdlr.3 0444 root bin 8321 30609 871592381 1 f none SUNWtcl/8.0/man/man3/CrtInterp.3 0444 root bin 10792 65220 871592382 1 f none SUNWtcl/8.0/man/man3/CrtMathFnc.3 0444 root bin 8330 34042 871592382 1 f none SUNWtcl/8.0/man/man3/CrtObjCmd.3 0444 root bin 15556 37406 871592382 1 f none SUNWtcl/8.0/man/man3/CrtSlave.3 0444 root bin 14446 64601 871592382 1 f none SUNWtcl/8.0/man/man3/CrtTimerHdlr.3 0444 root bin 7571 32306 871592382 1 f none SUNWtcl/8.0/man/man3/CrtTrace.3 0444 root bin 9262 54092 871592382 1 f none SUNWtcl/8.0/man/man3/DString.3 0444 root bin 10510 40658 871592383 1 f none SUNWtcl/8.0/man/man3/DetachPids.3 0444 root bin 7223 355 871592383 1 f none SUNWtcl/8.0/man/man3/DoOneEvent.3 0444 root bin 8883 11774 871592383 1 f none SUNWtcl/8.0/man/man3/DoWhenIdle.3 0444 root bin 8101 13349 871592383 1 f none SUNWtcl/8.0/man/man3/DoubleObj.3 0444 root bin 7623 36945 871592383 1 f none SUNWtcl/8.0/man/man3/Eval.3 0444 root bin 9191 44035 871592383 1 f none SUNWtcl/8.0/man/man3/EvalObj.3 0444 root bin 8196 21490 871592384 1 f none SUNWtcl/8.0/man/man3/Exit.3 0444 root bin 8894 23677 871592384 1 f none SUNWtcl/8.0/man/man3/ExprLong.3 0444 root bin 9016 34102 871592384 1 f none SUNWtcl/8.0/man/man3/ExprLongObj.3 0444 root bin 8498 51624 871592384 1 f none SUNWtcl/8.0/man/man3/FindExec.3 0444 root bin 6211 38922 871592384 1 f none SUNWtcl/8.0/man/man3/GetIndex.3 0444 root bin 7741 45380 871592385 1 f none SUNWtcl/8.0/man/man3/GetInt.3 0444 root bin 7880 57171 871592385 1 f none SUNWtcl/8.0/man/man3/GetOpnFl.3 0444 root bin 6840 29154 871592385 1 f none SUNWtcl/8.0/man/man3/GetStdChan.3 0444 root bin 7754 45839 871592385 1 f none SUNWtcl/8.0/man/man3/Hash.3 0444 root bin 13052 1518 871592386 1 f none SUNWtcl/8.0/man/man3/IntObj.3 0444 root bin 8632 62502 871592386 1 f none SUNWtcl/8.0/man/man3/Interp.3 0444 root bin 10271 19816 871592386 1 f none SUNWtcl/8.0/man/man3/LinkVar.3 0444 root bin 9121 33496 871592386 1 f none SUNWtcl/8.0/man/man3/ListObj.3 0444 root bin 14993 52333 871592386 1 f none SUNWtcl/8.0/man/man3/Notifier.3 0444 root bin 29457 58292 871592386 1 f none SUNWtcl/8.0/man/man3/ObjSetVar.3 0444 root bin 11432 49135 871592387 1 f none SUNWtcl/8.0/man/man3/Object.3 0444 root bin 18437 48535 871592387 1 f none SUNWtcl/8.0/man/man3/ObjectType.3 0444 root bin 12761 50192 871592387 1 f none SUNWtcl/8.0/man/man3/OpenFileChnl.3 0444 root bin 26849 65213 871592387 1 f none SUNWtcl/8.0/man/man3/OpenTcp.3 0444 root bin 12267 63577 871592387 1 f none SUNWtcl/8.0/man/man3/PkgRequire.3 0444 root bin 6632 12920 871592388 1 f none SUNWtcl/8.0/man/man3/Preserve.3 0444 root bin 8995 32939 871592388 1 f none SUNWtcl/8.0/man/man3/PrintDbl.3 0444 root bin 6240 39422 871592388 1 f none SUNWtcl/8.0/man/man3/RecEvalObj.3 0444 root bin 6681 14713 871592388 1 f none SUNWtcl/8.0/man/man3/RecordEval.3 0444 root bin 6799 24741 871592388 1 f none SUNWtcl/8.0/man/man3/RegExp.3 0444 root bin 9801 39866 871592388 1 f none SUNWtcl/8.0/man/man3/SetErrno.3 0444 root bin 6183 37272 871592389 1 f none SUNWtcl/8.0/man/man3/SetRecLmt.3 0444 root bin 6642 12302 871592389 1 f none SUNWtcl/8.0/man/man3/SetResult.3 0444 root bin 14075 34771 871592389 1 f none SUNWtcl/8.0/man/man3/SetVar.3 0444 root bin 12290 59000 871592389 1 f none SUNWtcl/8.0/man/man3/Sleep.3 0444 root bin 5833 4203 871592390 1 f none SUNWtcl/8.0/man/man3/SplitList.3 0444 root bin 11783 19770 871592390 1 f none SUNWtcl/8.0/man/man3/SplitPath.3 0444 root bin 7998 1869 871592390 1 f none SUNWtcl/8.0/man/man3/StaticPkg.3 0444 root bin 7594 35998 871592390 1 f none SUNWtcl/8.0/man/man3/StrMatch.3 0444 root bin 5893 8701 871592390 1 f none SUNWtcl/8.0/man/man3/StringObj.3 0444 root bin 10302 20551 871592390 1 l none SUNWtcl/8.0/man/man3/TclConcatObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AddErrorInfo.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AddObjErrorInfo.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Alloc.3=Alloc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AllowExceptions.3=AllowExc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppInit.3=AppInit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendAllObjTypes.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendElement.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendStringsToObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendToObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncCreate.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncDelete.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncInvoke.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncMark.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_BackgroundError.3=BackgdErr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Backslash.3=Backslash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_BadChannelOption.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CallWhenDeleted.3=CallDel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CancelIdleCall.3=DoWhenIdle.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Close.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CommandComplete.3=CmdCmplt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Concat.3=Concat.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ConvertElement.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ConvertToType.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateAlias.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateAliasObj.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateChannel.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateChannelHandler.3=CrtChnlHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateCloseHandler.3=CrtCloseHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateCommand.3=CrtCommand.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateEventSource.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateExitHandler.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateFileHandler.3=CrtFileHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateInterp.3=CrtInterp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateMathFunc.3=CrtMathFnc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateObjCommand.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateSlave.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateTimerHandler.3=CrtTimerHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateTrace.3=CrtTrace.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringAppend.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringAppendElement.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringEndSublist.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringFree.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringGetResult.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringInit.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringLength.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringResult.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringSetLength.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringStartSublist.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringValue.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DecrRefCount.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteAssocData.3=AssocData.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteChannelHandler.3=CrtChnlHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteCloseHandler.3=CrtCloseHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteCommand.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteCommandFromToken.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteEventSource.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteEvents.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteExitHandler.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteFileHandler.3=CrtFileHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteHashTable.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteInterp.3=CrtInterp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteTimerHandler.3=CrtTimerHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteTrace.3=CrtTrace.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DetachPids.3=DetachPids.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DoOneEvent.3=DoOneEvent.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DoWhenIdle.3=DoWhenIdle.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DontCallWhenDeleted.3=CallDel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DuplicateObj.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Eof.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Eval.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_EvalFile.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_EvalObj.3=EvalObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_EventuallyFree.3=Preserve.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Exit.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExposeCommand.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprBoolean.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprBooleanObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprDouble.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprDoubleObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprLong.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprLongObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprString.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Finalize.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_FindExecutable.3=FindExec.3 1 l none SUNWtcl/8.0/man/man3/Tcl_FindHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_FirstHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Flush.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Free.3=Alloc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetAlias.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetAliasObj.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetAssocData.3=AssocData.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetBoolean.3=GetInt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetBooleanFromObj.3=BoolObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelBufferSize.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelHandle.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelInstanceData.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelMode.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelName.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelOption.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelType.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetCommandInfo.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetCommandName.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetDouble.3=GetInt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetDoubleFromObj.3=DoubleObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetErrno.3=SetErrno.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetHashKey.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetHashValue.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetIndexFromObj.3=GetIndex.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetInt.3=GetInt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetIntFromObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetInterpPath.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetLongFromObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetMaster.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetObjResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetObjType.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetOpenFile.3=GetOpnFl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetPathType.3=SplitPath.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetServiceMode.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetSlave.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetStdChannel.3=GetStdChan.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetStringFromObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetStringResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetVar.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetVar2.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Gets.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GlobalEval.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GlobalEvalObj.3=EvalObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_HashStats.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_HideCommand.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_IncrRefCount.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InitHashTable.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InputBlocked.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InputBuffered.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Interp.3=Interp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InterpDeleted.3=CrtInterp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_IsSafe.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_IsShared.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_JoinPath.3=SplitPath.3 1 l none SUNWtcl/8.0/man/man3/Tcl_LinkVar.3=LinkVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjAppendElement.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjAppendList.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjGetElements.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjIndex.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjLength.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjReplace.3=ListObj.3 1 f none SUNWtcl/8.0/man/man3/Tcl_Main.3 0444 root bin 6935 39068 871592390 1 l none SUNWtcl/8.0/man/man3/Tcl_MakeFileChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_MakeSafe.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_MakeTcpClientChannel.3=OpenTcp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Merge.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewBooleanObj.3=BoolObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewDoubleObj.3=DoubleObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewIntObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewListObj.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewLongObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewObj.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewStringObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NextHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NotifyChannel.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ObjGetVar2.3=ObjSetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ObjSetVar2.3=ObjSetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenCommandChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenFileChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenTcpClient.3=OpenTcp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenTcpServer.3=OpenTcp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PkgProvide.3=PkgRequire.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PkgRequire.3=PkgRequire.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PosixError.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Preserve.3=Preserve.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PrintDouble.3=PrintDbl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_QueueEvent.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Read.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Realloc.3=Alloc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ReapDetachedProcs.3=DetachPids.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RecordAndEval.3=RecordEval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RecordAndEvalObj.3=RecEvalObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpCompile.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpExec.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpMatch.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpRange.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegisterChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegisterObjType.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Release.3=Preserve.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ResetResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ScanElement.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Seek.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ServiceAll.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ServiceEvent.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetAssocData.3=AssocData.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetBooleanObj.3=BoolObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetChannelBufferSize.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetChannelOption.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetCommandInfo.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetDefaultTranslation.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetDoubleObj.3=DoubleObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetErrno.3=SetErrno.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetErrorCode.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetHashValue.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetIntObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetListObj.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetLongObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetMaxBlockTime.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetObjLength.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetObjResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetRecursionLimit.3=SetRecLmt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetServiceMode.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetStdChannel.3=GetStdChan.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetStringObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetTimer.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetVar.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetVar2.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Sleep.3=Sleep.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SplitList.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SplitPath.3=SplitPath.3 1 l none SUNWtcl/8.0/man/man3/Tcl_StaticPackage.3=StaticPkg.3 1 l none SUNWtcl/8.0/man/man3/Tcl_StringMatch.3=StrMatch.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Tell.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_TraceVar.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_TraceVar2.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_TranslateFileName.3=Translate.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnlinkVar.3=LinkVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnregisterChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnsetVar.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnsetVar2.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UntraceVar.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UntraceVar2.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UpVar.3=UpVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UpVar2.3=UpVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UpdateLinkedVar.3=LinkVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_VarEval.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_VarTraceInfo.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_VarTraceInfo2.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_WaitForEvent.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Write.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_WrongNumArgs.3=WrongNumArgs.3 1 f none SUNWtcl/8.0/man/man3/TraceVar.3 0444 root bin 18878 62314 871592391 1 f none SUNWtcl/8.0/man/man3/Translate.3 0444 root bin 7108 53980 871592391 1 f none SUNWtcl/8.0/man/man3/UpVar.3 0444 root bin 7547 25514 871592391 1 f none SUNWtcl/8.0/man/man3/WrongNumArgs.3 0444 root bin 7644 36366 871592391 1 d none SUNWtcl/8.0/man/mann 0755 root bin 1 l none SUNWtcl/8.0/man/mann/Base.n=safe.n 1 l none SUNWtcl/8.0/man/mann/Http.n=http.n 1 l none SUNWtcl/8.0/man/mann/Safe.n=safe.n 1 f none SUNWtcl/8.0/man/mann/Tcl.n 0444 root bin 11730 16589 871592412 1 f none SUNWtcl/8.0/man/mann/after.n 0444 root bin 9078 37864 871592412 1 f none SUNWtcl/8.0/man/mann/append.n 0444 root bin 5718 58101 871592412 1 f none SUNWtcl/8.0/man/mann/array.n 0444 root bin 9502 13757 871592412 1 f none SUNWtcl/8.0/man/mann/bgerror.n 0444 root bin 7568 33840 871592412 1 f none SUNWtcl/8.0/man/mann/binary.n 0444 root bin 25504 30749 871592412 1 f none SUNWtcl/8.0/man/mann/break.n 0444 root bin 5801 1136 871592413 1 f none SUNWtcl/8.0/man/mann/case.n 0444 root bin 7307 9150 871592413 1 f none SUNWtcl/8.0/man/mann/catch.n 0444 root bin 6279 44950 871592413 1 f none SUNWtcl/8.0/man/mann/cd.n 0444 root bin 5480 37100 871592413 1 f none SUNWtcl/8.0/man/mann/clock.n 0444 root bin 11354 20880 871592413 1 f none SUNWtcl/8.0/man/mann/close.n 0444 root bin 6879 34955 871592413 1 f none SUNWtcl/8.0/man/mann/concat.n 0444 root bin 5758 60931 871592414 1 f none SUNWtcl/8.0/man/mann/continue.n 0444 root bin 5825 3737 871592414 1 f none SUNWtcl/8.0/man/mann/eof.n 0444 root bin 5459 34798 871592414 1 f none SUNWtcl/8.0/man/mann/error.n 0444 root bin 6929 38881 871592414 1 f none SUNWtcl/8.0/man/mann/eval.n 0444 root bin 5662 54034 871592414 1 f none SUNWtcl/8.0/man/mann/exec.n 0444 root bin 19464 59733 871592414 1 f none SUNWtcl/8.0/man/mann/exit.n 0444 root bin 5441 33671 871592415 1 f none SUNWtcl/8.0/man/mann/expr.n 0444 root bin 16699 58322 871592415 1 f none SUNWtcl/8.0/man/mann/fblocked.n 0444 root bin 5712 59480 871592415 1 f none SUNWtcl/8.0/man/mann/fconfigure.n 0444 root bin 12635 39827 871592415 1 f none SUNWtcl/8.0/man/mann/fcopy.n 0444 root bin 9194 42421 871592416 1 f none SUNWtcl/8.0/man/mann/file.n 0444 root bin 18225 684 871592416 1 f none SUNWtcl/8.0/man/mann/fileevent.n 0444 root bin 9768 36400 871592416 1 f none SUNWtcl/8.0/man/mann/filename.n 0444 root bin 12554 20501 871592417 1 f none SUNWtcl/8.0/man/mann/flush.n 0444 root bin 5950 14283 871592417 1 f none SUNWtcl/8.0/man/mann/for.n 0444 root bin 6978 43099 871592417 1 f none SUNWtcl/8.0/man/mann/foreach.n 0444 root bin 7543 21042 871592417 1 f none SUNWtcl/8.0/man/mann/format.n 0444 root bin 13424 34756 871592418 1 f none SUNWtcl/8.0/man/mann/gets.n 0444 root bin 6595 6269 871592418 1 f none SUNWtcl/8.0/man/mann/glob.n 0444 root bin 7666 34276 871592418 1 f none SUNWtcl/8.0/man/mann/global.n 0444 root bin 5800 352 871592418 1 f none SUNWtcl/8.0/man/mann/history.n 0444 root bin 8968 27302 871592419 1 f none SUNWtcl/8.0/man/mann/http.n 0444 root bin 17267 33860 871592419 1 f none SUNWtcl/8.0/man/mann/if.n 0444 root bin 6436 57704 871592419 1 f none SUNWtcl/8.0/man/mann/incr.n 0444 root bin 5720 58748 871592419 1 f none SUNWtcl/8.0/man/mann/info.n 0444 root bin 12571 32123 871592420 1 f none SUNWtcl/8.0/man/mann/interp.n 0444 root bin 30762 61926 871592420 1 f none SUNWtcl/8.0/man/mann/join.n 0444 root bin 5622 50655 871592420 1 f none SUNWtcl/8.0/man/mann/lappend.n 0444 root bin 5973 16196 871592420 1 f none SUNWtcl/8.0/man/mann/library.n 0444 root bin 14619 22480 871592420 1 f none SUNWtcl/8.0/man/mann/lindex.n 0444 root bin 5880 8603 871592421 1 f none SUNWtcl/8.0/man/mann/linsert.n 0444 root bin 5859 6156 871592421 1 f none SUNWtcl/8.0/man/mann/list.n 0444 root bin 6114 28343 871592421 1 f none SUNWtcl/8.0/man/mann/llength.n 0444 root bin 5420 31737 871592421 1 f none SUNWtcl/8.0/man/mann/load.n 0444 root bin 9924 50827 871592421 1 f none SUNWtcl/8.0/man/mann/lrange.n 0444 root bin 6158 33141 871592421 1 f none SUNWtcl/8.0/man/mann/lreplace.n 0444 root bin 6387 54628 871592422 1 f none SUNWtcl/8.0/man/mann/lsearch.n 0444 root bin 6204 37555 871592422 1 f none SUNWtcl/8.0/man/mann/lsort.n 0444 root bin 7525 23848 871592422 1 f none SUNWtcl/8.0/man/mann/namespace.n 0444 root bin 26149 2194 871592422 1 f none SUNWtcl/8.0/man/mann/open.n 0444 root bin 15234 58135 871592422 1 f none SUNWtcl/8.0/man/mann/package.n 0444 root bin 13531 54517 871592423 1 f none SUNWtcl/8.0/man/mann/pid.n 0444 root bin 5844 5176 871592423 1 f none SUNWtcl/8.0/man/mann/pkgMkIndex.n 0444 root bin 10837 3411 871592423 1 l none SUNWtcl/8.0/man/mann/pkg_mkIndex.n=pkgMkIndex.n 1 f none SUNWtcl/8.0/man/mann/proc.n 0444 root bin 8041 11149 871592423 1 f none SUNWtcl/8.0/man/mann/puts.n 0444 root bin 7558 32891 871592423 1 f none SUNWtcl/8.0/man/mann/pwd.n 0444 root bin 5352 25849 871592423 1 f none SUNWtcl/8.0/man/mann/read.n 0444 root bin 6495 62910 871592424 1 f none SUNWtcl/8.0/man/mann/regexp.n 0444 root bin 11008 8095 871592424 1 f none SUNWtcl/8.0/man/mann/registry.n 0444 root bin 10798 58870 871592424 1 f none SUNWtcl/8.0/man/mann/regsub.n 0444 root bin 7506 26145 871592424 1 f none SUNWtcl/8.0/man/mann/rename.n 0444 root bin 5768 63548 871592424 1 f none SUNWtcl/8.0/man/mann/resource.n 0444 root bin 9759 32736 871592424 1 f none SUNWtcl/8.0/man/mann/return.n 0444 root bin 7920 62970 871592425 1 f none SUNWtcl/8.0/man/mann/safe.n 0444 root bin 18407 46219 871592425 1 f none SUNWtcl/8.0/man/mann/scan.n 0444 root bin 10258 9757 871592425 1 f none SUNWtcl/8.0/man/mann/seek.n 0444 root bin 6729 20462 871592425 1 f none SUNWtcl/8.0/man/mann/set.n 0444 root bin 6605 9168 871592425 1 f none SUNWtcl/8.0/man/mann/socket.n 0444 root bin 10091 445 871592426 1 f none SUNWtcl/8.0/man/mann/source.n 0444 root bin 6458 61531 871592426 1 f none SUNWtcl/8.0/man/mann/split.n 0444 root bin 6123 29983 871592426 1 f none SUNWtcl/8.0/man/mann/string.n 0444 root bin 9985 53908 871592426 1 f none SUNWtcl/8.0/man/mann/subst.n 0444 root bin 6447 62066 871592426 1 f none SUNWtcl/8.0/man/mann/switch.n 0444 root bin 8319 31033 871592426 1 f none SUNWtcl/8.0/man/mann/tclvars.n 0444 root bin 19560 8029 871592427 1 f none SUNWtcl/8.0/man/mann/tell.n 0444 root bin 5491 38475 871592427 1 f none SUNWtcl/8.0/man/mann/time.n 0444 root bin 5660 53246 871592427 1 f none SUNWtcl/8.0/man/mann/trace.n 0444 root bin 11348 47394 871592427 1 f none SUNWtcl/8.0/man/mann/unknown.n 0444 root bin 8067 14282 871592427 1 f none SUNWtcl/8.0/man/mann/unset.n 0444 root bin 5859 6140 871592427 1 f none SUNWtcl/8.0/man/mann/update.n 0444 root bin 6649 14977 871592428 1 f none SUNWtcl/8.0/man/mann/uplevel.n 0444 root bin 8100 10479 871592428 1 f none SUNWtcl/8.0/man/mann/upvar.n 0444 root bin 8493 47409 871592428 1 f none SUNWtcl/8.0/man/mann/variable.n 0444 root bin 7056 49916 871592428 1 f none SUNWtcl/8.0/man/mann/vwait.n 0444 root bin 6084 27855 871592428 1 f none SUNWtcl/8.0/man/mann/while.n 0444 root bin 6688 16604 871592428 1 d none SUNWtcl/8.0/sun4 0755 root bin 1 d none SUNWtcl/8.0/sun4/bin 0755 root bin 1 f none SUNWtcl/8.0/sun4/bin/tclsh8.0 0755 root bin 68664 39246 871592433 1 d none SUNWtcl/8.0/sun4/lib 0755 root bin 1 f none SUNWtcl/8.0/sun4/lib/libtcl8.0.so 0555 root bin 695472 47387 871592432 1 f none SUNWtcl/8.0/sun4/lib/tclConfig.sh 0644 root bin 4608 61174 871592433 1 i copyright 2210 55124 846028120 1 i depend 134 10203 864178438 1 i pkginfo 233 18831 871592438 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!070701000615e5000081a400004ccf0000000a0000000133f371f6000000e9000000a30000000400000000000000000000000800000004pkginfoARCH=sun4 PKG=SUNWtcl NAME=Tcl 8.0 VERSION=8.0 CATEGORY=application DESC=Tcl scripting language libraries, binaries, and manual pages BASEDIR=/opt VENDOR=Sun Microsystems, Inc. MAXINST=1000 CLASSES=none PSTAMP=ghostwheel970814140037 070701000615e4000081a400004ccf0000000a0000000133f371f600007108000000a30000000400000000000000000000000700000004pkgmap: 1 6516 1 d none SUNWtcl 0755 root bin 1 d none SUNWtcl/8.0 0755 root bin 1 d none SUNWtcl/8.0/bin 0755 root bin 1 f none SUNWtcl/8.0/bin/tclsh8.0 0755 root bin 409 30846 871592430 1 d none SUNWtcl/8.0/include 0755 root bin 1 f none SUNWtcl/8.0/include/tcl.h 0644 root bin 59010 7976 871592370 1 d none SUNWtcl/8.0/lib 0755 root bin 1 d none SUNWtcl/8.0/lib/tcl8.0 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/history.tcl 0644 root bin 8947 8424 871592370 1 d none SUNWtcl/8.0/lib/tcl8.0/http1.0 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/http1.0/http.tcl 0644 root bin 9620 70 871592375 1 f none SUNWtcl/8.0/lib/tcl8.0/http1.0/pkgIndex.tcl 0644 root bin 735 2222 871592376 1 d none SUNWtcl/8.0/lib/tcl8.0/http2.0 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/http2.0/http.tcl 0644 root bin 11161 56049 871592375 1 f none SUNWtcl/8.0/lib/tcl8.0/http2.0/pkgIndex.tcl 0644 root bin 624 55851 871592375 1 f none SUNWtcl/8.0/lib/tcl8.0/init.tcl 0644 root bin 20872 22652 871592371 1 f none SUNWtcl/8.0/lib/tcl8.0/ldAix 0644 root bin 2623 18525 871592374 1 f none SUNWtcl/8.0/lib/tcl8.0/ldAout.tcl 0644 root bin 6613 21420 871592371 1 d none SUNWtcl/8.0/lib/tcl8.0/opt0.1 0755 root bin 1 f none SUNWtcl/8.0/lib/tcl8.0/opt0.1/optparse.tcl 0644 root bin 32720 1748 871592376 1 f none SUNWtcl/8.0/lib/tcl8.0/opt0.1/pkgIndex.tcl 0644 root bin 400 35101 871592377 1 f none SUNWtcl/8.0/lib/tcl8.0/parray.tcl 0644 root bin 858 3830 871592372 1 f none SUNWtcl/8.0/lib/tcl8.0/safe.tcl 0644 root bin 21224 60702 871592372 1 f none SUNWtcl/8.0/lib/tcl8.0/tclAppInit.c 0644 root bin 3538 9778 871592374 1 f none SUNWtcl/8.0/lib/tcl8.0/tclIndex 0644 root bin 2165 3462 871592373 1 f none SUNWtcl/8.0/lib/tcl8.0/word.tcl 0644 root bin 4430 58698 871592373 1 d none SUNWtcl/8.0/man 0755 root bin 1 d none SUNWtcl/8.0/man/man1 0755 root bin 1 f none SUNWtcl/8.0/man/man1/tclsh.1 0444 root bin 9486 6814 871592378 1 d none SUNWtcl/8.0/man/man3 0755 root bin 1 f none SUNWtcl/8.0/man/man3/AddErrInfo.3 0444 root bin 11724 18756 871592379 1 f none SUNWtcl/8.0/man/man3/Alloc.3 0444 root bin 6289 44837 871592379 1 f none SUNWtcl/8.0/man/man3/AllowExc.3 0444 root bin 6125 30470 871592379 1 f none SUNWtcl/8.0/man/man3/AppInit.3 0444 root bin 7516 26739 871592379 1 f none SUNWtcl/8.0/man/man3/AssocData.3 0444 root bin 8289 34035 871592379 1 f none SUNWtcl/8.0/man/man3/Async.3 0444 root bin 11031 22611 871592380 1 f none SUNWtcl/8.0/man/man3/BackgdErr.3 0444 root bin 7028 50404 871592380 1 f none SUNWtcl/8.0/man/man3/Backslash.3 0444 root bin 6032 21837 871592380 1 f none SUNWtcl/8.0/man/man3/BoolObj.3 0444 root bin 7814 53113 871592380 1 f none SUNWtcl/8.0/man/man3/CallDel.3 0444 root bin 6924 38205 871592380 1 f none SUNWtcl/8.0/man/man3/CmdCmplt.3 0444 root bin 5734 60045 871592380 1 f none SUNWtcl/8.0/man/man3/Concat.3 0444 root bin 6478 62284 871592381 1 f none SUNWtcl/8.0/man/man3/CrtChannel.3 0444 root bin 28003 46274 871592381 1 f none SUNWtcl/8.0/man/man3/CrtChnlHdlr.3 0444 root bin 8499 49901 871592381 1 f none SUNWtcl/8.0/man/man3/CrtCloseHdlr.3 0444 root bin 6563 3483 871592381 1 f none SUNWtcl/8.0/man/man3/CrtCommand.3 0444 root bin 10914 8578 871592381 1 f none SUNWtcl/8.0/man/man3/CrtFileHdlr.3 0444 root bin 8321 30609 871592381 1 f none SUNWtcl/8.0/man/man3/CrtInterp.3 0444 root bin 10792 65220 871592382 1 f none SUNWtcl/8.0/man/man3/CrtMathFnc.3 0444 root bin 8330 34042 871592382 1 f none SUNWtcl/8.0/man/man3/CrtObjCmd.3 0444 root bin 15556 37406 871592382 1 f none SUNWtcl/8.0/man/man3/CrtSlave.3 0444 root bin 14446 64601 871592382 1 f none SUNWtcl/8.0/man/man3/CrtTimerHdlr.3 0444 root bin 7571 32306 871592382 1 f none SUNWtcl/8.0/man/man3/CrtTrace.3 0444 root bin 9262 54092 871592382 1 f none SUNWtcl/8.0/man/man3/DString.3 0444 root bin 10510 40658 871592383 1 f none SUNWtcl/8.0/man/man3/DetachPids.3 0444 root bin 7223 355 871592383 1 f none SUNWtcl/8.0/man/man3/DoOneEvent.3 0444 root bin 8883 11774 871592383 1 f none SUNWtcl/8.0/man/man3/DoWhenIdle.3 0444 root bin 8101 13349 871592383 1 f none SUNWtcl/8.0/man/man3/DoubleObj.3 0444 root bin 7623 36945 871592383 1 f none SUNWtcl/8.0/man/man3/Eval.3 0444 root bin 9191 44035 871592383 1 f none SUNWtcl/8.0/man/man3/EvalObj.3 0444 root bin 8196 21490 871592384 1 f none SUNWtcl/8.0/man/man3/Exit.3 0444 root bin 8894 23677 871592384 1 f none SUNWtcl/8.0/man/man3/ExprLong.3 0444 root bin 9016 34102 871592384 1 f none SUNWtcl/8.0/man/man3/ExprLongObj.3 0444 root bin 8498 51624 871592384 1 f none SUNWtcl/8.0/man/man3/FindExec.3 0444 root bin 6211 38922 871592384 1 f none SUNWtcl/8.0/man/man3/GetIndex.3 0444 root bin 7741 45380 871592385 1 f none SUNWtcl/8.0/man/man3/GetInt.3 0444 root bin 7880 57171 871592385 1 f none SUNWtcl/8.0/man/man3/GetOpnFl.3 0444 root bin 6840 29154 871592385 1 f none SUNWtcl/8.0/man/man3/GetStdChan.3 0444 root bin 7754 45839 871592385 1 f none SUNWtcl/8.0/man/man3/Hash.3 0444 root bin 13052 1518 871592386 1 f none SUNWtcl/8.0/man/man3/IntObj.3 0444 root bin 8632 62502 871592386 1 f none SUNWtcl/8.0/man/man3/Interp.3 0444 root bin 10271 19816 871592386 1 f none SUNWtcl/8.0/man/man3/LinkVar.3 0444 root bin 9121 33496 871592386 1 f none SUNWtcl/8.0/man/man3/ListObj.3 0444 root bin 14993 52333 871592386 1 f none SUNWtcl/8.0/man/man3/Notifier.3 0444 root bin 29457 58292 871592386 1 f none SUNWtcl/8.0/man/man3/ObjSetVar.3 0444 root bin 11432 49135 871592387 1 f none SUNWtcl/8.0/man/man3/Object.3 0444 root bin 18437 48535 871592387 1 f none SUNWtcl/8.0/man/man3/ObjectType.3 0444 root bin 12761 50192 871592387 1 f none SUNWtcl/8.0/man/man3/OpenFileChnl.3 0444 root bin 26849 65213 871592387 1 f none SUNWtcl/8.0/man/man3/OpenTcp.3 0444 root bin 12267 63577 871592387 1 f none SUNWtcl/8.0/man/man3/PkgRequire.3 0444 root bin 6632 12920 871592388 1 f none SUNWtcl/8.0/man/man3/Preserve.3 0444 root bin 8995 32939 871592388 1 f none SUNWtcl/8.0/man/man3/PrintDbl.3 0444 root bin 6240 39422 871592388 1 f none SUNWtcl/8.0/man/man3/RecEvalObj.3 0444 root bin 6681 14713 871592388 1 f none SUNWtcl/8.0/man/man3/RecordEval.3 0444 root bin 6799 24741 871592388 1 f none SUNWtcl/8.0/man/man3/RegExp.3 0444 root bin 9801 39866 871592388 1 f none SUNWtcl/8.0/man/man3/SetErrno.3 0444 root bin 6183 37272 871592389 1 f none SUNWtcl/8.0/man/man3/SetRecLmt.3 0444 root bin 6642 12302 871592389 1 f none SUNWtcl/8.0/man/man3/SetResult.3 0444 root bin 14075 34771 871592389 1 f none SUNWtcl/8.0/man/man3/SetVar.3 0444 root bin 12290 59000 871592389 1 f none SUNWtcl/8.0/man/man3/Sleep.3 0444 root bin 5833 4203 871592390 1 f none SUNWtcl/8.0/man/man3/SplitList.3 0444 root bin 11783 19770 871592390 1 f none SUNWtcl/8.0/man/man3/SplitPath.3 0444 root bin 7998 1869 871592390 1 f none SUNWtcl/8.0/man/man3/StaticPkg.3 0444 root bin 7594 35998 871592390 1 f none SUNWtcl/8.0/man/man3/StrMatch.3 0444 root bin 5893 8701 871592390 1 f none SUNWtcl/8.0/man/man3/StringObj.3 0444 root bin 10302 20551 871592390 1 l none SUNWtcl/8.0/man/man3/TclConcatObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AddErrorInfo.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AddObjErrorInfo.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Alloc.3=Alloc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AllowExceptions.3=AllowExc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppInit.3=AppInit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendAllObjTypes.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendElement.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendStringsToObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AppendToObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncCreate.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncDelete.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncInvoke.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_AsyncMark.3=Async.3 1 l none SUNWtcl/8.0/man/man3/Tcl_BackgroundError.3=BackgdErr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Backslash.3=Backslash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_BadChannelOption.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CallWhenDeleted.3=CallDel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CancelIdleCall.3=DoWhenIdle.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Close.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CommandComplete.3=CmdCmplt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Concat.3=Concat.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ConvertElement.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ConvertToType.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateAlias.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateAliasObj.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateChannel.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateChannelHandler.3=CrtChnlHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateCloseHandler.3=CrtCloseHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateCommand.3=CrtCommand.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateEventSource.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateExitHandler.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateFileHandler.3=CrtFileHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateInterp.3=CrtInterp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateMathFunc.3=CrtMathFnc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateObjCommand.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateSlave.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateTimerHandler.3=CrtTimerHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_CreateTrace.3=CrtTrace.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringAppend.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringAppendElement.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringEndSublist.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringFree.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringGetResult.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringInit.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringLength.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringResult.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringSetLength.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringStartSublist.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DStringValue.3=DString.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DecrRefCount.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteAssocData.3=AssocData.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteChannelHandler.3=CrtChnlHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteCloseHandler.3=CrtCloseHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteCommand.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteCommandFromToken.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteEventSource.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteEvents.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteExitHandler.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteFileHandler.3=CrtFileHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteHashTable.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteInterp.3=CrtInterp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteTimerHandler.3=CrtTimerHdlr.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DeleteTrace.3=CrtTrace.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DetachPids.3=DetachPids.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DoOneEvent.3=DoOneEvent.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DoWhenIdle.3=DoWhenIdle.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DontCallWhenDeleted.3=CallDel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_DuplicateObj.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Eof.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Eval.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_EvalFile.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_EvalObj.3=EvalObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_EventuallyFree.3=Preserve.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Exit.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExposeCommand.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprBoolean.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprBooleanObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprDouble.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprDoubleObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprLong.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprLongObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprObj.3=ExprLongObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ExprString.3=ExprLong.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Finalize.3=Exit.3 1 l none SUNWtcl/8.0/man/man3/Tcl_FindExecutable.3=FindExec.3 1 l none SUNWtcl/8.0/man/man3/Tcl_FindHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_FirstHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Flush.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Free.3=Alloc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetAlias.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetAliasObj.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetAssocData.3=AssocData.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetBoolean.3=GetInt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetBooleanFromObj.3=BoolObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelBufferSize.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelHandle.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelInstanceData.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelMode.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelName.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelOption.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetChannelType.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetCommandInfo.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetCommandName.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetDouble.3=GetInt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetDoubleFromObj.3=DoubleObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetErrno.3=SetErrno.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetHashKey.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetHashValue.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetIndexFromObj.3=GetIndex.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetInt.3=GetInt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetIntFromObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetInterpPath.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetLongFromObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetMaster.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetObjResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetObjType.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetOpenFile.3=GetOpnFl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetPathType.3=SplitPath.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetServiceMode.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetSlave.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetStdChannel.3=GetStdChan.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetStringFromObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetStringResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetVar.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GetVar2.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Gets.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GlobalEval.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_GlobalEvalObj.3=EvalObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_HashStats.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_HideCommand.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_IncrRefCount.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InitHashTable.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InputBlocked.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InputBuffered.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Interp.3=Interp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_InterpDeleted.3=CrtInterp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_IsSafe.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_IsShared.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_JoinPath.3=SplitPath.3 1 l none SUNWtcl/8.0/man/man3/Tcl_LinkVar.3=LinkVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjAppendElement.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjAppendList.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjGetElements.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjIndex.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjLength.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ListObjReplace.3=ListObj.3 1 f none SUNWtcl/8.0/man/man3/Tcl_Main.3 0444 root bin 6935 39068 871592390 1 l none SUNWtcl/8.0/man/man3/Tcl_MakeFileChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_MakeSafe.3=CrtSlave.3 1 l none SUNWtcl/8.0/man/man3/Tcl_MakeTcpClientChannel.3=OpenTcp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Merge.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewBooleanObj.3=BoolObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewDoubleObj.3=DoubleObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewIntObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewListObj.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewLongObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewObj.3=Object.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NewStringObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NextHashEntry.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_NotifyChannel.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ObjGetVar2.3=ObjSetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ObjSetVar2.3=ObjSetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenCommandChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenFileChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenTcpClient.3=OpenTcp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_OpenTcpServer.3=OpenTcp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PkgProvide.3=PkgRequire.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PkgRequire.3=PkgRequire.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PosixError.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Preserve.3=Preserve.3 1 l none SUNWtcl/8.0/man/man3/Tcl_PrintDouble.3=PrintDbl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_QueueEvent.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Read.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Realloc.3=Alloc.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ReapDetachedProcs.3=DetachPids.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RecordAndEval.3=RecordEval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RecordAndEvalObj.3=RecEvalObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpCompile.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpExec.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpMatch.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegExpRange.3=RegExp.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegisterChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_RegisterObjType.3=ObjectType.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Release.3=Preserve.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ResetResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ScanElement.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Seek.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ServiceAll.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_ServiceEvent.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetAssocData.3=AssocData.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetBooleanObj.3=BoolObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetChannelBufferSize.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetChannelOption.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetCommandInfo.3=CrtObjCmd.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetDefaultTranslation.3=CrtChannel.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetDoubleObj.3=DoubleObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetErrno.3=SetErrno.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetErrorCode.3=AddErrInfo.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetHashValue.3=Hash.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetIntObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetListObj.3=ListObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetLongObj.3=IntObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetMaxBlockTime.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetObjLength.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetObjResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetRecursionLimit.3=SetRecLmt.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetResult.3=SetResult.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetServiceMode.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetStdChannel.3=GetStdChan.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetStringObj.3=StringObj.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetTimer.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetVar.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SetVar2.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Sleep.3=Sleep.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SplitList.3=SplitList.3 1 l none SUNWtcl/8.0/man/man3/Tcl_SplitPath.3=SplitPath.3 1 l none SUNWtcl/8.0/man/man3/Tcl_StaticPackage.3=StaticPkg.3 1 l none SUNWtcl/8.0/man/man3/Tcl_StringMatch.3=StrMatch.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Tell.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_TraceVar.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_TraceVar2.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_TranslateFileName.3=Translate.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnlinkVar.3=LinkVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnregisterChannel.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnsetVar.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UnsetVar2.3=SetVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UntraceVar.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UntraceVar2.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UpVar.3=UpVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UpVar2.3=UpVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_UpdateLinkedVar.3=LinkVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_VarEval.3=Eval.3 1 l none SUNWtcl/8.0/man/man3/Tcl_VarTraceInfo.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_VarTraceInfo2.3=TraceVar.3 1 l none SUNWtcl/8.0/man/man3/Tcl_WaitForEvent.3=Notifier.3 1 l none SUNWtcl/8.0/man/man3/Tcl_Write.3=OpenFileChnl.3 1 l none SUNWtcl/8.0/man/man3/Tcl_WrongNumArgs.3=WrongNumArgs.3 1 f none SUNWtcl/8.0/man/man3/TraceVar.3 0444 root bin 18878 62314 871592391 1 f none SUNWtcl/8.0/man/man3/Translate.3 0444 root bin 7108 53980 871592391 1 f none SUNWtcl/8.0/man/man3/UpVar.3 0444 root bin 7547 25514 871592391 1 f none SUNWtcl/8.0/man/man3/WrongNumArgs.3 0444 root bin 7644 36366 871592391 1 d none SUNWtcl/8.0/man/mann 0755 root bin 1 l none SUNWtcl/8.0/man/mann/Base.n=safe.n 1 l none SUNWtcl/8.0/man/mann/Http.n=http.n 1 l none SUNWtcl/8.0/man/mann/Safe.n=safe.n 1 f none SUNWtcl/8.0/man/mann/Tcl.n 0444 root bin 11730 16589 871592412 1 f none SUNWtcl/8.0/man/mann/after.n 0444 root bin 9078 37864 871592412 1 f none SUNWtcl/8.0/man/mann/append.n 0444 root bin 5718 58101 871592412 1 f none SUNWtcl/8.0/man/mann/array.n 0444 root bin 9502 13757 871592412 1 f none SUNWtcl/8.0/man/mann/bgerror.n 0444 root bin 7568 33840 871592412 1 f none SUNWtcl/8.0/man/mann/binary.n 0444 root bin 25504 30749 871592412 1 f none SUNWtcl/8.0/man/mann/break.n 0444 root bin 5801 1136 871592413 1 f none SUNWtcl/8.0/man/mann/case.n 0444 root bin 7307 9150 871592413 1 f none SUNWtcl/8.0/man/mann/catch.n 0444 root bin 6279 44950 871592413 1 f none SUNWtcl/8.0/man/mann/cd.n 0444 root bin 5480 37100 871592413 1 f none SUNWtcl/8.0/man/mann/clock.n 0444 root bin 11354 20880 871592413 1 f none SUNWtcl/8.0/man/mann/close.n 0444 root bin 6879 34955 871592413 1 f none SUNWtcl/8.0/man/mann/concat.n 0444 root bin 5758 60931 871592414 1 f none SUNWtcl/8.0/man/mann/continue.n 0444 root bin 5825 3737 871592414 1 f none SUNWtcl/8.0/man/mann/eof.n 0444 root bin 5459 34798 871592414 1 f none SUNWtcl/8.0/man/mann/error.n 0444 root bin 6929 38881 871592414 1 f none SUNWtcl/8.0/man/mann/eval.n 0444 root bin 5662 54034 871592414 1 f none SUNWtcl/8.0/man/mann/exec.n 0444 root bin 19464 59733 871592414 1 f none SUNWtcl/8.0/man/mann/exit.n 0444 root bin 5441 33671 871592415 1 f none SUNWtcl/8.0/man/mann/expr.n 0444 root bin 16699 58322 871592415 1 f none SUNWtcl/8.0/man/mann/fblocked.n 0444 root bin 5712 59480 871592415 1 f none SUNWtcl/8.0/man/mann/fconfigure.n 0444 root bin 12635 39827 871592415 1 f none SUNWtcl/8.0/man/mann/fcopy.n 0444 root bin 9194 42421 871592416 1 f none SUNWtcl/8.0/man/mann/file.n 0444 root bin 18225 684 871592416 1 f none SUNWtcl/8.0/man/mann/fileevent.n 0444 root bin 9768 36400 871592416 1 f none SUNWtcl/8.0/man/mann/filename.n 0444 root bin 12554 20501 871592417 1 f none SUNWtcl/8.0/man/mann/flush.n 0444 root bin 5950 14283 871592417 1 f none SUNWtcl/8.0/man/mann/for.n 0444 root bin 6978 43099 871592417 1 f none SUNWtcl/8.0/man/mann/foreach.n 0444 root bin 7543 21042 871592417 1 f none SUNWtcl/8.0/man/mann/format.n 0444 root bin 13424 34756 871592418 1 f none SUNWtcl/8.0/man/mann/gets.n 0444 root bin 6595 6269 871592418 1 f none SUNWtcl/8.0/man/mann/glob.n 0444 root bin 7666 34276 871592418 1 f none SUNWtcl/8.0/man/mann/global.n 0444 root bin 5800 352 871592418 1 f none SUNWtcl/8.0/man/mann/history.n 0444 root bin 8968 27302 871592419 1 f none SUNWtcl/8.0/man/mann/http.n 0444 root bin 17267 33860 871592419 1 f none SUNWtcl/8.0/man/mann/if.n 0444 root bin 6436 57704 871592419 1 f none SUNWtcl/8.0/man/mann/incr.n 0444 root bin 5720 58748 871592419 1 f none SUNWtcl/8.0/man/mann/info.n 0444 root bin 12571 32123 871592420 1 f none SUNWtcl/8.0/man/mann/interp.n 0444 root bin 30762 61926 871592420 1 f none SUNWtcl/8.0/man/mann/join.n 0444 root bin 5622 50655 871592420 1 f none SUNWtcl/8.0/man/mann/lappend.n 0444 root bin 5973 16196 871592420 1 f none SUNWtcl/8.0/man/mann/library.n 0444 root bin 14619 22480 871592420 1 f none SUNWtcl/8.0/man/mann/lindex.n 0444 root bin 5880 8603 871592421 1 f none SUNWtcl/8.0/man/mann/linsert.n 0444 root bin 5859 6156 871592421 1 f none SUNWtcl/8.0/man/mann/list.n 0444 root bin 6114 28343 871592421 1 f none SUNWtcl/8.0/man/mann/llength.n 0444 root bin 5420 31737 871592421 1 f none SUNWtcl/8.0/man/mann/load.n 0444 root bin 9924 50827 871592421 1 f none SUNWtcl/8.0/man/mann/lrange.n 0444 root bin 6158 33141 871592421 1 f none SUNWtcl/8.0/man/mann/lreplace.n 0444 root bin 6387 54628 871592422 1 f none SUNWtcl/8.0/man/mann/lsearch.n 0444 root bin 6204 37555 871592422 1 f none SUNWtcl/8.0/man/mann/lsort.n 0444 root bin 7525 23848 871592422 1 f none SUNWtcl/8.0/man/mann/namespace.n 0444 root bin 26149 2194 871592422 1 f none SUNWtcl/8.0/man/mann/open.n 0444 root bin 15234 58135 871592422 1 f none SUNWtcl/8.0/man/mann/package.n 0444 root bin 13531 54517 871592423 1 f none SUNWtcl/8.0/man/mann/pid.n 0444 root bin 5844 5176 871592423 1 f none SUNWtcl/8.0/man/mann/pkgMkIndex.n 0444 root bin 10837 3411 871592423 1 l none SUNWtcl/8.0/man/mann/pkg_mkIndex.n=pkgMkIndex.n 1 f none SUNWtcl/8.0/man/mann/proc.n 0444 root bin 8041 11149 871592423 1 f none SUNWtcl/8.0/man/mann/puts.n 0444 root bin 7558 32891 871592423 1 f none SUNWtcl/8.0/man/mann/pwd.n 0444 root bin 5352 25849 871592423 1 f none SUNWtcl/8.0/man/mann/read.n 0444 root bin 6495 62910 871592424 1 f none SUNWtcl/8.0/man/mann/regexp.n 0444 root bin 11008 8095 871592424 1 f none SUNWtcl/8.0/man/mann/registry.n 0444 root bin 10798 58870 871592424 1 f none SUNWtcl/8.0/man/mann/regsub.n 0444 root bin 7506 26145 871592424 1 f none SUNWtcl/8.0/man/mann/rename.n 0444 root bin 5768 63548 871592424 1 f none SUNWtcl/8.0/man/mann/resource.n 0444 root bin 9759 32736 871592424 1 f none SUNWtcl/8.0/man/mann/return.n 0444 root bin 7920 62970 871592425 1 f none SUNWtcl/8.0/man/mann/safe.n 0444 root bin 18407 46219 871592425 1 f none SUNWtcl/8.0/man/mann/scan.n 0444 root bin 10258 9757 871592425 1 f none SUNWtcl/8.0/man/mann/seek.n 0444 root bin 6729 20462 871592425 1 f none SUNWtcl/8.0/man/mann/set.n 0444 root bin 6605 9168 871592425 1 f none SUNWtcl/8.0/man/mann/socket.n 0444 root bin 10091 445 871592426 1 f none SUNWtcl/8.0/man/mann/source.n 0444 root bin 6458 61531 871592426 1 f none SUNWtcl/8.0/man/mann/split.n 0444 root bin 6123 29983 871592426 1 f none SUNWtcl/8.0/man/mann/string.n 0444 root bin 9985 53908 871592426 1 f none SUNWtcl/8.0/man/mann/subst.n 0444 root bin 6447 62066 871592426 1 f none SUNWtcl/8.0/man/mann/switch.n 0444 root bin 8319 31033 871592426 1 f none SUNWtcl/8.0/man/mann/tclvars.n 0444 root bin 19560 8029 871592427 1 f none SUNWtcl/8.0/man/mann/tell.n 0444 root bin 5491 38475 871592427 1 f none SUNWtcl/8.0/man/mann/time.n 0444 root bin 5660 53246 871592427 1 f none SUNWtcl/8.0/man/mann/trace.n 0444 root bin 11348 47394 871592427 1 f none SUNWtcl/8.0/man/mann/unknown.n 0444 root bin 8067 14282 871592427 1 f none SUNWtcl/8.0/man/mann/unset.n 0444 root bin 5859 6140 871592427 1 f none SUNWtcl/8.0/man/mann/update.n 0444 root bin 6649 14977 871592428 1 f none SUNWtcl/8.0/man/mann/uplevel.n 0444 root bin 8100 10479 871592428 1 f none SUNWtcl/8.0/man/mann/upvar.n 0444 root bin 8493 47409 871592428 1 f none SUNWtcl/8.0/man/mann/variable.n 0444 root bin 7056 49916 871592428 1 f none SUNWtcl/8.0/man/mann/vwait.n 0444 root bin 6084 27855 871592428 1 f none SUNWtcl/8.0/man/mann/while.n 0444 root bin 6688 16604 871592428 1 d none SUNWtcl/8.0/sun4 0755 root bin 1 d none SUNWtcl/8.0/sun4/bin 0755 root bin 1 f none SUNWtcl/8.0/sun4/bin/tclsh8.0 0755 root bin 68664 39246 871592433 1 d none SUNWtcl/8.0/sun4/lib 0755 root bin 1 f none SUNWtcl/8.0/sun4/lib/libtcl8.0.so 0555 root bin 695472 47387 871592432 1 f none SUNWtcl/8.0/sun4/lib/tclConfig.sh 0644 root bin 4608 61174 871592433 1 i copyright 2210 55124 846028120 1 i depend 134 10203 864178438 1 i pkginfo 233 18831 871592438 0707010007d2fb000041ed00004ccf0000000a0000000233f3720700000000000000a30000000400000000000000000000000800000004install0707010007d2fc000081a400004ccf0000000a00000001326d5d58000008a2000000a30000000400000000000000000000001200000004install/copyrightThis software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. 0707010007d2fd000081a400004ccf0000000a000000013382510600000086000000a30000000400000000000000000000000f00000004install/depend# This file contains the pacakge dependency list for SUNWtcl. # # SCCS: @(#) depend.pkg 1.3 96/08/15 09:43:26 # P SUNWcsu P SUNWlibms 07070100064275000041ed00004ccf0000000a0000000333f371f700000000000000a30000000400000000000000000000000600000004reloc07070100065873000041ed00004ccf0000000a0000000333f371f700000000000000a30000000400000000000000000000000e00000004reloc/SUNWtcl07070100066e9a000041ed00004ccf0000000a0000000733f3720400000000000000a30000000400000000000000000000001200000004reloc/SUNWtcl/8.007070100068572000041ed00004ccf0000000a0000000233f371f700000000000000a30000000400000000000000000000001600000004reloc/SUNWtcl/8.0/bin07070100068573000081a400004ccf0000000a0000000133f371ee00000199000000a30000000400000000000000000000001f00000004reloc/SUNWtcl/8.0/bin/tclsh8.0#!/bin/sh # SCCS: @(#) tclsh.sh 1.2 96/08/14 17:07:56 case `/usr/bin/uname -m` in sun4*) arch=sun4 ;; i86pc) arch=i86pc ;; esac basedir=`/usr/bin/dirname $0`/.. olddir=`pwd` cd $basedir basedir=`pwd` cd $olddir TCL_LIBRARY=${TCL_LIBRARY:-$basedir/lib/tcl8.0} LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$basedir/$arch/lib" export TCL_LIBRARY LD_LIBRARY_PATH exec $basedir/$arch/bin/tclsh8.0 "$@" 07070100069bc5000041ed00004ccf0000000a0000000233f371f700000000000000a30000000400000000000000000000001a00000004reloc/SUNWtcl/8.0/include07070100069bc9000081a400004ccf0000000a0000000133f371b20000e682000000a30000000400000000000000000000002000000004reloc/SUNWtcl/8.0/include/tcl.h/* * tcl.h -- * * This header file describes the externally-visible facilities * of the Tcl interpreter. * * Copyright (c) 1987-1994 The Regents of the University of California. * Copyright (c) 1994-1997 Sun Microsystems, Inc. * Copyright (c) 1993-1996 Lucent Technologies. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: @(#) tcl.h 1.324 97/08/07 10:26:49 */ #ifndef _TCL #define _TCL /* * When version numbers change here, must also go into the following files * and update the version numbers: * * library/init.tcl * unix/configure.in * unix/pkginfo * win/makefile.bc * win/makefile.vc * * The release level should be 0 for alpha, 1 for beta, and 2 for * final/patch. The release serial value is the number that follows the * "a", "b", or "p" in the patch level; for example, if the patch level * is 7.6b2, TCL_RELEASE_SERIAL is 2. It restarts at 1 whenever the * release level is changed, except for the final release which is 0 * (the first patch will start at 1). */ #define TCL_MAJOR_VERSION 8 #define TCL_MINOR_VERSION 0 #define TCL_RELEASE_LEVEL 2 #define TCL_RELEASE_SERIAL 0 #define TCL_VERSION "8.0" #define TCL_PATCH_LEVEL "8.0" /* * The following definitions set up the proper options for Windows * compilers. We use this method because there is no autoconf equivalent. */ #ifndef __WIN32__ # if defined(_WIN32) || defined(WIN32) # define __WIN32__ # endif #endif #ifdef __WIN32__ # ifndef STRICT # define STRICT # endif # ifndef USE_PROTOTYPE # define USE_PROTOTYPE 1 # endif # ifndef HAS_STDARG # define HAS_STDARG 1 # endif # ifndef USE_PROTOTYPE # define USE_PROTOTYPE 1 # endif # ifndef USE_TCLALLOC # define USE_TCLALLOC 1 # endif # ifndef STRINGIFY # define STRINGIFY(x) STRINGIFY1(x) # define STRINGIFY1(x) #x # endif #endif /* __WIN32__ */ /* * The following definitions set up the proper options for Macintosh * compilers. We use this method because there is no autoconf equivalent. */ #ifdef MAC_TCL # ifndef HAS_STDARG # define HAS_STDARG 1 # endif # ifndef USE_TCLALLOC # define USE_TCLALLOC 1 # endif # ifndef NO_STRERROR # define NO_STRERROR 1 # endif #endif /* * A special definition used to allow this header file to be included * in resource files so that they can get obtain version information from * this file. Resource compilers don't like all the C stuff, like typedefs * and procedure declarations, that occur below. */ #ifndef RESOURCE_INCLUDED #ifndef BUFSIZ #include #endif /* * Definitions that allow Tcl functions with variable numbers of * arguments to be used with either varargs.h or stdarg.h. TCL_VARARGS * is used in procedure prototypes. TCL_VARARGS_DEF is used to declare * the arguments in a function definiton: it takes the type and name of * the first argument and supplies the appropriate argument declaration * string for use in the function definition. TCL_VARARGS_START * initializes the va_list data structure and returns the first argument. */ #if defined(__STDC__) || defined(HAS_STDARG) # define TCL_VARARGS(type, name) (type name, ...) # define TCL_VARARGS_DEF(type, name) (type name, ...) # define TCL_VARARGS_START(type, name, list) (va_start(list, name), name) #else # ifdef __cplusplus # define TCL_VARARGS(type, name) (type name, ...) # define TCL_VARARGS_DEF(type, name) (type va_alist, ...) # else # define TCL_VARARGS(type, name) () # define TCL_VARARGS_DEF(type, name) (va_alist) # endif # define TCL_VARARGS_START(type, name, list) \ (va_start(list), va_arg(list, type)) #endif /* * Definitions that allow this header file to be used either with or * without ANSI C features like function prototypes. */ #undef _ANSI_ARGS_ #undef CONST #if ((defined(__STDC__) || defined(SABER)) && !defined(NO_PROTOTYPE)) || defined(__cplusplus) || defined(USE_PROTOTYPE) # define _USING_PROTOTYPES_ 1 # define _ANSI_ARGS_(x) x # define CONST const #else # define _ANSI_ARGS_(x) () # define CONST #endif #ifdef __cplusplus # define EXTERN extern "C" #else # define EXTERN extern #endif /* * Macro to use instead of "void" for arguments that must have * type "void *" in ANSI C; maps them to type "char *" in * non-ANSI systems. */ #ifndef __WIN32__ #ifndef VOID # ifdef __STDC__ # define VOID void # else # define VOID char # endif #endif #else /* __WIN32__ */ /* * The following code is copied from winnt.h */ #ifndef VOID #define VOID void typedef char CHAR; typedef short SHORT; typedef long LONG; #endif #endif /* __WIN32__ */ /* * Miscellaneous declarations. */ #ifndef NULL #define NULL 0 #endif #ifndef _CLIENTDATA # if defined(__STDC__) || defined(__cplusplus) typedef void *ClientData; # else typedef int *ClientData; # endif /* __STDC__ */ #define _CLIENTDATA #endif /* * Data structures defined opaquely in this module. The definitions below * just provide dummy types. A few fields are made visible in Tcl_Interp * structures, namely those used for returning a string result from * commands. Direct access to the result field is discouraged in Tcl 8.0. * The interpreter result is either an object or a string, and the two * values are kept consistent unless some C code sets interp->result * directly. Programmers should use either the procedure Tcl_GetObjResult() * or Tcl_GetStringResult() to read the interpreter's result. See the * SetResult man page for details. * * Note: any change to the Tcl_Interp definition below must be mirrored * in the "real" definition in tclInt.h. * * Note: Tcl_ObjCmdProc procedures do not directly set result and freeProc. * Instead, they set a Tcl_Obj member in the "real" structure that can be * accessed with Tcl_GetObjResult() and Tcl_SetObjResult(). */ typedef struct Tcl_Interp { char *result; /* If the last command returned a string * result, this points to it. */ void (*freeProc) _ANSI_ARGS_((char *blockPtr)); /* Zero means the string result is * statically allocated. TCL_DYNAMIC means * it was allocated with ckalloc and should * be freed with ckfree. Other values give * the address of procedure to invoke to * free the result. Tcl_Eval must free it * before executing next command. */ int errorLine; /* When TCL_ERROR is returned, this gives * the line number within the command where * the error occurred (1 if first line). */ } Tcl_Interp; typedef struct Tcl_AsyncHandler_ *Tcl_AsyncHandler; typedef struct Tcl_Channel_ *Tcl_Channel; typedef struct Tcl_Command_ *Tcl_Command; typedef struct Tcl_Event Tcl_Event; typedef struct Tcl_Pid_ *Tcl_Pid; typedef struct Tcl_RegExp_ *Tcl_RegExp; typedef struct Tcl_TimerToken_ *Tcl_TimerToken; typedef struct Tcl_Trace_ *Tcl_Trace; typedef struct Tcl_Var_ *Tcl_Var; /* * When a TCL command returns, the interpreter contains a result from the * command. Programmers are strongly encouraged to use one of the * procedures Tcl_GetObjResult() or Tcl_GetStringResult() to read the * interpreter's result. See the SetResult man page for details. Besides * this result, the command procedure returns an integer code, which is * one of the following: * * TCL_OK Command completed normally; the interpreter's * result contains the command's result. * TCL_ERROR The command couldn't be completed successfully; * the interpreter's result describes what went wrong. * TCL_RETURN The command requests that the current procedure * return; the interpreter's result contains the * procedure's return value. * TCL_BREAK The command requests that the innermost loop * be exited; the interpreter's result is meaningless. * TCL_CONTINUE Go on to the next iteration of the current loop; * the interpreter's result is meaningless. */ #define TCL_OK 0 #define TCL_ERROR 1 #define TCL_RETURN 2 #define TCL_BREAK 3 #define TCL_CONTINUE 4 #define TCL_RESULT_SIZE 200 /* * Argument descriptors for math function callbacks in expressions: */ typedef enum {TCL_INT, TCL_DOUBLE, TCL_EITHER} Tcl_ValueType; typedef struct Tcl_Value { Tcl_ValueType type; /* Indicates intValue or doubleValue is * valid, or both. */ long intValue; /* Integer value. */ double doubleValue; /* Double-precision floating value. */ } Tcl_Value; /* * Forward declaration of Tcl_Obj to prevent an error when the forward * reference to Tcl_Obj is encountered in the procedure types declared * below. */ struct Tcl_Obj; /* * Procedure types defined by Tcl: */ typedef int (Tcl_AppInitProc) _ANSI_ARGS_((Tcl_Interp *interp)); typedef int (Tcl_AsyncProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int code)); typedef void (Tcl_ChannelProc) _ANSI_ARGS_((ClientData clientData, int mask)); typedef void (Tcl_CloseProc) _ANSI_ARGS_((ClientData data)); typedef void (Tcl_CmdDeleteProc) _ANSI_ARGS_((ClientData clientData)); typedef int (Tcl_CmdProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])); typedef void (Tcl_CmdTraceProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int level, char *command, Tcl_CmdProc *proc, ClientData cmdClientData, int argc, char *argv[])); typedef void (Tcl_DupInternalRepProc) _ANSI_ARGS_((struct Tcl_Obj *srcPtr, struct Tcl_Obj *dupPtr)); typedef int (Tcl_EventProc) _ANSI_ARGS_((Tcl_Event *evPtr, int flags)); typedef void (Tcl_EventCheckProc) _ANSI_ARGS_((ClientData clientData, int flags)); typedef int (Tcl_EventDeleteProc) _ANSI_ARGS_((Tcl_Event *evPtr, ClientData clientData)); typedef void (Tcl_EventSetupProc) _ANSI_ARGS_((ClientData clientData, int flags)); typedef void (Tcl_ExitProc) _ANSI_ARGS_((ClientData clientData)); typedef void (Tcl_FileProc) _ANSI_ARGS_((ClientData clientData, int mask)); typedef void (Tcl_FileFreeProc) _ANSI_ARGS_((ClientData clientData)); typedef void (Tcl_FreeInternalRepProc) _ANSI_ARGS_((struct Tcl_Obj *objPtr)); typedef void (Tcl_FreeProc) _ANSI_ARGS_((char *blockPtr)); typedef void (Tcl_IdleProc) _ANSI_ARGS_((ClientData clientData)); typedef void (Tcl_InterpDeleteProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp)); typedef int (Tcl_MathProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, Tcl_Value *args, Tcl_Value *resultPtr)); typedef void (Tcl_NamespaceDeleteProc) _ANSI_ARGS_((ClientData clientData)); typedef int (Tcl_ObjCmdProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, int objc, struct Tcl_Obj * CONST objv[])); typedef int (Tcl_PackageInitProc) _ANSI_ARGS_((Tcl_Interp *interp)); typedef void (Tcl_TcpAcceptProc) _ANSI_ARGS_((ClientData callbackData, Tcl_Channel chan, char *address, int port)); typedef void (Tcl_TimerProc) _ANSI_ARGS_((ClientData clientData)); typedef int (Tcl_SetFromAnyProc) _ANSI_ARGS_((Tcl_Interp *interp, struct Tcl_Obj *objPtr)); typedef void (Tcl_UpdateStringProc) _ANSI_ARGS_((struct Tcl_Obj *objPtr)); typedef char *(Tcl_VarTraceProc) _ANSI_ARGS_((ClientData clientData, Tcl_Interp *interp, char *part1, char *part2, int flags)); /* * The following structure represents a type of object, which is a * particular internal representation for an object plus a set of * procedures that provide standard operations on objects of that type. */ typedef struct Tcl_ObjType { char *name; /* Name of the type, e.g. "int". */ Tcl_FreeInternalRepProc *freeIntRepProc; /* Called to free any storage for the type's * internal rep. NULL if the internal rep * does not need freeing. */ Tcl_DupInternalRepProc *dupIntRepProc; /* Called to create a new object as a copy * of an existing object. */ Tcl_UpdateStringProc *updateStringProc; /* Called to update the string rep from the * type's internal representation. */ Tcl_SetFromAnyProc *setFromAnyProc; /* Called to convert the object's internal * rep to this type. Frees the internal rep * of the old type. Returns TCL_ERROR on * failure. */ } Tcl_ObjType; /* * One of the following structures exists for each object in the Tcl * system. An object stores a value as either a string, some internal * representation, or both. */ typedef struct Tcl_Obj { int refCount; /* When 0 the object will be freed. */ char *bytes; /* This points to the first byte of the * object's string representation. The array * must be followed by a null byte (i.e., at * offset length) but may also contain * embedded null characters. The array's * storage is allocated by ckalloc. NULL * means the string rep is invalid and must * be regenerated from the internal rep. * Clients should use Tcl_GetStringFromObj * to get a pointer to the byte array as a * readonly value. */ int length; /* The number of bytes at *bytes, not * including the terminating null. */ Tcl_ObjType *typePtr; /* Denotes the object's type. Always * corresponds to the type of the object's * internal rep. NULL indicates the object * has no internal rep (has no type). */ union { /* The internal representation: */ long longValue; /* - an long integer value */ double doubleValue; /* - a double-precision floating value */ VOID *otherValuePtr; /* - another, type-specific value */ struct { /* - internal rep as two pointers */ VOID *ptr1; VOID *ptr2; } twoPtrValue; } internalRep; } Tcl_Obj; /* * Macros to increment and decrement a Tcl_Obj's reference count, and to * test whether an object is shared (i.e. has reference count > 1). * Note: clients should use Tcl_DecrRefCount() when they are finished using * an object, and should never call TclFreeObj() directly. TclFreeObj() is * only defined and made public in tcl.h to support Tcl_DecrRefCount's macro * definition. Note also that Tcl_DecrRefCount() refers to the parameter * "obj" twice. This means that you should avoid calling it with an * expression that is expensive to compute or has side effects. */ EXTERN void Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); EXTERN void Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); EXTERN int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); #ifdef TCL_MEM_DEBUG # define Tcl_IncrRefCount(objPtr) \ Tcl_DbIncrRefCount(objPtr, __FILE__, __LINE__) # define Tcl_DecrRefCount(objPtr) \ Tcl_DbDecrRefCount(objPtr, __FILE__, __LINE__) # define Tcl_IsShared(objPtr) \ Tcl_DbIsShared(objPtr, __FILE__, __LINE__) #else # define Tcl_IncrRefCount(objPtr) \ ++(objPtr)->refCount # define Tcl_DecrRefCount(objPtr) \ if (--(objPtr)->refCount <= 0) TclFreeObj(objPtr) # define Tcl_IsShared(objPtr) \ ((objPtr)->refCount > 1) #endif /* * Macros and definitions that help to debug the use of Tcl objects. * When TCL_MEM_DEBUG is defined, the Tcl_New* declarations are * overridden to call debugging versions of the object creation procedures. */ EXTERN Tcl_Obj * Tcl_NewBooleanObj _ANSI_ARGS_((int boolValue)); EXTERN Tcl_Obj * Tcl_NewDoubleObj _ANSI_ARGS_((double doubleValue)); EXTERN Tcl_Obj * Tcl_NewIntObj _ANSI_ARGS_((int intValue)); EXTERN Tcl_Obj * Tcl_NewListObj _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); EXTERN Tcl_Obj * Tcl_NewLongObj _ANSI_ARGS_((long longValue)); EXTERN Tcl_Obj * Tcl_NewObj _ANSI_ARGS_((void)); EXTERN Tcl_Obj * Tcl_NewStringObj _ANSI_ARGS_((char *bytes, int length)); #ifdef TCL_MEM_DEBUG # define Tcl_NewBooleanObj(val) \ Tcl_DbNewBooleanObj(val, __FILE__, __LINE__) # define Tcl_NewDoubleObj(val) \ Tcl_DbNewDoubleObj(val, __FILE__, __LINE__) # define Tcl_NewIntObj(val) \ Tcl_DbNewLongObj(val, __FILE__, __LINE__) # define Tcl_NewListObj(objc, objv) \ Tcl_DbNewListObj(objc, objv, __FILE__, __LINE__) # define Tcl_NewLongObj(val) \ Tcl_DbNewLongObj(val, __FILE__, __LINE__) # define Tcl_NewObj() \ Tcl_DbNewObj(__FILE__, __LINE__) # define Tcl_NewStringObj(bytes, len) \ Tcl_DbNewStringObj(bytes, len, __FILE__, __LINE__) #endif /* TCL_MEM_DEBUG */ /* * The following definitions support Tcl's namespace facility. * Note: the first five fields must match exactly the fields in a * Namespace structure (see tcl.h). */ typedef struct Tcl_Namespace { char *name; /* The namespace's name within its parent * namespace. This contains no ::'s. The * name of the global namespace is "" * although "::" is an synonym. */ char *fullName; /* The namespace's fully qualified name. * This starts with ::. */ ClientData clientData; /* Arbitrary value associated with this * namespace. */ Tcl_NamespaceDeleteProc* deleteProc; /* Procedure invoked when deleting the * namespace to, e.g., free clientData. */ struct Tcl_Namespace* parentPtr; /* Points to the namespace that contains * this one. NULL if this is the global * namespace. */ } Tcl_Namespace; /* * The following structure represents a call frame, or activation record. * A call frame defines a naming context for a procedure call: its local * scope (for local variables) and its namespace scope (used for non-local * variables; often the global :: namespace). A call frame can also define * the naming context for a namespace eval or namespace inscope command: * the namespace in which the command's code should execute. The * Tcl_CallFrame structures exist only while procedures or namespace * eval/inscope's are being executed, and provide a Tcl call stack. * * A call frame is initialized and pushed using Tcl_PushCallFrame and * popped using Tcl_PopCallFrame. Storage for a Tcl_CallFrame must be * provided by the Tcl_PushCallFrame caller, and callers typically allocate * them on the C call stack for efficiency. For this reason, Tcl_CallFrame * is defined as a structure and not as an opaque token. However, most * Tcl_CallFrame fields are hidden since applications should not access * them directly; others are declared as "dummyX". * * WARNING!! The structure definition must be kept consistent with the * CallFrame structure in tclInt.h. If you change one, change the other. */ typedef struct Tcl_CallFrame { Tcl_Namespace *nsPtr; int dummy1; int dummy2; char *dummy3; char *dummy4; char *dummy5; int dummy6; char *dummy7; char *dummy8; int dummy9; char* dummy10; } Tcl_CallFrame; /* * Information about commands that is returned by Tcl_GetCommandInfo and * passed to Tcl_SetCommandInfo. objProc is an objc/objv object-based * command procedure while proc is a traditional Tcl argc/argv * string-based procedure. Tcl_CreateObjCommand and Tcl_CreateCommand * ensure that both objProc and proc are non-NULL and can be called to * execute the command. However, it may be faster to call one instead of * the other. The member isNativeObjectProc is set to 1 if an * object-based procedure was registered by Tcl_CreateObjCommand, and to * 0 if a string-based procedure was registered by Tcl_CreateCommand. * The other procedure is typically set to a compatibility wrapper that * does string-to-object or object-to-string argument conversions then * calls the other procedure. */ typedef struct Tcl_CmdInfo { int isNativeObjectProc; /* 1 if objProc was registered by a call to * Tcl_CreateObjCommand; 0 otherwise. * Tcl_SetCmdInfo does not modify this * field. */ Tcl_ObjCmdProc *objProc; /* Command's object-based procedure. */ ClientData objClientData; /* ClientData for object proc. */ Tcl_CmdProc *proc; /* Command's string-based procedure. */ ClientData clientData; /* ClientData for string proc. */ Tcl_CmdDeleteProc *deleteProc; /* Procedure to call when command is * deleted. */ ClientData deleteData; /* Value to pass to deleteProc (usually * the same as clientData). */ Tcl_Namespace *namespacePtr; /* Points to the namespace that contains * this command. Note that Tcl_SetCmdInfo * will not change a command's namespace; * use Tcl_RenameCommand to do that. */ } Tcl_CmdInfo; /* * The structure defined below is used to hold dynamic strings. The only * field that clients should use is the string field, and they should * never modify it. */ #define TCL_DSTRING_STATIC_SIZE 200 typedef struct Tcl_DString { char *string; /* Points to beginning of string: either * staticSpace below or a malloced array. */ int length; /* Number of non-NULL characters in the * string. */ int spaceAvl; /* Total number of bytes available for the * string and its terminating NULL char. */ char staticSpace[TCL_DSTRING_STATIC_SIZE]; /* Space to use in common case where string * is small. */ } Tcl_DString; #define Tcl_DStringLength(dsPtr) ((dsPtr)->length) #define Tcl_DStringValue(dsPtr) ((dsPtr)->string) #define Tcl_DStringTrunc Tcl_DStringSetLength /* * Definitions for the maximum number of digits of precision that may * be specified in the "tcl_precision" variable, and the number of * characters of buffer space required by Tcl_PrintDouble. */ #define TCL_MAX_PREC 17 #define TCL_DOUBLE_SPACE (TCL_MAX_PREC+10) /* * Flag that may be passed to Tcl_ConvertElement to force it not to * output braces (careful! if you change this flag be sure to change * the definitions at the front of tclUtil.c). */ #define TCL_DONT_USE_BRACES 1 /* * Flag that may be passed to Tcl_GetIndexFromObj to force it to disallow * abbreviated strings. */ #define TCL_EXACT 1 /* * Flag values passed to Tcl_RecordAndEval. * WARNING: these bit choices must not conflict with the bit choices * for evalFlag bits in tclInt.h!! */ #define TCL_NO_EVAL 0x10000 #define TCL_EVAL_GLOBAL 0x20000 /* * Special freeProc values that may be passed to Tcl_SetResult (see * the man page for details): */ #define TCL_VOLATILE ((Tcl_FreeProc *) 1) #define TCL_STATIC ((Tcl_FreeProc *) 0) #define TCL_DYNAMIC ((Tcl_FreeProc *) 3) /* * Flag values passed to variable-related procedures. */ #define TCL_GLOBAL_ONLY 1 #define TCL_NAMESPACE_ONLY 2 #define TCL_APPEND_VALUE 4 #define TCL_LIST_ELEMENT 8 #define TCL_TRACE_READS 0x10 #define TCL_TRACE_WRITES 0x20 #define TCL_TRACE_UNSETS 0x40 #define TCL_TRACE_DESTROYED 0x80 #define TCL_INTERP_DESTROYED 0x100 #define TCL_LEAVE_ERR_MSG 0x200 #define TCL_PARSE_PART1 0x400 /* * Types for linked variables: */ #define TCL_LINK_INT 1 #define TCL_LINK_DOUBLE 2 #define TCL_LINK_BOOLEAN 3 #define TCL_LINK_STRING 4 #define TCL_LINK_READ_ONLY 0x80 /* * The following declarations either map ckalloc and ckfree to * malloc and free, or they map them to procedures with all sorts * of debugging hooks defined in tclCkalloc.c. */ EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size)); EXTERN void Tcl_Free _ANSI_ARGS_((char *ptr)); EXTERN char * Tcl_Realloc _ANSI_ARGS_((char *ptr, unsigned int size)); #ifdef TCL_MEM_DEBUG # define Tcl_Alloc(x) Tcl_DbCkalloc(x, __FILE__, __LINE__) # define Tcl_Free(x) Tcl_DbCkfree(x, __FILE__, __LINE__) # define Tcl_Realloc(x,y) Tcl_DbCkrealloc((x), (y),__FILE__, __LINE__) # define ckalloc(x) Tcl_DbCkalloc(x, __FILE__, __LINE__) # define ckfree(x) Tcl_DbCkfree(x, __FILE__, __LINE__) # define ckrealloc(x,y) Tcl_DbCkrealloc((x), (y),__FILE__, __LINE__) EXTERN int Tcl_DumpActiveMemory _ANSI_ARGS_((char *fileName)); EXTERN void Tcl_ValidateAllMemory _ANSI_ARGS_((char *file, int line)); #else # if USE_TCLALLOC # define ckalloc(x) Tcl_Alloc(x) # define ckfree(x) Tcl_Free(x) # define ckrealloc(x,y) Tcl_Realloc(x,y) # else # define ckalloc(x) malloc(x) # define ckfree(x) free(x) # define ckrealloc(x,y) realloc(x,y) # endif # define Tcl_DumpActiveMemory(x) # define Tcl_ValidateAllMemory(x,y) #endif /* TCL_MEM_DEBUG */ /* * Forward declaration of Tcl_HashTable. Needed by some C++ compilers * to prevent errors when the forward reference to Tcl_HashTable is * encountered in the Tcl_HashEntry structure. */ #ifdef __cplusplus struct Tcl_HashTable; #endif /* * Structure definition for an entry in a hash table. No-one outside * Tcl should access any of these fields directly; use the macros * defined below. */ typedef struct Tcl_HashEntry { struct Tcl_HashEntry *nextPtr; /* Pointer to next entry in this * hash bucket, or NULL for end of * chain. */ struct Tcl_HashTable *tablePtr; /* Pointer to table containing entry. */ struct Tcl_HashEntry **bucketPtr; /* Pointer to bucket that points to * first entry in this entry's chain: * used for deleting the entry. */ ClientData clientData; /* Application stores something here * with Tcl_SetHashValue. */ union { /* Key has one of these forms: */ char *oneWordValue; /* One-word value for key. */ int words[1]; /* Multiple integer words for key. * The actual size will be as large * as necessary for this table's * keys. */ char string[4]; /* String for key. The actual size * will be as large as needed to hold * the key. */ } key; /* MUST BE LAST FIELD IN RECORD!! */ } Tcl_HashEntry; /* * Structure definition for a hash table. Must be in tcl.h so clients * can allocate space for these structures, but clients should never * access any fields in this structure. */ #define TCL_SMALL_HASH_TABLE 4 typedef struct Tcl_HashTable { Tcl_HashEntry **buckets; /* Pointer to bucket array. Each * element points to first entry in * bucket's hash chain, or NULL. */ Tcl_HashEntry *staticBuckets[TCL_SMALL_HASH_TABLE]; /* Bucket array used for small tables * (to avoid mallocs and frees). */ int numBuckets; /* Total number of buckets allocated * at **bucketPtr. */ int numEntries; /* Total number of entries present * in table. */ int rebuildSize; /* Enlarge table when numEntries gets * to be this large. */ int downShift; /* Shift count used in hashing * function. Designed to use high- * order bits of randomized keys. */ int mask; /* Mask value used in hashing * function. */ int keyType; /* Type of keys used in this table. * It's either TCL_STRING_KEYS, * TCL_ONE_WORD_KEYS, or an integer * giving the number of ints that * is the size of the key. */ Tcl_HashEntry *(*findProc) _ANSI_ARGS_((struct Tcl_HashTable *tablePtr, CONST char *key)); Tcl_HashEntry *(*createProc) _ANSI_ARGS_((struct Tcl_HashTable *tablePtr, CONST char *key, int *newPtr)); } Tcl_HashTable; /* * Structure definition for information used to keep track of searches * through hash tables: */ typedef struct Tcl_HashSearch { Tcl_HashTable *tablePtr; /* Table being searched. */ int nextIndex; /* Index of next bucket to be * enumerated after present one. */ Tcl_HashEntry *nextEntryPtr; /* Next entry to be enumerated in the * the current bucket. */ } Tcl_HashSearch; /* * Acceptable key types for hash tables: */ #define TCL_STRING_KEYS 0 #define TCL_ONE_WORD_KEYS 1 /* * Macros for clients to use to access fields of hash entries: */ #define Tcl_GetHashValue(h) ((h)->clientData) #define Tcl_SetHashValue(h, value) ((h)->clientData = (ClientData) (value)) #define Tcl_GetHashKey(tablePtr, h) \ ((char *) (((tablePtr)->keyType == TCL_ONE_WORD_KEYS) ? (h)->key.oneWordValue \ : (h)->key.string)) /* * Macros to use for clients to use to invoke find and create procedures * for hash tables: */ #define Tcl_FindHashEntry(tablePtr, key) \ (*((tablePtr)->findProc))(tablePtr, key) #define Tcl_CreateHashEntry(tablePtr, key, newPtr) \ (*((tablePtr)->createProc))(tablePtr, key, newPtr) /* * Flag values to pass to Tcl_DoOneEvent to disable searches * for some kinds of events: */ #define TCL_DONT_WAIT (1<<1) #define TCL_WINDOW_EVENTS (1<<2) #define TCL_FILE_EVENTS (1<<3) #define TCL_TIMER_EVENTS (1<<4) #define TCL_IDLE_EVENTS (1<<5) /* WAS 0x10 ???? */ #define TCL_ALL_EVENTS (~TCL_DONT_WAIT) /* * The following structure defines a generic event for the Tcl event * system. These are the things that are queued in calls to Tcl_QueueEvent * and serviced later by Tcl_DoOneEvent. There can be many different * kinds of events with different fields, corresponding to window events, * timer events, etc. The structure for a particular event consists of * a Tcl_Event header followed by additional information specific to that * event. */ struct Tcl_Event { Tcl_EventProc *proc; /* Procedure to call to service this event. */ struct Tcl_Event *nextPtr; /* Next in list of pending events, or NULL. */ }; /* * Positions to pass to Tcl_QueueEvent: */ typedef enum { TCL_QUEUE_TAIL, TCL_QUEUE_HEAD, TCL_QUEUE_MARK } Tcl_QueuePosition; /* * Values to pass to Tcl_SetServiceMode to specify the behavior of notifier * event routines. */ #define TCL_SERVICE_NONE 0 #define TCL_SERVICE_ALL 1 /* * The following structure keeps is used to hold a time value, either as * an absolute time (the number of seconds from the epoch) or as an * elapsed time. On Unix systems the epoch is Midnight Jan 1, 1970 GMT. * On Macintosh systems the epoch is Midnight Jan 1, 1904 GMT. */ typedef struct Tcl_Time { long sec; /* Seconds. */ long usec; /* Microseconds. */ } Tcl_Time; /* * Bits to pass to Tcl_CreateFileHandler and Tcl_CreateChannelHandler * to indicate what sorts of events are of interest: */ #define TCL_READABLE (1<<1) #define TCL_WRITABLE (1<<2) #define TCL_EXCEPTION (1<<3) /* * Flag values to pass to Tcl_OpenCommandChannel to indicate the * disposition of the stdio handles. TCL_STDIN, TCL_STDOUT, TCL_STDERR, * are also used in Tcl_GetStdChannel. */ #define TCL_STDIN (1<<1) #define TCL_STDOUT (1<<2) #define TCL_STDERR (1<<3) #define TCL_ENFORCE_MODE (1<<4) /* * Typedefs for the various operations in a channel type: */ typedef int (Tcl_DriverBlockModeProc) _ANSI_ARGS_(( ClientData instanceData, int mode)); typedef int (Tcl_DriverCloseProc) _ANSI_ARGS_((ClientData instanceData, Tcl_Interp *interp)); typedef int (Tcl_DriverInputProc) _ANSI_ARGS_((ClientData instanceData, char *buf, int toRead, int *errorCodePtr)); typedef int (Tcl_DriverOutputProc) _ANSI_ARGS_((ClientData instanceData, char *buf, int toWrite, int *errorCodePtr)); typedef int (Tcl_DriverSeekProc) _ANSI_ARGS_((ClientData instanceData, long offset, int mode, int *errorCodePtr)); typedef int (Tcl_DriverSetOptionProc) _ANSI_ARGS_(( ClientData instanceData, Tcl_Interp *interp, char *optionName, char *value)); typedef int (Tcl_DriverGetOptionProc) _ANSI_ARGS_(( ClientData instanceData, Tcl_Interp *interp, char *optionName, Tcl_DString *dsPtr)); typedef void (Tcl_DriverWatchProc) _ANSI_ARGS_(( ClientData instanceData, int mask)); typedef int (Tcl_DriverGetHandleProc) _ANSI_ARGS_(( ClientData instanceData, int direction, ClientData *handlePtr)); /* * Enum for different end of line translation and recognition modes. */ typedef enum Tcl_EolTranslation { TCL_TRANSLATE_AUTO, /* Eol == \r, \n and \r\n. */ TCL_TRANSLATE_CR, /* Eol == \r. */ TCL_TRANSLATE_LF, /* Eol == \n. */ TCL_TRANSLATE_CRLF /* Eol == \r\n. */ } Tcl_EolTranslation; /* * struct Tcl_ChannelType: * * One such structure exists for each type (kind) of channel. * It collects together in one place all the functions that are * part of the specific channel type. */ typedef struct Tcl_ChannelType { char *typeName; /* The name of the channel type in Tcl * commands. This storage is owned by * channel type. */ Tcl_DriverBlockModeProc *blockModeProc; /* Set blocking mode for the * raw channel. May be NULL. */ Tcl_DriverCloseProc *closeProc; /* Procedure to call to close * the channel. */ Tcl_DriverInputProc *inputProc; /* Procedure to call for input * on channel. */ Tcl_DriverOutputProc *outputProc; /* Procedure to call for output * on channel. */ Tcl_DriverSeekProc *seekProc; /* Procedure to call to seek * on the channel. May be NULL. */ Tcl_DriverSetOptionProc *setOptionProc; /* Set an option on a channel. */ Tcl_DriverGetOptionProc *getOptionProc; /* Get an option from a channel. */ Tcl_DriverWatchProc *watchProc; /* Set up the notifier to watch * for events on this channel. */ Tcl_DriverGetHandleProc *getHandleProc; /* Get an OS handle from the channel * or NULL if not supported. */ } Tcl_ChannelType; /* * The following flags determine whether the blockModeProc above should * set the channel into blocking or nonblocking mode. They are passed * as arguments to the blockModeProc procedure in the above structure. */ #define TCL_MODE_BLOCKING 0 /* Put channel into blocking mode. */ #define TCL_MODE_NONBLOCKING 1 /* Put channel into nonblocking * mode. */ /* * Enum for different types of file paths. */ typedef enum Tcl_PathType { TCL_PATH_ABSOLUTE, TCL_PATH_RELATIVE, TCL_PATH_VOLUME_RELATIVE } Tcl_PathType; /* * Exported Tcl procedures: */ EXTERN void Tcl_AddErrorInfo _ANSI_ARGS_((Tcl_Interp *interp, char *message)); EXTERN void Tcl_AddObjErrorInfo _ANSI_ARGS_((Tcl_Interp *interp, char *message, int length)); EXTERN void Tcl_AllowExceptions _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN int Tcl_AppendAllObjTypes _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Obj *objPtr)); EXTERN void Tcl_AppendElement _ANSI_ARGS_((Tcl_Interp *interp, char *string)); EXTERN void Tcl_AppendResult _ANSI_ARGS_( TCL_VARARGS(Tcl_Interp *,interp)); EXTERN void Tcl_AppendToObj _ANSI_ARGS_((Tcl_Obj *objPtr, char *bytes, int length)); EXTERN void Tcl_AppendStringsToObj _ANSI_ARGS_( TCL_VARARGS(Tcl_Obj *,interp)); EXTERN int Tcl_AppInit _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN Tcl_AsyncHandler Tcl_AsyncCreate _ANSI_ARGS_((Tcl_AsyncProc *proc, ClientData clientData)); EXTERN void Tcl_AsyncDelete _ANSI_ARGS_((Tcl_AsyncHandler async)); EXTERN int Tcl_AsyncInvoke _ANSI_ARGS_((Tcl_Interp *interp, int code)); EXTERN void Tcl_AsyncMark _ANSI_ARGS_((Tcl_AsyncHandler async)); EXTERN int Tcl_AsyncReady _ANSI_ARGS_((void)); EXTERN void Tcl_BackgroundError _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN char Tcl_Backslash _ANSI_ARGS_((CONST char *src, int *readPtr)); EXTERN int Tcl_BadChannelOption _ANSI_ARGS_((Tcl_Interp *interp, char *optionName, char *optionList)); EXTERN void Tcl_CallWhenDeleted _ANSI_ARGS_((Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, ClientData clientData)); EXTERN void Tcl_CancelIdleCall _ANSI_ARGS_((Tcl_IdleProc *idleProc, ClientData clientData)); #define Tcl_Ckalloc Tcl_Alloc #define Tcl_Ckfree Tcl_Free #define Tcl_Ckrealloc Tcl_Realloc EXTERN int Tcl_Close _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Channel chan)); EXTERN int Tcl_CommandComplete _ANSI_ARGS_((char *cmd)); EXTERN char * Tcl_Concat _ANSI_ARGS_((int argc, char **argv)); EXTERN Tcl_Obj * Tcl_ConcatObj _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[])); EXTERN int Tcl_ConvertCountedElement _ANSI_ARGS_((CONST char *src, int length, char *dst, int flags)); EXTERN int Tcl_ConvertElement _ANSI_ARGS_((CONST char *src, char *dst, int flags)); EXTERN int Tcl_ConvertToType _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_ObjType *typePtr)); EXTERN int Tcl_CreateAlias _ANSI_ARGS_((Tcl_Interp *slave, char *slaveCmd, Tcl_Interp *target, char *targetCmd, int argc, char **argv)); EXTERN int Tcl_CreateAliasObj _ANSI_ARGS_((Tcl_Interp *slave, char *slaveCmd, Tcl_Interp *target, char *targetCmd, int objc, Tcl_Obj *CONST objv[])); EXTERN Tcl_Channel Tcl_CreateChannel _ANSI_ARGS_(( Tcl_ChannelType *typePtr, char *chanName, ClientData instanceData, int mask)); EXTERN void Tcl_CreateChannelHandler _ANSI_ARGS_(( Tcl_Channel chan, int mask, Tcl_ChannelProc *proc, ClientData clientData)); EXTERN void Tcl_CreateCloseHandler _ANSI_ARGS_(( Tcl_Channel chan, Tcl_CloseProc *proc, ClientData clientData)); EXTERN Tcl_Command Tcl_CreateCommand _ANSI_ARGS_((Tcl_Interp *interp, char *cmdName, Tcl_CmdProc *proc, ClientData clientData, Tcl_CmdDeleteProc *deleteProc)); EXTERN void Tcl_CreateEventSource _ANSI_ARGS_(( Tcl_EventSetupProc *setupProc, Tcl_EventCheckProc *checkProc, ClientData clientData)); EXTERN void Tcl_CreateExitHandler _ANSI_ARGS_((Tcl_ExitProc *proc, ClientData clientData)); EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_(( int fd, int mask, Tcl_FileProc *proc, ClientData clientData)); EXTERN Tcl_Interp * Tcl_CreateInterp _ANSI_ARGS_((void)); EXTERN void Tcl_CreateMathFunc _ANSI_ARGS_((Tcl_Interp *interp, char *name, int numArgs, Tcl_ValueType *argTypes, Tcl_MathProc *proc, ClientData clientData)); EXTERN Tcl_Command Tcl_CreateObjCommand _ANSI_ARGS_(( Tcl_Interp *interp, char *cmdName, Tcl_ObjCmdProc *proc, ClientData clientData, Tcl_CmdDeleteProc *deleteProc)); EXTERN Tcl_Interp * Tcl_CreateSlave _ANSI_ARGS_((Tcl_Interp *interp, char *slaveName, int isSafe)); EXTERN Tcl_TimerToken Tcl_CreateTimerHandler _ANSI_ARGS_((int milliseconds, Tcl_TimerProc *proc, ClientData clientData)); EXTERN Tcl_Trace Tcl_CreateTrace _ANSI_ARGS_((Tcl_Interp *interp, int level, Tcl_CmdTraceProc *proc, ClientData clientData)); EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, char *file, int line)); EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char *ptr, char *file, int line)); EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char *ptr, unsigned int size, char *file, int line)); EXTERN void Tcl_DbDecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr, char *file, int line)); EXTERN void Tcl_DbIncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr, char *file, int line)); EXTERN int Tcl_DbIsShared _ANSI_ARGS_((Tcl_Obj *objPtr, char *file, int line)); EXTERN Tcl_Obj * Tcl_DbNewBooleanObj _ANSI_ARGS_((int boolValue, char *file, int line)); EXTERN Tcl_Obj * Tcl_DbNewDoubleObj _ANSI_ARGS_((double doubleValue, char *file, int line)); EXTERN Tcl_Obj * Tcl_DbNewListObj _ANSI_ARGS_((int objc, Tcl_Obj *CONST objv[], char *file, int line)); EXTERN Tcl_Obj * Tcl_DbNewLongObj _ANSI_ARGS_((long longValue, char *file, int line)); EXTERN Tcl_Obj * Tcl_DbNewObj _ANSI_ARGS_((char *file, int line)); EXTERN Tcl_Obj * Tcl_DbNewStringObj _ANSI_ARGS_((char *bytes, int length, char *file, int line)); EXTERN void Tcl_DeleteAssocData _ANSI_ARGS_((Tcl_Interp *interp, char *name)); EXTERN int Tcl_DeleteCommand _ANSI_ARGS_((Tcl_Interp *interp, char *cmdName)); EXTERN int Tcl_DeleteCommandFromToken _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Command command)); EXTERN void Tcl_DeleteChannelHandler _ANSI_ARGS_(( Tcl_Channel chan, Tcl_ChannelProc *proc, ClientData clientData)); EXTERN void Tcl_DeleteCloseHandler _ANSI_ARGS_(( Tcl_Channel chan, Tcl_CloseProc *proc, ClientData clientData)); EXTERN void Tcl_DeleteEvents _ANSI_ARGS_(( Tcl_EventDeleteProc *proc, ClientData clientData)); EXTERN void Tcl_DeleteEventSource _ANSI_ARGS_(( Tcl_EventSetupProc *setupProc, Tcl_EventCheckProc *checkProc, ClientData clientData)); EXTERN void Tcl_DeleteExitHandler _ANSI_ARGS_((Tcl_ExitProc *proc, ClientData clientData)); EXTERN void Tcl_DeleteFileHandler _ANSI_ARGS_((int fd)); EXTERN void Tcl_DeleteHashEntry _ANSI_ARGS_(( Tcl_HashEntry *entryPtr)); EXTERN void Tcl_DeleteHashTable _ANSI_ARGS_(( Tcl_HashTable *tablePtr)); EXTERN void Tcl_DeleteInterp _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN void Tcl_DeleteTimerHandler _ANSI_ARGS_(( Tcl_TimerToken token)); EXTERN void Tcl_DeleteTrace _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Trace trace)); EXTERN void Tcl_DetachPids _ANSI_ARGS_((int numPids, Tcl_Pid *pidPtr)); EXTERN void Tcl_DontCallWhenDeleted _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, ClientData clientData)); EXTERN int Tcl_DoOneEvent _ANSI_ARGS_((int flags)); EXTERN void Tcl_DoWhenIdle _ANSI_ARGS_((Tcl_IdleProc *proc, ClientData clientData)); EXTERN char * Tcl_DStringAppend _ANSI_ARGS_((Tcl_DString *dsPtr, CONST char *string, int length)); EXTERN char * Tcl_DStringAppendElement _ANSI_ARGS_(( Tcl_DString *dsPtr, CONST char *string)); EXTERN void Tcl_DStringEndSublist _ANSI_ARGS_((Tcl_DString *dsPtr)); EXTERN void Tcl_DStringFree _ANSI_ARGS_((Tcl_DString *dsPtr)); EXTERN void Tcl_DStringGetResult _ANSI_ARGS_((Tcl_Interp *interp, Tcl_DString *dsPtr)); EXTERN void Tcl_DStringInit _ANSI_ARGS_((Tcl_DString *dsPtr)); EXTERN void Tcl_DStringResult _ANSI_ARGS_((Tcl_Interp *interp, Tcl_DString *dsPtr)); EXTERN void Tcl_DStringSetLength _ANSI_ARGS_((Tcl_DString *dsPtr, int length)); EXTERN void Tcl_DStringStartSublist _ANSI_ARGS_(( Tcl_DString *dsPtr)); EXTERN Tcl_Obj * Tcl_DuplicateObj _ANSI_ARGS_((Tcl_Obj *objPtr)); EXTERN int Tcl_Eof _ANSI_ARGS_((Tcl_Channel chan)); EXTERN char * Tcl_ErrnoId _ANSI_ARGS_((void)); EXTERN char * Tcl_ErrnoMsg _ANSI_ARGS_((int err)); EXTERN int Tcl_Eval _ANSI_ARGS_((Tcl_Interp *interp, char *string)); EXTERN int Tcl_EvalFile _ANSI_ARGS_((Tcl_Interp *interp, char *fileName)); EXTERN void Tcl_EventuallyFree _ANSI_ARGS_((ClientData clientData, Tcl_FreeProc *freeProc)); EXTERN int Tcl_EvalObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr)); EXTERN void Tcl_Exit _ANSI_ARGS_((int status)); EXTERN int Tcl_ExposeCommand _ANSI_ARGS_((Tcl_Interp *interp, char *hiddenCmdToken, char *cmdName)); EXTERN int Tcl_ExprBoolean _ANSI_ARGS_((Tcl_Interp *interp, char *string, int *ptr)); EXTERN int Tcl_ExprBooleanObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, int *ptr)); EXTERN int Tcl_ExprDouble _ANSI_ARGS_((Tcl_Interp *interp, char *string, double *ptr)); EXTERN int Tcl_ExprDoubleObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, double *ptr)); EXTERN int Tcl_ExprLong _ANSI_ARGS_((Tcl_Interp *interp, char *string, long *ptr)); EXTERN int Tcl_ExprLongObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, long *ptr)); EXTERN int Tcl_ExprObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_Obj **resultPtrPtr)); EXTERN int Tcl_ExprString _ANSI_ARGS_((Tcl_Interp *interp, char *string)); EXTERN void Tcl_Finalize _ANSI_ARGS_((void)); EXTERN void Tcl_FindExecutable _ANSI_ARGS_((char *argv0)); EXTERN Tcl_HashEntry * Tcl_FirstHashEntry _ANSI_ARGS_(( Tcl_HashTable *tablePtr, Tcl_HashSearch *searchPtr)); EXTERN int Tcl_Flush _ANSI_ARGS_((Tcl_Channel chan)); EXTERN void TclFreeObj _ANSI_ARGS_((Tcl_Obj *objPtr)); EXTERN void Tcl_FreeResult _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN int Tcl_GetAlias _ANSI_ARGS_((Tcl_Interp *interp, char *slaveCmd, Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *argcPtr, char ***argvPtr)); EXTERN int Tcl_GetAliasObj _ANSI_ARGS_((Tcl_Interp *interp, char *slaveCmd, Tcl_Interp **targetInterpPtr, char **targetCmdPtr, int *objcPtr, Tcl_Obj ***objv)); EXTERN ClientData Tcl_GetAssocData _ANSI_ARGS_((Tcl_Interp *interp, char *name, Tcl_InterpDeleteProc **procPtr)); EXTERN int Tcl_GetBoolean _ANSI_ARGS_((Tcl_Interp *interp, char *string, int *boolPtr)); EXTERN int Tcl_GetBooleanFromObj _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Obj *objPtr, int *boolPtr)); EXTERN Tcl_Channel Tcl_GetChannel _ANSI_ARGS_((Tcl_Interp *interp, char *chanName, int *modePtr)); EXTERN int Tcl_GetChannelBufferSize _ANSI_ARGS_(( Tcl_Channel chan)); EXTERN int Tcl_GetChannelHandle _ANSI_ARGS_((Tcl_Channel chan, int direction, ClientData *handlePtr)); EXTERN ClientData Tcl_GetChannelInstanceData _ANSI_ARGS_(( Tcl_Channel chan)); EXTERN int Tcl_GetChannelMode _ANSI_ARGS_((Tcl_Channel chan)); EXTERN char * Tcl_GetChannelName _ANSI_ARGS_((Tcl_Channel chan)); EXTERN int Tcl_GetChannelOption _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Channel chan, char *optionName, Tcl_DString *dsPtr)); EXTERN Tcl_ChannelType * Tcl_GetChannelType _ANSI_ARGS_((Tcl_Channel chan)); EXTERN int Tcl_GetCommandInfo _ANSI_ARGS_((Tcl_Interp *interp, char *cmdName, Tcl_CmdInfo *infoPtr)); EXTERN char * Tcl_GetCommandName _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Command command)); EXTERN char * Tcl_GetCwd _ANSI_ARGS_((char *buf, int len)); EXTERN int Tcl_GetDouble _ANSI_ARGS_((Tcl_Interp *interp, char *string, double *doublePtr)); EXTERN int Tcl_GetDoubleFromObj _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Obj *objPtr, double *doublePtr)); EXTERN int Tcl_GetErrno _ANSI_ARGS_((void)); EXTERN int Tcl_GetErrorLine _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN char * Tcl_GetHostName _ANSI_ARGS_((void)); EXTERN int Tcl_GetIndexFromObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, char **tablePtr, char *msg, int flags, int *indexPtr)); EXTERN int Tcl_GetInt _ANSI_ARGS_((Tcl_Interp *interp, char *string, int *intPtr)); EXTERN int Tcl_GetInterpPath _ANSI_ARGS_((Tcl_Interp *askInterp, Tcl_Interp *slaveInterp)); EXTERN int Tcl_GetIntFromObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr)); EXTERN int Tcl_GetLongFromObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr, long *longPtr)); EXTERN Tcl_Interp * Tcl_GetMaster _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN Tcl_Obj * Tcl_GetObjResult _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN Tcl_ObjType * Tcl_GetObjType _ANSI_ARGS_((char *typeName)); EXTERN int Tcl_GetOpenFile _ANSI_ARGS_((Tcl_Interp *interp, char *string, int write, int checkUsage, ClientData *filePtr)); EXTERN Tcl_Command Tcl_GetOriginalCommand _ANSI_ARGS_(( Tcl_Command command)); EXTERN Tcl_PathType Tcl_GetPathType _ANSI_ARGS_((char *path)); EXTERN int Tcl_Gets _ANSI_ARGS_((Tcl_Channel chan, Tcl_DString *dsPtr)); EXTERN int Tcl_GetsObj _ANSI_ARGS_((Tcl_Channel chan, Tcl_Obj *objPtr)); EXTERN int Tcl_GetServiceMode _ANSI_ARGS_((void)); EXTERN Tcl_Interp * Tcl_GetSlave _ANSI_ARGS_((Tcl_Interp *interp, char *slaveName)); EXTERN Tcl_Channel Tcl_GetStdChannel _ANSI_ARGS_((int type)); EXTERN char * Tcl_GetStringFromObj _ANSI_ARGS_((Tcl_Obj *objPtr, int *lengthPtr)); EXTERN char * Tcl_GetStringResult _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN char * Tcl_GetVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName, int flags)); EXTERN char * Tcl_GetVar2 _ANSI_ARGS_((Tcl_Interp *interp, char *part1, char *part2, int flags)); EXTERN int Tcl_GlobalEval _ANSI_ARGS_((Tcl_Interp *interp, char *command)); EXTERN int Tcl_GlobalEvalObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *objPtr)); EXTERN char * Tcl_HashStats _ANSI_ARGS_((Tcl_HashTable *tablePtr)); EXTERN int Tcl_HideCommand _ANSI_ARGS_((Tcl_Interp *interp, char *cmdName, char *hiddenCmdToken)); EXTERN int Tcl_Init _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN void Tcl_InitHashTable _ANSI_ARGS_((Tcl_HashTable *tablePtr, int keyType)); EXTERN void Tcl_InitMemory _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN int Tcl_InputBlocked _ANSI_ARGS_((Tcl_Channel chan)); EXTERN int Tcl_InputBuffered _ANSI_ARGS_((Tcl_Channel chan)); EXTERN int Tcl_InterpDeleted _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN int Tcl_IsSafe _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN void Tcl_InvalidateStringRep _ANSI_ARGS_(( Tcl_Obj *objPtr)); EXTERN char * Tcl_JoinPath _ANSI_ARGS_((int argc, char **argv, Tcl_DString *resultPtr)); EXTERN int Tcl_LinkVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName, char *addr, int type)); EXTERN int Tcl_ListObjAppendList _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Obj *listPtr, Tcl_Obj *elemListPtr)); EXTERN int Tcl_ListObjAppendElement _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Obj *listPtr, Tcl_Obj *objPtr)); EXTERN int Tcl_ListObjGetElements _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Obj *listPtr, int *objcPtr, Tcl_Obj ***objvPtr)); EXTERN int Tcl_ListObjIndex _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *listPtr, int index, Tcl_Obj **objPtrPtr)); EXTERN int Tcl_ListObjLength _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *listPtr, int *intPtr)); EXTERN int Tcl_ListObjReplace _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *listPtr, int first, int count, int objc, Tcl_Obj *CONST objv[])); EXTERN void Tcl_Main _ANSI_ARGS_((int argc, char **argv, Tcl_AppInitProc *appInitProc)); EXTERN Tcl_Channel Tcl_MakeFileChannel _ANSI_ARGS_((ClientData handle, int mode)); EXTERN int Tcl_MakeSafe _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN Tcl_Channel Tcl_MakeTcpClientChannel _ANSI_ARGS_(( ClientData tcpSocket)); EXTERN char * Tcl_Merge _ANSI_ARGS_((int argc, char **argv)); EXTERN Tcl_HashEntry * Tcl_NextHashEntry _ANSI_ARGS_(( Tcl_HashSearch *searchPtr)); EXTERN void Tcl_NotifyChannel _ANSI_ARGS_((Tcl_Channel channel, int mask)); EXTERN Tcl_Obj * Tcl_ObjGetVar2 _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, int flags)); EXTERN Tcl_Obj * Tcl_ObjSetVar2 _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, Tcl_Obj *newValuePtr, int flags)); EXTERN Tcl_Channel Tcl_OpenCommandChannel _ANSI_ARGS_(( Tcl_Interp *interp, int argc, char **argv, int flags)); EXTERN Tcl_Channel Tcl_OpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp, char *fileName, char *modeString, int permissions)); EXTERN Tcl_Channel Tcl_OpenTcpClient _ANSI_ARGS_((Tcl_Interp *interp, int port, char *address, char *myaddr, int myport, int async)); EXTERN Tcl_Channel Tcl_OpenTcpServer _ANSI_ARGS_((Tcl_Interp *interp, int port, char *host, Tcl_TcpAcceptProc *acceptProc, ClientData callbackData)); EXTERN char * Tcl_ParseVar _ANSI_ARGS_((Tcl_Interp *interp, char *string, char **termPtr)); EXTERN int Tcl_PkgProvide _ANSI_ARGS_((Tcl_Interp *interp, char *name, char *version)); EXTERN char * Tcl_PkgRequire _ANSI_ARGS_((Tcl_Interp *interp, char *name, char *version, int exact)); EXTERN char * Tcl_PosixError _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN void Tcl_Preserve _ANSI_ARGS_((ClientData data)); EXTERN void Tcl_PrintDouble _ANSI_ARGS_((Tcl_Interp *interp, double value, char *dst)); EXTERN int Tcl_PutEnv _ANSI_ARGS_((CONST char *string)); EXTERN void Tcl_QueueEvent _ANSI_ARGS_((Tcl_Event *evPtr, Tcl_QueuePosition position)); EXTERN int Tcl_Read _ANSI_ARGS_((Tcl_Channel chan, char *bufPtr, int toRead)); EXTERN void Tcl_ReapDetachedProcs _ANSI_ARGS_((void)); EXTERN int Tcl_RecordAndEval _ANSI_ARGS_((Tcl_Interp *interp, char *cmd, int flags)); EXTERN int Tcl_RecordAndEvalObj _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *cmdPtr, int flags)); EXTERN Tcl_RegExp Tcl_RegExpCompile _ANSI_ARGS_((Tcl_Interp *interp, char *string)); EXTERN int Tcl_RegExpExec _ANSI_ARGS_((Tcl_Interp *interp, Tcl_RegExp regexp, char *string, char *start)); EXTERN int Tcl_RegExpMatch _ANSI_ARGS_((Tcl_Interp *interp, char *string, char *pattern)); EXTERN void Tcl_RegExpRange _ANSI_ARGS_((Tcl_RegExp regexp, int index, char **startPtr, char **endPtr)); EXTERN void Tcl_RegisterChannel _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Channel chan)); EXTERN void Tcl_RegisterObjType _ANSI_ARGS_(( Tcl_ObjType *typePtr)); EXTERN void Tcl_Release _ANSI_ARGS_((ClientData clientData)); EXTERN void Tcl_RestartIdleTimer _ANSI_ARGS_((void)); EXTERN void Tcl_ResetResult _ANSI_ARGS_((Tcl_Interp *interp)); #define Tcl_Return Tcl_SetResult EXTERN int Tcl_ScanCountedElement _ANSI_ARGS_((CONST char *string, int length, int *flagPtr)); EXTERN int Tcl_ScanElement _ANSI_ARGS_((CONST char *string, int *flagPtr)); EXTERN int Tcl_Seek _ANSI_ARGS_((Tcl_Channel chan, int offset, int mode)); EXTERN int Tcl_ServiceAll _ANSI_ARGS_((void)); EXTERN int Tcl_ServiceEvent _ANSI_ARGS_((int flags)); EXTERN void Tcl_SetAssocData _ANSI_ARGS_((Tcl_Interp *interp, char *name, Tcl_InterpDeleteProc *proc, ClientData clientData)); EXTERN void Tcl_SetBooleanObj _ANSI_ARGS_((Tcl_Obj *objPtr, int boolValue)); EXTERN void Tcl_SetChannelBufferSize _ANSI_ARGS_(( Tcl_Channel chan, int sz)); EXTERN int Tcl_SetChannelOption _ANSI_ARGS_(( Tcl_Interp *interp, Tcl_Channel chan, char *optionName, char *newValue)); EXTERN int Tcl_SetCommandInfo _ANSI_ARGS_((Tcl_Interp *interp, char *cmdName, Tcl_CmdInfo *infoPtr)); EXTERN void Tcl_SetDoubleObj _ANSI_ARGS_((Tcl_Obj *objPtr, double doubleValue)); EXTERN void Tcl_SetErrno _ANSI_ARGS_((int err)); EXTERN void Tcl_SetErrorCode _ANSI_ARGS_( TCL_VARARGS(Tcl_Interp *,arg1)); EXTERN void Tcl_SetIntObj _ANSI_ARGS_((Tcl_Obj *objPtr, int intValue)); EXTERN void Tcl_SetListObj _ANSI_ARGS_((Tcl_Obj *objPtr, int objc, Tcl_Obj *CONST objv[])); EXTERN void Tcl_SetLongObj _ANSI_ARGS_((Tcl_Obj *objPtr, long longValue)); EXTERN void Tcl_SetMaxBlockTime _ANSI_ARGS_((Tcl_Time *timePtr)); EXTERN void Tcl_SetObjErrorCode _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *errorObjPtr)); EXTERN void Tcl_SetObjLength _ANSI_ARGS_((Tcl_Obj *objPtr, int length)); EXTERN void Tcl_SetObjResult _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Obj *resultObjPtr)); EXTERN void Tcl_SetPanicProc _ANSI_ARGS_((void (*proc) _ANSI_ARGS_(TCL_VARARGS(char *, format)))); EXTERN int Tcl_SetRecursionLimit _ANSI_ARGS_((Tcl_Interp *interp, int depth)); EXTERN void Tcl_SetResult _ANSI_ARGS_((Tcl_Interp *interp, char *string, Tcl_FreeProc *freeProc)); EXTERN int Tcl_SetServiceMode _ANSI_ARGS_((int mode)); EXTERN void Tcl_SetStdChannel _ANSI_ARGS_((Tcl_Channel channel, int type)); EXTERN void Tcl_SetStringObj _ANSI_ARGS_((Tcl_Obj *objPtr, char *bytes, int length)); EXTERN void Tcl_SetTimer _ANSI_ARGS_((Tcl_Time *timePtr)); EXTERN char * Tcl_SetVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName, char *newValue, int flags)); EXTERN char * Tcl_SetVar2 _ANSI_ARGS_((Tcl_Interp *interp, char *part1, char *part2, char *newValue, int flags)); EXTERN char * Tcl_SignalId _ANSI_ARGS_((int sig)); EXTERN char * Tcl_SignalMsg _ANSI_ARGS_((int sig)); EXTERN void Tcl_Sleep _ANSI_ARGS_((int ms)); EXTERN void Tcl_SourceRCFile _ANSI_ARGS_((Tcl_Interp *interp)); EXTERN int Tcl_SplitList _ANSI_ARGS_((Tcl_Interp *interp, char *list, int *argcPtr, char ***argvPtr)); EXTERN void Tcl_SplitPath _ANSI_ARGS_((char *path, int *argcPtr, char ***argvPtr)); EXTERN void Tcl_StaticPackage _ANSI_ARGS_((Tcl_Interp *interp, char *pkgName, Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)); EXTERN int Tcl_StringMatch _ANSI_ARGS_((char *string, char *pattern)); EXTERN int Tcl_Tell _ANSI_ARGS_((Tcl_Channel chan)); #define Tcl_TildeSubst Tcl_TranslateFileName EXTERN int Tcl_TraceVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName, int flags, Tcl_VarTraceProc *proc, ClientData clientData)); EXTERN int Tcl_TraceVar2 _ANSI_ARGS_((Tcl_Interp *interp, char *part1, char *part2, int flags, Tcl_VarTraceProc *proc, ClientData clientData)); EXTERN char * Tcl_TranslateFileName _ANSI_ARGS_((Tcl_Interp *interp, char *name, Tcl_DString *bufferPtr)); EXTERN int Tcl_Ungets _ANSI_ARGS_((Tcl_Channel chan, char *str, int len, int atHead)); EXTERN void Tcl_UnlinkVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName)); EXTERN int Tcl_UnregisterChannel _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Channel chan)); EXTERN int Tcl_UnsetVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName, int flags)); EXTERN int Tcl_UnsetVar2 _ANSI_ARGS_((Tcl_Interp *interp, char *part1, char *part2, int flags)); EXTERN void Tcl_UntraceVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName, int flags, Tcl_VarTraceProc *proc, ClientData clientData)); EXTERN void Tcl_UntraceVar2 _ANSI_ARGS_((Tcl_Interp *interp, char *part1, char *part2, int flags, Tcl_VarTraceProc *proc, ClientData clientData)); EXTERN void Tcl_UpdateLinkedVar _ANSI_ARGS_((Tcl_Interp *interp, char *varName)); EXTERN int Tcl_UpVar _ANSI_ARGS_((Tcl_Interp *interp, char *frameName, char *varName, char *localName, int flags)); EXTERN int Tcl_UpVar2 _ANSI_ARGS_((Tcl_Interp *interp, char *frameName, char *part1, char *part2, char *localName, int flags)); EXTERN int Tcl_VarEval _ANSI_ARGS_( TCL_VARARGS(Tcl_Interp *,interp)); EXTERN ClientData Tcl_VarTraceInfo _ANSI_ARGS_((Tcl_Interp *interp, char *varName, int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData)); EXTERN ClientData Tcl_VarTraceInfo2 _ANSI_ARGS_((Tcl_Interp *interp, char *part1, char *part2, int flags, Tcl_VarTraceProc *procPtr, ClientData prevClientData)); EXTERN int Tcl_WaitForEvent _ANSI_ARGS_((Tcl_Time *timePtr)); EXTERN Tcl_Pid Tcl_WaitPid _ANSI_ARGS_((Tcl_Pid pid, int *statPtr, int options)); EXTERN int Tcl_Write _ANSI_ARGS_((Tcl_Channel chan, char *s, int slen)); EXTERN void Tcl_WrongNumArgs _ANSI_ARGS_((Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], char *message)); #endif /* RESOURCE_INCLUDED */ #endif /* _TCL */ 0707010006b17f000041ed00004ccf0000000a0000000333f371f700000000000000a30000000400000000000000000000001600000004reloc/SUNWtcl/8.0/lib0707010006c7ec000041ed00004ccf0000000a0000000533f371f800000000000000a30000000400000000000000000000001d00000004reloc/SUNWtcl/8.0/lib/tcl8.00707010006c7ed000081a400004ccf0000000a0000000133f371b2000022f3000000a30000000400000000000000000000002900000004reloc/SUNWtcl/8.0/lib/tcl8.0/history.tcl# history.tcl -- # # Implementation of the history command. # # SCCS: @(#) history.tcl 1.7 97/08/07 16:45:50 # # Copyright (c) 1997 Sun Microsystems, Inc. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # The tcl::history array holds the history list and # some additional bookkeeping variables. # # nextid the index used for the next history list item. # keep the max size of the history list # oldest the index of the oldest item in the history. namespace eval tcl { variable history if ![info exists history] { array set history { nextid 0 keep 20 oldest -20 } } } # history -- # # This is the main history command. See the man page for its interface. # This does argument checking and calls helper procedures in the # history namespace. proc history {args} { set len [llength $args] if {$len == 0} { return [tcl::HistInfo] } set key [lindex $args 0] set options "add, change, clear, event, info, keep, nextid, or redo" switch -glob -- $key { a* { # history add if {$len > 3} { return -code error "wrong # args: should be \"history add event ?exec?\"" } if {![string match $key* add]} { return -code error "bad option \"$key\": must be $options" } if {$len == 3} { set arg [lindex $args 2] if {! ([string match e* $arg] && [string match $arg* exec])} { return -code error "bad argument \"$arg\": should be \"exec\"" } } return [tcl::HistAdd [lindex $args 1] [lindex $args 2]] } ch* { # history change if {($len > 3) || ($len < 2)} { return -code error "wrong # args: should be \"history change newValue ?event?\"" } if {![string match $key* change]} { return -code error "bad option \"$key\": must be $options" } if {$len == 2} { set event 0 } else { set event [lindex $args 2] } return [tcl::HistChange [lindex $args 1] $event] } cl* { # history clear if {($len > 1)} { return -code error "wrong # args: should be \"history clear\"" } if {![string match $key* clear]} { return -code error "bad option \"$key\": must be $options" } return [tcl::HistClear] } e* { # history event if {$len > 2} { return -code error "wrong # args: should be \"history event ?event?\"" } if {![string match $key* event]} { return -code error "bad option \"$key\": must be $options" } if {$len == 1} { set event -1 } else { set event [lindex $args 1] } return [tcl::HistEvent $event] } i* { # history info if {$len > 2} { return -code error "wrong # args: should be \"history info ?count?\"" } if {![string match $key* info]} { return -code error "bad option \"$key\": must be $options" } return [tcl::HistInfo [lindex $args 1]] } k* { # history keep if {$len > 2} { return -code error "wrong # args: should be \"history keep ?count?\"" } if {$len == 1} { return [tcl::HistKeep] } else { set limit [lindex $args 1] if {[catch {expr $limit}] || ($limit < 0)} { return -code error "illegal keep count \"$limit\"" } return [tcl::HistKeep $limit] } } n* { # history nextid if {$len > 1} { return -code error "wrong # args: should be \"history nextid\"" } if {![string match $key* nextid]} { return -code error "bad option \"$key\": must be $options" } return [expr $tcl::history(nextid) + 1] } r* { # history redo if {$len > 2} { return -code error "wrong # args: should be \"history redo ?event?\"" } if {![string match $key* redo]} { return -code error "bad option \"$key\": must be $options" } return [tcl::HistRedo [lindex $args 1]] } default { return -code error "bad option \"$key\": must be $options" } } } # tcl::HistAdd -- # # Add an item to the history, and optionally eval it at the global scope # # Parameters: # command the command to add # exec (optional) a substring of "exec" causes the # command to be evaled. # Results: # If executing, then the results of the command are returned # # Side Effects: # Adds to the history list proc tcl::HistAdd {command {exec {}}} { variable history set i [incr history(nextid)] set history($i) $command set j [incr history(oldest)] if {[info exists history($j)]} {unset history($j)} if {[string match e* $exec]} { return [uplevel #0 $command] } else { return {} } } # tcl::HistKeep -- # # Set or query the limit on the length of the history list # # Parameters: # limit (optional) the length of the history list # # Results: # If no limit is specified, the current limit is returned # # Side Effects: # Updates history(keep) if a limit is specified proc tcl::HistKeep {{limit {}}} { variable history if {[string length $limit] == 0} { return $history(keep) } else { set oldold $history(oldest) set history(oldest) [expr $history(nextid) - $limit] for {} {$oldold <= $history(oldest)} {incr oldold} { if {[info exists history($oldold)]} {unset history($oldold)} } set history(keep) $limit } } # tcl::HistClear -- # # Erase the history list # # Parameters: # none # # Results: # none # # Side Effects: # Resets the history array, except for the keep limit proc tcl::HistClear {} { variable history set keep $history(keep) unset history array set history [list \ nextid 0 \ keep $keep \ oldest -$keep \ ] } # tcl::HistInfo -- # # Return a pretty-printed version of the history list # # Parameters: # num (optional) the length of the history list to return # # Results: # A formatted history list proc tcl::HistInfo {{num {}}} { variable history if {$num == {}} { set num [expr $history(keep) + 1] } set result {} set newline "" for {set i [expr $history(nextid) - $num + 1]} \ {$i <= $history(nextid)} {incr i} { if ![info exists history($i)] { continue } set cmd [string trimright $history($i) \ \n] regsub -all \n $cmd "\n\t" cmd append result $newline[format "%6d %s" $i $cmd] set newline \n } return $result } # tcl::HistRedo -- # # Fetch the previous or specified event, execute it, and then # replace the current history item with that event. # # Parameters: # event (optional) index of history item to redo. Defaults to -1, # which means the previous event. # # Results: # Those of the command being redone. # # Side Effects: # Replaces the current history list item with the one being redone. proc tcl::HistRedo {{event -1}} { variable history if {[string length $event] == 0} { set event -1 } set i [HistIndex $event] if {$i == $history(nextid)} { return -code error "cannot redo the current event" } set cmd $history($i) HistChange $cmd 0 uplevel #0 $cmd } # tcl::HistIndex -- # # Map from an event specifier to an index in the history list. # # Parameters: # event index of history item to redo. # If this is a positive number, it is used directly. # If it is a negative number, then it counts back to a previous # event, where -1 is the most recent event. # A string can be matched, either by being the prefix of # a command or by matching a command with string match. # # Results: # The index into history, or an error if the index didn't match. proc tcl::HistIndex {event} { variable history if {[catch {expr $event}]} { for {set i $history(nextid)} {[info exists history($i)]} {incr i -1} { if {[string match $event* $history($i)]} { return $i; } if {[string match $event $history($i)]} { return $i; } } return -co