anchor.diff:        (throw 'scan-error nil))
       (case (forward-syntax-type line-buffer point)
         ((:open-paren)
  -       (incf depth))
  +       (incf depth)
  +       (when (zerop depth)
  +         (return (1+ point))))
         ((:closed-paren)
  -       (when (minusp (decf depth))
  +       (when (= -1 (decf depth))
            (return (1+ point))))
         ((:string-quote)
          (setq point (skip-string-forward line-buffer point))))))
  
positive.code: (rl:bind-keyseq "\\e\\C-d" #'down-list)
  
  (defun up-list-internal (line-buffer point)
    (loop
      (when (<= point 0)
        (return nil))
      (when (eq :open-paren (backward-syntax-type line-buffer point))
        (return (1- point)))
      (decf point)))
  
  (defun up-list (arg key)
    (let ((point (up-list-internal rl:*line-buffer* rl:*point*)))
  
negative.code:       ((:closed-paren)
         (incf depth))
        ((:open-paren)
         (when (= -1 (decf depth))
           (return (1- point))))
        ((:string-quote)
         (setq point (skip-string-backward line-buffer point))))))
  