TclPro User’s Guide - Tcl Developer Site

2y ago
107 Views
6 Downloads
1.49 MB
180 Pages
Last View : 2m ago
Last Download : 2m ago
Upload by : Warren Adams
Transcription

TclPro User’s Guide Scriptics CorporationVersion 1.3

COPYRIGHTCopyright 1998, 1999 Scriptics Corporation. All rights reserved.Information in this document is subject to change without notice. No part of this publicationmay be reproduced, stored in a retrieval system, or transmitted in any form or by any meanselectronic or mechanical, including but not limited to photocopying and recorded for anypurpose other than the purchaser’s personal use, without the express written permission ofthe Scriptics Corporation.Scriptics Corporation2593 Coast AvenueSecond FloorMountain View, CA 94043U.S.Ahttp://www.scriptics.comTRADEMARKSTclPro and Scriptics are trademarks of the Scriptics Corporation.Other products and company names not owned by the Scriptics Corporation that appear inthis manual may be trademarks of their respective owners.ACKNOWLEDGEMENTSMichael McLennan is the primary developer of [incr Tcl] and [incr Tk]. Jim Ingham and LeeBernhard handled the Macintosh and Windows ports of [incr Tcl] and [incr Tk]. MarkUlferts is the primary developer of [incr Widgets], with other contributions from SueYockey, John Sigler, Bill Scott, Alfredo Jahn, Bret Schuhmacher, Tako Schotanus, and KrisRaney. Mark Diekhans and Karl Lehenbauer are the primary developers of Extended Tcl(TclX). Don Libes is the primary developer of Expect.TclPro Wrapper incorporates compression code from the Info-ZIP group. There are no extracharges or costs in TclPro due to the use of this code, and the original compression sourcesare freely available from http://www.cdrom.com/pub/infozip orftp://ftp.cdrom.com/pub/infozip.NOTE: TclPro is packaged on this CD using Info-ZIP’s compression utility. The installationprogram uses UnZip to read zip files from the CD. Info-ZIP’s software (Zip, UnZip, andrelated utilities) is free and can be obtained as source code or executables from InternetWWW sites including http://www.cdrom.com/pub/infozip.

