anchor.diff:               finally
                (return-from ,outer t)))))
   
  +(defun sexp-at-char (dir)
  +  (if (plusp dir)
  +    (following-char)
  +    (preceding-char)))
  +
   (defun scan-lists (point count depth)
     (point-set point)
     (dotimes (_ (abs count) t)
  
positive.code:                      (progn
                         (point-set point)
                         nil)))))
    (def scan-string
         (when (eq x 'string-quote)
           (return-from outer t)))
    (def scan-symbol
         (unless (or (eq x 'symbol)
                     (eq x 'expr-prefix))
           (return-from outer t))))
  
negative.code:       (point-set point)
        (return nil))))
  
  (macrolet ((def (name args &body body)
                  `(defun ,name (point dir ,@args)
                     (point-set point)
                     (if (do-scan outer
                                  dir
  