CLIM mail archive

[Prev][Next][Index][Thread]

Listener problems III: Return of the expression



   Date: Wed, 23 Mar 1994 10:30:31 -0500
   From: Adam Carlson <carlson%lindy@cs.umass.edu>

   Yet another in my ongoing saga of Clim listener questions :)

   In the context of the listener code I posted previously I have a
   couple more questions.  First of all, in clim-2, accepting expressions
   as arguments to commands doesn't work.  The problem is when the
   expression is a list.  After the first space is typed, the listener
   bombs, complaining about an eof and an incomplete list.

See below.

   The second question is about clicking on previous input.  I'd like to
   be able to click on a previous line of input and have it inserted into
   the current input line without a return.  In other words, I'd like to
   be able to edit previous input lines.  This may be related to the
   above.

Others have requested this, too.  I have investigated this, and it
falls well into the category of "not easy".  There's a very subtly
balance in this code involving when to "activate" a piece of input.
The thing that counterbalances your request is the desire not to have
to manually type a space after every argument in an input line if you
are using the mouse to click on single arguments.

   Here's code that demonstrates question 1:

   ;;;-------------------------------------------------------------------
   ;;; Accepting expressions in a command
   ;;;-------------------------------------------------------------------

   (define-lisp-listener-command (com-accept-expression :name t :menu t)
     ((foo 'expression))
      (present foo 'expression))

Try using '((expression) :auto-activate t) as the input type.

References:

Main Index | Thread Index