anchor.diff:  	     (cond ((meta-digit first-gesture)
   		    (setf numarg (meta-digit first-gesture)))
   		   (t (setf sign -1)))
  -	     (loop
  -                for gesture = (first gestures)
  -                while (meta-digit gesture)
  -                do
  -                (setf numarg (+ (* 10 numarg) (meta-digit gesture)))
  -                (pop gestures)
  -                finally
  -                (return (values (if (and (= sign -1) (= numarg 0))
  -                                    -1
  -                                    (* sign numarg))
  -                                t gestures)))))
  +	     (loop for gesture = (first gestures)
  +		   while (meta-digit gesture)
  +		   do (setf numarg (+ (* 10 numarg) (meta-digit gesture)))
  +		      (pop gestures)
  +		   finally (return (values (if (and (= sign -1) (= numarg 0))
  +					       -1
  +					       (* sign numarg))
  +					   t gestures)))))
   	  (t (values 1 nil (when first-gesture
                                (cons first-gesture gestures)))))))
   
  
positive.code:   event-based command processing schemes."))
  
  (defmethod (setf executingp) :after ((new-val (eql t)) (drei instant-macro-execution-mixin))
    (loop
       until (null (remaining-keys drei))
       for gesture = (pop (remaining-keys drei))
       do (process-gesture drei gesture)
       finally (setf (executingp drei) nil)))
  
  (defclass asynchronous-command-processor (command-processor
                                            instant-macro-execution-mixin)
  
negative.code: 
  (defvar *meta-digit-table*
    (loop for i from 0 to 9
  	collect (list :keyboard (digit-char i) (make-modifier-state :meta))))
  
  (defun meta-digit (gesture)
    (position gesture *meta-digit-table*
  