Re: A problem to add binding to entry widget

From: Erick Gallesio <>
Date: Wed, 26 Apr 1995 09:23:26 +0100

> Fred Xia writes
> There is a problem in add a binding to the entry for the <KeyPress> event.
> I use the add-binding routine suggested by the author as below:
> Say I have a entry widget .a and I added a bind as:
> (add-binding '.a "<KeyPress>" '(format #t "AAA") :after)
> The binding is fine except key '\'. When I type '\', stk gives me error
> of "end of file inside list". However, without adding the binding, key
> '\' is as normal as any other keys.

This works fine for me with the example you give. However, you could have
problem with characters '\' and '"' if you use the %A in a string with the
body of a binding. For instance
        (add-binding '.a "<Any-Key>"
                        '(format #t "\nYou have typed %A") :after)

will have a problem with those chars, since substitution is done by Tk before
giving the binding to Scheme for evaluation. In particular, if you type
a '\' the binding will be
        (format #t "\nYou have typed \")
which is incorrect. A solution, for now, would be to add a binding
for <Key-quotedbl> and <Key-backslash>.
Have a look in Lib/entry.stk; you will see that those chars are managed

Hope this helps.

                -- Erick
Received on Wed Apr 26 1995 - 09:23:27 CEST

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST