[comp.sys.xerox] FREEMENU edit items in Lyric

pes@MITRE-BEDFORD.ARPA (03/03/88)

	I have just spent a fair amount of time porting some user
interface software from Koto to Lyric.  The changes to FREEMENU
generally appear to be good, but I have a problem with the way edit
items work.  

	In our application, I would like to be able to do some
post-edit field processing, such as verification of input.  In the
Koto Lisp Library FREEMENU, carriage return would bring you back from
a call to FM.EDITITEM, and field verifcation (and other side effect
stuff) could be done in the function which started the editing.

	In the Lyric FREEMENU, FM.EDITITEM appears to spawn a 
FREEMENU process which drives the TTY, and it returns to the calling
function immediately.  That's OK because it also allows a LIMITCHARS
predicate to be specified, which can verify character by character
inputs, and can be used to detect a carriage return for post edit
processing as before.  However, when a carriage return is detected,
I would like to mutate the input data and put it back into the 
FREEMENU label.  If I do this in the LIMITCHARS predicate, the label
is changed back to what the FREEMENU process' input buffer was 
working on when the LIMITCHARS predicate was called.

	What I think I would like is a way of being notified when
the editing has terminated.  I would prefer not to have to poll the
menu using FM.EDITP, but rather be notified via an event or by 
specifying a edit termination function which would be called.  This
would also solve the problem of giving the TTY process away using
the mouse and leaving an unverified edit field hanging in the FREEMENU.

	Any comments or suggestions for ways to handle these kinds
of user input situations?  Thanks.

-Paul Silvey
 The MITRE Corporation
 Bedford, MA

 pes@mitre-bedford.arpa