From ecd6aa017ae3551434c1b7e9b9b881a80a2d26a3 Mon Sep 17 00:00:00 2001 From: Jeff Hobbs Date: Thu, 21 Jun 2007 23:07:16 +0000 Subject: [PATCH] * docs/tkcon.1.man, docs/tkcon.n.man, docs/tkconrc.5.man (new): * docs/dump.n.man, docs/observe.n.man, docs/idebug.n.man (new): * index.html, docs/demopic.gif (removed), docs/demopic.png (new): * docs/plugin.html, docs/start.html, docs/tkcon.html: Updated docs and added doctools equivalents courtesy Sergei Golovan * docs/style.css: updated stylesheet --- ChangeLog | 9 ++ docs/demopic.gif | Bin 18619 -> 0 bytes docs/demopic.png | Bin 0 -> 42253 bytes docs/dump.n.man | 60 ++++++++ docs/idebug.n.man | 83 ++++++++++ docs/observe.n.man | 55 +++++++ docs/plugin.html | 2 +- docs/start.html | 5 + docs/style.css | 40 ++--- docs/tkcon.1.man | 369 +++++++++++++++++++++++++++++++++++++++++++++ docs/tkcon.html | 4 + docs/tkcon.n.man | 135 +++++++++++++++++ docs/tkconrc.5.man | 249 ++++++++++++++++++++++++++++++ index.html | 13 +- 14 files changed, 984 insertions(+), 40 deletions(-) delete mode 100755 docs/demopic.gif create mode 100644 docs/demopic.png create mode 100644 docs/dump.n.man create mode 100644 docs/idebug.n.man create mode 100644 docs/observe.n.man create mode 100644 docs/tkcon.1.man create mode 100644 docs/tkcon.n.man create mode 100644 docs/tkconrc.5.man diff --git a/ChangeLog b/ChangeLog index e1767ca..5a9340b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-06-21 Jeff Hobbs + + * docs/tkcon.1.man, docs/tkcon.n.man, docs/tkconrc.5.man (new): + * docs/dump.n.man, docs/observe.n.man, docs/idebug.n.man (new): + * index.html, docs/demopic.gif (removed), docs/demopic.png (new): + * docs/plugin.html, docs/start.html, docs/tkcon.html: + Updated docs and added doctools equivalents courtesy Sergei Golovan + * docs/style.css: updated stylesheet + 2007-04-04 Jeff Hobbs *** BUMPED TO VERSION 2.5 *** diff --git a/docs/demopic.gif b/docs/demopic.gif deleted file mode 100755 index 83a9e3a4e33dcca2da1c992d12eddbf38d986b33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18619 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 SS&C8A(KM$z-D&DV002A2`|yhZ diff --git a/docs/demopic.png b/docs/demopic.png new file mode 100644 index 0000000000000000000000000000000000000000..799c09c27cc93cb84456f985491531e8742b842f GIT binary patch literal 42253 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] +[moddesc {TkCon}] +[titledesc {Dump information about Tcl interpreter in TkCon}] + +[description] +[para] +The dump command provides a way for the user to spit out state +information about the interpreter in a Tcl readable +(and human readable) form. +It takes the general form: + +[list_begin definitions] + +[call [cmd dump] [arg method]\ + [opt [arg -nocomplain]]\ + [opt [arg "-filter pattern"]]\ + [opt [cmd --]]\ + [arg pattern]\ + [opt [arg "pattern ..."]]] + +[list_end] + +[para] +The patterns represent glob-style patterns (as in [cmd string] [arg {match pattern $str}]). +[arg -nocomplain] will prevent dump from throwing an error if no items +matched the pattern. +[arg -filter] is interpreted as appropriate for the method. +The various methods are: + +[list_begin definitions] + +[lst_item "[cmd dump] [arg command] [arg args]"] +Outputs one or more commands. + +[lst_item "[cmd dump] [arg procedure] [arg args]"] +Outputs one or more procs in sourceable form. + +[lst_item "[cmd dump] [arg variable] [arg args]"] +Outputs the values of variables in sourceable form. +Recognizes nested arrays. +The -filter pattern is used as to filter array element +names and is interepreted as a glob pattern (defaults to {*}). +It is passed down for nested arrays. + +[lst_item "[cmd dump] [arg widget] [arg args]"] +Outputs one or more widgets by giving their configuration options. +The -filter pattern is used as to filter the config options and +is interpreted as a case insensitive regexp pattern (defaults to {.*}). + +[list_end] + +[see_also [cmd tkcon](1)] +[see_also [cmd tkconrc](5) [cmd tkcon](n) [cmd idebug](n)] +[see_also [cmd observe](n)] +[keywords Tk console dump] + +[manpage_end] + diff --git a/docs/idebug.n.man b/docs/idebug.n.man new file mode 100644 index 0000000..1547081 --- /dev/null +++ b/docs/idebug.n.man @@ -0,0 +1,83 @@ +[comment {-*- tcl -*- idebug manpage}] +[manpage_begin idebug n 2.5] +[copyright {Jeffrey Hobbs }] +[moddesc {TkCon}] +[titledesc {Interactive debugging environment in TkCon}] + +[description] +[para] +The idebug command provides an interactive debugging +environment for procedures via TkCon. +You can place idebug break commands into your procedure +to create breakpoints. +It will pop up the TkCon console and put you into a +"debugging" mode. +The [arg body], [arg show] & [arg trace] methods are +intended for internal use only. + +This procedure works for minimal debugging sessions. +Comments are encouraged. + +[list_begin definitions] + +[call [cmd idebug] [arg body] [opt [arg level]]] +Prints out the body of the command (if it is a procedure) +at the specified level. +level defaults to the current level. + +[call [cmd idebug] [arg break] [opt [arg id]]] +Creates a breakpoint within a procedure. +This will only trigger if idebug is on and the [arg id] matches the pattern. +If so, TkCon will pop to the front with the prompt changed +to an idebug prompt. +You are given the basic ability to observe the call stack +an query/set variables or execute Tcl commands at any level. +A separate history is maintained in debugging mode. +To see the special commands available at the debug prompt, +type ? and hit return. + +[call [cmd idebug] \{[arg "[arg echo] [opt [arg id]]"]\} [opt [arg args]]] +Behaves just like [cmd echo], but only triggers when idebug is on. +You can specify an optional [arg id] to further restrict triggering. +If no id is specified, it defaults to the name of the command +in which the call was made. + +[call [cmd idebug] [arg id] [opt [arg id]]] +Query or set the idebug id. +This id is used by other idebug methods to determine if +they should trigger or not. +The idebug id can be a glob pattern and defaults to *. + +[call [cmd idebug] [arg off]] +Turns idebug off. + +[call [cmd idebug] [arg on] [opt [arg id]]] +Turns idebug on. +If [arg id] is specified, it sets the id to it. + +[call [cmd idebug] \{[arg "[arg puts] [opt [arg id]]"]\} [arg args]] +Behaves just like [cmd puts], but only triggers when idebug is on. +You can specify an optional [arg id] to further restrict triggering. +If no id is specified, it defaults to the name of the +command in which the call was made. + +[call [cmd idebug] [arg show] [arg type] [opt [arg level]] [opt [arg VERBOSE]]] +type must be one of vars, locals or globals. +This method will output the variables/locals/globals present +in a particular level. +If [arg VERBOSE] is added, then it actually [cmd dump]s out the values as well. +level defaults to the level in which this method was called. + +[call [cmd idebug] [arg trace] [opt [arg level]]] +Prints out the stack trace from the specified level up to the top level. +level defaults to the current level. + +[list_end] + +[see_also [cmd tkcon](1)] +[see_also [cmd tkconrc](5) [cmd tkcon](n) [cmd dump](n)] +[see_also [cmd observe](n)] +[keywords Tk console debug] + +[manpage_end] + diff --git a/docs/observe.n.man b/docs/observe.n.man new file mode 100644 index 0000000..d9630ba --- /dev/null +++ b/docs/observe.n.man @@ -0,0 +1,55 @@ +[comment {-*- tcl -*- observe manpage}] +[manpage_begin observe n 2.5] +[copyright {Jeffrey Hobbs }] +[moddesc {TkCon}] +[titledesc {Runtime debugging output in TkCon}] + +[description] +[para] +This command provides runtime debugging output for variables +and commands without the need to edit your code. +For variables, the underlying mechanism uses [cmd trace] and [cmd dump] var. +For commands, it renames the observed procedure and uses a +special wrapper procedure. +WARNING: using this procedure after checkpointing state will +result in major problems if you clean state because the +renamed (true) commands will be lost. + +[para] +This procedure is experimental. +Comments are encouraged. + +[list_begin definitions] + +[call [cmd observe] [arg command] [arg cmdname] [opt [arg maxlevel]]] +This will create a wrapper command which prints out (using [cmd dump]) +the call stack to the console. +maxlevel represents the maximum number of levels of the call +stack which will be printed (defaults to 4). + +[call [cmd observe] [arg cdelete] [arg cmdname]] +Removes the wrapper around an observed command. + +[call [cmd observe] [arg cinfo] [arg cmdname]] +Prints out useless info. + +[call [cmd observe] [arg variable] [arg varname] [arg operation] [opt [arg args]]] +Currently a wrapper around trace that uses [cmd dump] to print out +the value of the named variable whenever the specified +operation on that variable occurs (must be [arg read], [arg write] or [arg unset]). + +[call [cmd observe] [arg vdelete] [arg varname] [arg operation]] +Deletes the trace wrapper around the named variable. + +[call [cmd observe] [arg vinfo] [arg varname]] +Prints out trace info about the named variable. + +[list_end] + +[see_also [cmd tkcon](1)] +[see_also [cmd tkconrc](5) [cmd tkcon](n) [cmd dump](n)] +[see_also [cmd idebug](n)] +[keywords Tk console debug] + +[manpage_end] + diff --git a/docs/plugin.html b/docs/plugin.html index 7747cd3..1cc1896 100755 --- a/docs/plugin.html +++ b/docs/plugin.html @@ -71,7 +71,7 @@ debugging tclets. The demo below uses the CVS head of tkcon.

Have a look at some of the features: (culled from the -tkcon documentation) +tkcon documentation)
  • Variable / Path / Procedure Name Expansion. Type in set tc at the prompt. Hit <Control-Shift-V>. diff --git a/docs/start.html b/docs/start.html index 30f604c..901f326 100755 --- a/docs/start.html +++ b/docs/start.html @@ -270,6 +270,11 @@ auto_path when the after the resource file is loaded in).
    A tcl script to execute in the main interpreter after the slave interpreter is created and the user interface is initialized. +
    ::tkcon::OPT(maxlinelen) +
    A number that specifies the limit of long result lines. +True result is still captured in $_ (and 'puts $_' works). +Defaults to 0 (unlimited). +
    ::tkcon::OPT(maxmenu)
    A number that specifies the maximum number of packages to show vertically in the Interp->Packages menu before breaking into diff --git a/docs/style.css b/docs/style.css index d9ea817..b9aefa3 100644 --- a/docs/style.css +++ b/docs/style.css @@ -1,57 +1,35 @@