Error processing request
Parameters
CONTENT_LENGTH | 0 |
REQUEST_METHOD | GET |
REQUEST_URI | /revision/bindtags?V=12 |
QUERY_STRING | V=12 |
CONTENT_TYPE | |
DOCUMENT_URI | /revision/bindtags |
DOCUMENT_ROOT | /var/www/nikit/nikit/nginx/../docroot |
SCGI | 1 |
SERVER_PROTOCOL | HTTP/1.1 |
HTTPS | on |
REMOTE_ADDR | 172.71.194.62 |
REMOTE_PORT | 13298 |
SERVER_PORT | 4443 |
SERVER_NAME | wiki.tcl-lang.org |
HTTP_HOST | wiki.tcl-lang.org |
HTTP_CONNECTION | Keep-Alive |
HTTP_ACCEPT_ENCODING | gzip |
HTTP_X_FORWARDED_FOR | 3.238.180.174 |
HTTP_CF_RAY | 8338092a5c1c060a-IAD |
HTTP_X_FORWARDED_PROTO | https |
HTTP_CF_VISITOR | {"scheme":"https"} |
HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
HTTP_IF_MODIFIED_SINCE | Mon, 28 Nov 2022 21:39:57 GMT |
HTTP_CF_CONNECTING_IP | 3.238.180.174 |
HTTP_CDN_LOOP | cloudflare |
HTTP_CF_IPCOUNTRY | US |
Body
Error
Unknow state transition: LINE -> END
-code
1
-level
0
-errorstack
INNER {returnImm {Unknow state transition: LINE -> END} {}} CALL {my render_wikit bindtags {bindtags - Determine which [binding]s apply to a [window], and order of evaluation
http://www.purl.org/tcl/home/man/tcl8.4/TkCmd/bindtags.htm
[http://www.tcl.tk/man/tcl/TkCmd/bindtags.htm%|%man page]:
Used to define the binding hierarchy for [Widget]s. See [A tiny input manager] for a usage example.
[RS] gave a great description of bindtags: he called them "bundles of bindings" or something to that effect. Widgets have a list of such "bundles" associated with them. Every time an event happens over that widget, each "bundle" is checked in turn, and if there is a binding matching the event, it is fired. If the binding does a [break] no more "bundles" are considered. Otherwise, each additional bundle goes through the same processing in turn.
** Examples **
By default, each widget has a set of bindtags that includes the specific widget, the widget class, the toplevel window for that widget, and the special word "all". So, for example, to attach a binding to all widgets you can associate the binding with the tag "all" rather than a specific widget.
<<discussion>>
Used to define the binding hierarchy for [Widget]s.
'''Uppercase entry''': Here is a little example that diverts lowercase letter keys to their uppercase variants (other characters come through unharmed) - for the "; break" bit I had to quote the binding body, instead of listifying it as one normally should:
[RS] gave a great description of bindtags: he called them "bundles of bindings"
foreach i {a b c d e f g h i j k l m n o p q r s t u v w x y z} {
bind Upcase $i "event generate %W [string toupper $i]; break"
} ;# RS
# Usage example, associate the bindtags to a widget:
pack [entry .e]
bindtags .e [concat Upcase [bindtags .e]]
By default, each widget has a set of bindtags that includes the specific
----
** Example: Uppercase Entry **
Prettify this chat conversation:
Here is a little example that diverts lowercase letter keys to their uppercase
'''vr:''' WRT bindtags, can you explain how to preserve the original code bound to that event using bindtags?
======
'''vr:''' also, why should I be binding to the buttonrelease event?
'''suchenwi:''' Simply: if you have custom bindings, bind them to a bindtag, not a widget name; place that bindtag (with the '''bindtags''' command) in the binding sequence of the widget(s) in question.
"... [KHIM] is a good example. Any widget that wants KHIM's services can add
'''suchenwi:''' eval bindtags $myWidget myBindings [[bindtags $mywidget]]
'''suchenwi:''' puts everything that you bind to myBindings before all other bindings of myWidget (but they are still executed, if yours doesn't [break])
----
"... [KHIM] is a good example. Any widget that wants KHIM's services can add 'khim' to its list of bindtags, and get a whole lot of <Key> bindings
bindtags $text [linsert [bindtags $text] 1 khim]
----
In March, 2006 an article on bindtags appears on tclscripting.com [http://www.tclscripting.com/articles/mar06/article2.html]
<<discussion>>
----
!!!!!!
[Tk syntax help] -
[Arts and Crafts of Tcl-Tk Programming] -
%| [Category Command] | [Category Introspection] |%
!!!!!!} regexp2} CALL {my render bindtags {bindtags - Determine which [binding]s apply to a [window], and order of evaluation
http://www.purl.org/tcl/home/man/tcl8.4/TkCmd/bindtags.htm
[http://www.tcl.tk/man/tcl/TkCmd/bindtags.htm%|%man page]:
Used to define the binding hierarchy for [Widget]s. See [A tiny input manager] for a usage example.
[RS] gave a great description of bindtags: he called them "bundles of bindings" or something to that effect. Widgets have a list of such "bundles" associated with them. Every time an event happens over that widget, each "bundle" is checked in turn, and if there is a binding matching the event, it is fired. If the binding does a [break] no more "bundles" are considered. Otherwise, each additional bundle goes through the same processing in turn.
** Examples **
By default, each widget has a set of bindtags that includes the specific widget, the widget class, the toplevel window for that widget, and the special word "all". So, for example, to attach a binding to all widgets you can associate the binding with the tag "all" rather than a specific widget.
<<discussion>>
Used to define the binding hierarchy for [Widget]s.
'''Uppercase entry''': Here is a little example that diverts lowercase letter keys to their uppercase variants (other characters come through unharmed) - for the "; break" bit I had to quote the binding body, instead of listifying it as one normally should:
[RS] gave a great description of bindtags: he called them "bundles of bindings"
foreach i {a b c d e f g h i j k l m n o p q r s t u v w x y z} {
bind Upcase $i "event generate %W [string toupper $i]; break"
} ;# RS
# Usage example, associate the bindtags to a widget:
pack [entry .e]
bindtags .e [concat Upcase [bindtags .e]]
By default, each widget has a set of bindtags that includes the specific
----
** Example: Uppercase Entry **
Prettify this chat conversation:
Here is a little example that diverts lowercase letter keys to their uppercase
'''vr:''' WRT bindtags, can you explain how to preserve the original code bound to that event using bindtags?
======
'''vr:''' also, why should I be binding to the buttonrelease event?
'''suchenwi:''' Simply: if you have custom bindings, bind them to a bindtag, not a widget name; place that bindtag (with the '''bindtags''' command) in the binding sequence of the widget(s) in question.
"... [KHIM] is a good example. Any widget that wants KHIM's services can add
'''suchenwi:''' eval bindtags $myWidget myBindings [[bindtags $mywidget]]
'''suchenwi:''' puts everything that you bind to myBindings before all other bindings of myWidget (but they are still executed, if yours doesn't [break])
----
"... [KHIM] is a good example. Any widget that wants KHIM's services can add 'khim' to its list of bindtags, and get a whole lot of <Key> bindings
bindtags $text [linsert [bindtags $text] 1 khim]
----
In March, 2006 an article on bindtags appears on tclscripting.com [http://www.tclscripting.com/articles/mar06/article2.html]
<<discussion>>
----
!!!!!!
[Tk syntax help] -
[Arts and Crafts of Tcl-Tk Programming] -
%| [Category Command] | [Category Introspection] |%
!!!!!!}} CALL {my revision bindtags} CALL {::oo::Obj35815802 process revision/bindtags} CALL {::oo::Obj35815800 process}
-errorcode
NONE
-errorinfo
Unknow state transition: LINE -> END
while executing
"error $msg"
(class "::Wiki" method "render_wikit" line 6)
invoked from within
"my render_$default_markup $N $C $mkup_rendering_engine"
(class "::Wiki" method "render" line 8)
invoked from within
"my render $name $C"
(class "::Wiki" method "revision" line 31)
invoked from within
"my revision $page"
(class "::Wiki" method "process" line 51)
invoked from within
"$server process [string trim $uri /]"
-errorline
4