On 2/6/06, Kenny Tilton ktilton@nyc.rr.com wrote:
Thomas F. Burdick wrote:
The internal interface to callbacks is: create-name, add-callback, remove-callback, and callback. Contrary to what the lambda-list of what the last three would make you believe, callbacks are named by strings, not symbols. You should get the name for a new callback from create-name. I'll be fixing that in subversion if Peter doesn't beat me to it.
Oh. Pity. Symbols are Good Things. I see no problem with symbols and wish. Why complicate things with unnecessary rules (Thou shalt use strings.)
I wasn't trying to enumerate a rule, just saying what the internal interface inside Ltk is. The reason for that is that foo::bar is Tcl syntax for its namespacing system, so if you want to send an arbitrary identifier from Lisp to Tcl and back, a string is the easiest to do right.
Actually, I think LTk needs to evolve a little in regard to communication with wish. I understand the desire to make things easy for casual users, but I do not think that should extend to defining "an internal interface", with strictures on communication with wish.
Hmm, I really meant more "conventions used within Ltk" rather than "internal interface". FWIW, the communication with wish could use an overhaul to make it a little more robust. That said, there shouldn't be anything you can't do with format-wish, read-data, senddata on the Tk side, and the new hook Peter put into the event-handling mechanism. At least, that's sufficient for everything Ltk does itself :-)