Andy Piper wrote:
At 11:58 PM 4/5/00 -0700, Ben Wing wrote:
>the problem here is andy's event code.
>
>andy, i'm not sure i really believe that you need to cycle the event code
to get
>widgets to redisplay, but in any case you should
Why do you find this hard to believe. Surely its obvious that Xt will not
display anything unless given an opportunity to. When you are executing
lisp code this opportunity does not exist except through programmer provision.
redisplay != event processing. it's not obvious that there's no function you can
call in xt to force redisplay. i'm fairly sure this is not the case with
windows. obviously the lisp code has to call a primitive to do this, but this
primitive should not have anything to do with the event model -- that's an
implementation detail.
>(1) hide the logic to do this in the c code; the lisp code should do nothing
>other than call (redisplay widget)
>(2) make sure your event-cycling code processes *NO* events at all. this
>includes non-user events. queue the events instead.
Agree.
>in other words, dispatch-non-command-events must go, and i am proposing a
Agree.
>general function (redisplay OBJECT) to replace the existing ad-hoc functions.
Not sure about the semantics of this. You are not redisplaying a widget
per-se you are simply doing a blocking next-event so that the Xt event loop
processes X events for things other than the XEmacs widget.
you are confusing interface with implementation. the interface is "make the
widget be updated/redisplayed".
andy
--------------------------------------------------------------
Dr Andy Piper
Principal Consultant, BEA Systems Ltd
--
Ben
In order to save my hands, I am cutting back on my mail. I also write
as succinctly as possible -- please don't be offended. If you send me
mail, you _will_ get a response, but please be patient, especially for
XEmacs-related mail. If you need an immediate response and it is not
apparent in your message, please say so. Thanks for your understanding.
See also
http://www.666.com/ben/typing.html.