At 08:06 PM 11/27/01 +0900, Stephen J. Turnbull wrote:
I see how it works now. A hack, uncommented.
`widget-choose' uses 'get-popup-menu-response', which does _not_
execute the callback. Instead, it returns the callback as a pair (fn,
arg), and because the arg is a list = ("string"), fn <- 'eval, and arg
<- ("string"). `widget-choose' throws away fn, and grabs the car out
of arg.
I still don't get it. get-popup-menu-response creates a popup menu when
when selected enqueues a misc ue with fn == eval and data == '("first"),
fn is applied to data all hell breaks loose. If I put debug code in
menubar-msw.c I can see this happening.
So you're going to have to figure out how that thing is getting
executed, because it's not happenning in Lisp, and evidently it
doesn't happen on X.
I still don't see why it doesn't happen on X. Also, whether it works under
X or not seems irrelevant, the implementation is relying on some
undocumented vagary of the runtime. Seems bogus to me.
andy