Contents Chapter 1Introduction to TclPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Installing TclPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Installing TclPro from CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Installing TclPro from the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Installing Adobe Acrobat Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Entering TclPro License Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3About the TclPro Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4TclPro Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Finding Information about Tcl/Tk on the Web. . . . . . . . . . . . . . . . . . . . . 4Tcl/Tk Training. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Chapter 2TclPro Interpreters and Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7TclPro Interpreters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Running the TclPro Interpreters on Unix . . . . . . . . . . . . . . . . . . . . . . . . . 7Running the TclPro Interpreters on Windows . . . . . . . . . . . . . . . . . . . . . 8Extensions Incorporated in TclPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8[incr Tcl] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Expect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Extended Tcl (TclX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Chapter 3TclPro Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Overview of TclPro Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Supported Tcl Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Starting TclPro Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12The TclPro Debugger Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 12The Tool Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 i

The Stack Display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .The Variable Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .The Code Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .The Result Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Managing Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Creating a New Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Opening an Existing Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Saving a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Closing a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing Project Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing Project Application Settings. . . . . . . . . . . . . . . . . . . . . . .Changing Project Instrumentation Settings . . . . . . . . . . . . . . . . . . .Changing Project Error Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . .Setting Default Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Opening a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Controlling your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Running Code with TclPro Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . .Run to Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Stepping through Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Stepping In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Stepping Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Stepping Over . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Stepping to Result. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Interrupting the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Killing the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Restarting the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Quitting TclPro Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Line-based breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Variable Breakpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Manipulating Breakpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Viewing Breakpoints in the Breakpoints Window . . . . . . . . . . . . . . . . .Navigating Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Going to a Specified Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using the Find Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Finding Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using the Window Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Displaying Code and Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ii 33343434343535373737383939

Watching Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Displaying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Manipulating Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Parsing Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Runtime Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Setting Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Appearance Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Window Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Startup and Exit Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Browser Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .About TclPro Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Debugging Remote, Embedded, and CGI Applications . . . . . . . . . . . . . . . .Modifying a Tcl Script for Remote Debugging . . . . . . . . . . . . . . . . . . .Remote Debugging Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . .Creating a “Wrapper” Script for Remote Debugging . . . . . . . . . . .Modifying an Existing Script for Remote Debugging . . . . . . . . . . .Creating a Remote Debugging Project . . . . . . . . . . . . . . . . . . . . . . . . . .Launching your Remote Application . . . . . . . . . . . . . . . . . . . . . . . . . . .Viewing Connection Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using Custom Tcl Interpreters with TclPro Debugger . . . . . . . . . . . . . . . . .Chapter 4404142434444454547484950515151535354545456TclPro Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Supported Tcl Versions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Using TclPro Checker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60One-Pass and Two-Pass Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60TclPro Checker Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Controlling Feedback on Errors and Warnings . . . . . . . . . . . . . . . . . . . 62Parsing Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Syntax Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Platform Portability Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Suggestion for Upgrading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Performance Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Usage Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Warning and Error Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Suppressing Specific Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Examples of Output from TclPro Checker . . . . . . . . . . . . . . . . . . . . . . . . . . 65Specifying Verbose Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 iii

Specifying Quiet Feedback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Specifying Use of Older Versions . . . . . . . . . . . . . . . . . . . . . . . . . .Error Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Error and Warning Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Checking for All Warnings and Errors. . . . . . . . . . . . . . . . . . . . . . .iv 6768686969Chapter 5TclPro Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Supported Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Compiling your code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Bytecode Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Prepending Prefix Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Changes in Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74Example 1: Cloning Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75What is and isn’t Compiled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Example 2: Procedures used with Namespace . . . . . . . . . . . . . . . . . . . . 77Compiler Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Creating Package Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Distributing Bytecode Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Chapter 6TclPro Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81How the Internal File Archive Works in a Wrapped Application. . . . . . . . . 82Wrapping an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Wrapping Tcl Scripts and Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Specifying the Tcl Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Specifying the Startup Tcl Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85Passing Arguments to the Startup Tcl Script . . . . . . . . . . . . . . . . . . . . . 86Specifying the Name of a Wrapped Application . . . . . . . . . . . . . . . . . . 86Determining Path References in Wrapped Applications . . . . . . . . . . . . 86Specifying TclPro Wrapper Command Line Arguments Using StandardInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Specifying Code to Execute at Application Startup . . . . . . . . . . . . . . . . 88Wrapping Libraries and Packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Wrapping Libraries of Tcl Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . 89Wrapping Binary Shared Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . 89Wrapping Tcl Script Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Wrapping Packages Containing Binary Shared Libraries . . . . . . . . 90

Specifying a Temporary Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Getting Detailed Wrapping Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 91Static and Dynamic Linking with Wrapped Applications . . . . . . . . . . . . . . 91Deciding Whether Static or Dynamic Linking is More Appropriate . . . 92Creating and Distributing Dynamically-Linked Wrapped Applications 92Wrapping Applications with a Custom Interpreter or Custom InitializationLibraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Specifying a Custom Interpreter or Custom Initialization Files. . . . . . . 96Creating a Statically-Linked Wrapped Application with a CustomInterpreter and Standard Initialization Files . . . . . . . . . . . . . . . . . . . 97Creating a Statically-Linked Wrapped Application with a StandardInterpreter and Custom Initialization Files. . . . . . . . . . . . . . . . . . . . 97Creating a Statically-Linked Wrapped Application with a CustomInterpreter and Custom Initialization Files. . . . . . . . . . . . . . . . . . . . 98Creating a Dynamically-Linked Wrapped Application with a CustomInterpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Defining New -uses Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Preparing an Application for Wrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Detecting When an Application Is Wrapped . . . . . . . . . . . . . . . . . . . . 102Modifying Custom Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Changing File References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Accessing Unwrapped Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Accessing Files from a Shared Directory. . . . . . . . . . . . . . . . . . . . 103Accessing Wrapped Files Relative to a Script’s Directory . . . . . . 103Auto-Loading Wrapped Tcl Script Libraries . . . . . . . . . . . . . . . . . 104Changing the Windows Icon for a Wrapped Application. . . . . . . . . . . . . . 104Chapter 7Creating Custom Interpreters with TclPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Overview of the TclPro Development Environment . . . . . . . . . . . . . . . . . 107Locations of the Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Debug and Non-Debug Libraries for Windows . . . . . . . . . . . . . . . . . . 108The Sample Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Creating Regular Tcl Interpreters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Creating Statically-Linked Interpreters . . . . . . . . . . . . . . . . . . . . . . . . 109Statically Linking Windows Interpreters . . . . . . . . . . . . . . . . . . . . 110Statically Linking Unix Interpreters. . . . . . . . . . . . . . . . . . . . . . . . 112Creating Dynamically-Linked Interpreters. . . . . . . . . . . . . . . . . . . . . . 113Dynamically Linking Windows Interpreters . . . . . . . . . . . . . . . . . 113 v

Dynamically Linking Unix Interpreters . . . . . . . . . . . . . . . . . . . . .Creating Base Applications for TclPro Wrapper . . . . . . . . . . . . . . . . . . . .Linking Windows Base Applications . . . . . . . . . . . . . . . . . . . . . . . . . .Linking Unix Base Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Modifying the Base Application Default Main Files . . . . . . . . . . . . . .vi 114115117118118Appendix AScriptics License Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121How Licensing Works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121How TclPro Applications Obtain Licenses. . . . . . . . . . . . . . . . . . . . . . 121How Scriptics License Server Manages Shared Network Licenses . . . 122License Overdraft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Scriptics License Server Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Installing the Scriptics License Server Software . . . . . . . . . . . . . . . . . 123Setting the Initial Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Scriptics License Server Installed Files . . . . . . . . . . . . . . . . . . . . . . . . 124Scriptics License Server Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . 126Managing Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Revoking Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Changing Email Notifications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Setting Date Formats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Viewing Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Appendix BTclPro Checker Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129TclPro Checker Message Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133argAfterArgs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133argsNotDefault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133badBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133badByteNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134badColorFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134badColormap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134badCursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135badEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135badFloat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136badGeometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136badGridMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136badGridRel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137badIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137badInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

badKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badLIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badMemberName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badPalette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badPixel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badPriority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badProfileOpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badScreen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badSticky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badTab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badTabJust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badTlibFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badTraceOp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badVirtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badVisual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badVisualDepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .badWholeNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .classNumArgs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .classOnly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .errBadBrktExp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .mismatchOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .noEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .noExpr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .noScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .noSwitchArg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .noVirtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .nonDefAfterDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .nonPortBitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .nonPortChannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .nonPortCmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .nonPortColor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146147147147147 vii

nonPortCursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147nonPortFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148nonPortKeysym. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148nonPortOption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148nonPortVar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148nsOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149nsOrClassOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149numArgs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149obsoleteCmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149optionRequired . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150parse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150procNumArgs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150procOutScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151procProtected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151serverAndPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151socketAsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151socketServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152tooManyFieldArg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152warnAmbiguous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152warnDeprecated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152warnEscapeCharacter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153warnExportPat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153warnExpr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153warnExtraClose. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154warnIfKeyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154warnNamespacePat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154warnNotSpecial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155warnPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155warnQuoteChar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155warnRedefine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156warnReserved . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156warnUndefProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156warnUnsupported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157warnVarRef. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157warnY2K. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157winAlpha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157winBeginDot . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tcl application. TclPro Wrapper makes it easy to distribute Tcl applications to your users and manage upgrades in Tcl versions. Tcl/Tk 8.2 The latest version of Tcl/Tk is pre-compiled and ready for use. Bundled extensions Several popular Tcl ext

Related Documents:

any Tcl built-in command. See Appendix A, “Basics of Tcl,” for information on Tcl syntax and on the extensions that have been added to the Tcl interpreter. Using Hierarchy Separators in Tcl Commands Many Tcl commands take an object name as an argument. The path

Tcl interpreters from the C code and start feeding them Tcl commands to evaluate. It is also possible to de ne new Tcl commands that when evaluated by the Tcl interpreter call C functions de ned by the user. The tcltklibrary sets up the event loop and initializes a Tcl interpreter

Tcl lists, which share the syntax rules of Tcl com-mands, are explained in Chapter 5. Control structure like loops and if statements are described in Chapter 6. Chapter 7 describes Tcl procedures, which are new commands that you write in Tcl. Chapter 8 discusses Tcl arrays. Arrays are the mo

The TCL series is used for service purposes and for different industrial and laboratory tasks. For example, thermometers, temperature switches/thermostats, resistance thermometers and thermo-elements can be directly connected and checked. Versions: The TCL series of calibr

Section 2. Tcl/Tk basics Origins of Tcl/Tk Tcl stands for Tool Control Language. Tk is the Graphical Toolkit extension of Tcl, providing a variety of standard GUI interface items to facilitate rapid, high-level application development. Development on Tcl/Tk, pronounced "tickle tee

Tcl Developer Xchange. See this tutorial for an introductory tutorial to the Tcl programming language. Also see the Tclers' Wiki located here for some example scripts. In this document you will see some examples of Tcl commands and Tcl scripts, and the results that are returned by theVivado Design Suite when these commands are run. The commands and

TCL / 16L 701 Kingshill Place, Carson, CA 90746 P: (310) 341-2037 nlslighting.com TCL LUMEN CHART PART NUMBER T2 LM/W BUG T3 LM/W BUG T4 LM/W BUG T5 LM/W BUG WATTS TCL-16L-175-30K 774 77 765 77 799 80 808 81 10 TCL-16L-175-40K 799 80 791 79 825 83 833 83 10

November 2014 HR: Getting smart about agile working WORK WORKFORCE WORKPLACE in association with . Championing better work and working lives The CIPD’s purpose is to champion better work and working lives by improving practices in people and organisation development, for the benefit of individuals, businesses, economies and society. Our research work plays a critical role – providing the .