anchor.diff:     (remaining :initarg :remaining)
      (syntax :initarg :syntax))
     (:documentation
  -   "Type of conditions signalled by motion functions unable to move.")
  +   "This error condition signifies that a motion cannot be performed.")
     (:report (lambda (condition stream)
                (format stream "Motion by ~A reached limit."
                        (slot-value condition 'UNIT)))))
   
   (defun error-limit-action (mark original-offset remaining unit syntax)
  +  "This limit action will signal an error of type
  +`motion-limit-error'."
     (error 'MOTION-LIMIT-ERROR
            :mark mark
            :original-offset original-offset
  
positive.code:                    (t t))))))))
  
  (defun make-diligent-motor (motor fiddler)
    (labels ((make-limit-action (loser)
               (labels ((limit-action
                            (mark original-offset remaining unit syntax)
  
negative.code: 	do (decf (offset mark))))
  
  (defun beep-limit-action (mark original-offset remaining unit syntax)
    "This limit action will beep at the user."
    (declare (ignore mark original-offset remaining unit syntax))
    (clim:beep)
    nil)
  
  (defun revert-limit-action (mark original-offset remaining unit syntax)
    "This limit action will try to restore the mark state from
  before the attempted action. Note that this will not restore any
  destructive actions that have been performed, it will only
  restore the position of `mark'."
    (declare (ignore remaining unit syntax))
    (setf (offset mark) original-offset)
    nil)
  