[ltk-user] update?

Zdenek Eichler zdenek.eichler at gcajkol.cz
Thu Oct 4 14:27:38 UTC 2007


Hello Peter,
this happened on SBCL 1.0.7 recompiled with multithreading, but i  
thing more important is that this is on intel macbook.
I use standart tcl/tk aqua framework from apple.

When mouse is moving when selecting clicking on menubutton, this  
happened:
	"READER-ERROR on #<TWO-WAY-STREAM
          	         :INPUT-STREAM #<SB-SYS:FD-STREAM for "descriptor  
16" {12A11529}>
                 	  :OUTPUT-STREAM #<SB-SYS:FD-STREAM for "descriptor  
15" {12A10B71}>>:
	comma not inside a backquote"

And when I enable *debug-tk*, in listener i see this:
	l:RCNE<=
	l:SENDEVENTTOEVENTTARGET<=
	l:(SUOM MOVED)<=
	l:FAILED<=
	senddatastring [tk_messageBox -message {READER-ERROR on #<TWO-WAY- 
STREAM
         	          :INPUT-STREAM #<SB-SYS:FD-STREAM for "descriptor  
15" {1268ACA1}>
                 	  :OUTPUT-STREAM #<SB-SYS:FD-STREAM for "descriptor  
14" {1268A2E9}>>:
	comma not inside a backquote

	Do you wish to invoke the debugger?} -title {Error} -type yesno - 
icon question]
	read-data error: -50
	postponing event: (:CALLBACK "w20")
	read-data: (:DATA "no")
l	:(:CALLBACK "w20")<=
I can't find it now, but when i was repairing this error, i found  
same where that this is specific to intel tcl/tk aqua.

If you want same thing else, please write me.

Zdenek Eichler


On Oct 4, 2007, at 4:04 PM, Peter Herth wrote:

> Hello Zdenek,
>
>
> On 10/1/07, Zdenek Eichler <zdenek.eichler at gcajkol.cz> wrote:
>> Hello,
>> i made some updates, may be useful.
>> i updated this function:
>>
>> (defun read-event (&key (blocking t) (no-event-value nil))
>>    (or (pop (wish-event-queue *wish*))
>>        (if (or blocking (can-read (wish-stream *wish*)))
>>            (if (eql #\( (peek-char t (wish-stream *wish*) nil))
>>               (read-preserving-whitespace (wish-stream *wish*) nil  
>> nil)
>>               (read-line (wish-stream *wish*) nil))
>>           no-event-value)))
>>
>> Original function was not working under intel mac. Concretely made
>> error when you click on menubutton when mouse is moving. This error
>> is because of different version of tcl/tk aqua on intel and powerpc.
>
> Could you please describe, in which setup the bug appeared (which Lisp
> etc.), what exactly the bug was and how your changes fixed it?
>
>> And added same functions:
>>
>> This function allow to change menubutton state between normal, hidden
>> and disabled.
>> (defgeneric state (menu menu-label state))
>> (defmethod state ((a menu) menu-label state)
>>    (format-wish "~a entryconfigure {~a} -state {~a}" (widget-path a)
>> menu-label state))
>>
>> This function allow to change label of menubutton. Important in Apple
>> HIG.
>> (defgeneric menu-label (menu old new))
>> (defmethod menu-label ((a menu) old new)
>>    (format-wish "~a entryconfigure {~a} -label {~a}"  (widget-path
>> a)  old new))
>>
>> Allow to eneble or disable resizing window.
>> (defgeneric resizable (widget x y))
>> (defmethod resizable ((tl widget) x y)
>>    (format-wish "wm resizable ~a ~a ~a" (widget-path tl) x y)
>>    tl)
>
> I added those functions.
>
>>
>> Clear scrolled-listbox.
>> (defmethod listbox-clear ((l scrolled-listbox))
>>    (listbox-clear (listbox l))
>>    l)
>
> There is a fundamental problem with all the scrolled-* widgets. They
> wrap around a base widget but either we define all methods on the
> wrapped widget as delegates in the scrolled-* widget - or which I
> prefer, let the user just access the wrapped widget and call methods
> on those.
>
> Thanks for your additions,
>
> Peter
> _______________________________________________
> ltk-user site list
> ltk-user at common-lisp.net
> http://common-lisp.net/mailman/listinfo/ltk-user




More information about the ltk-user mailing list