anchor.diff:       name)
   
       (tagged-text
  -     (-> tag-open name)
  -     (-> (if (member name (state subdocs))
  -             (subdoc-contents name)
  -             (simple-contents name))
  +     (-> tag-open n)
  +     (-> (if (member n subdocs)
  +             (subdoc-contents n)
  +             (simple-contents n))
         element)
        "}"
        element)
   
  -    ((subdoc-contents name)
  -     (with-state ((subdoc-level (+ 1 subdoc-level)))
  -       (-> (many1 element) elements)
  -       eod
  -       `(,name ,@elements)))
  +    ((subdoc-contents n)
  +     (incf subdoc-level)
  +     (-> (many1 element) elements)
  +     eod
  +     (decf subdoc-level)
  +     `(,n ,@elements))
   
       ((simple-contents name)
        (-> (many1 (or (text-until (tagged-or "}")) tagged-text)) contents)
  
positive.code:     (escaped-char
       (try (progn "\\" (one-of "\\{}*#-[]%|<"))))
  
      (newline-char
       (not-followed-by blank)
       newline
       indentation
       #\Newline)
  
      (plain-char
       (in-subdoc (none-of "}") any-char))
  
negative.code: ;; Arguments to a parser get added to the inital state.
  
  (defparameter *p*
    '(defparser markup (subdocs &state (current 0) (so-far 0) (subdoc-levels 0))
  
      (document
       (optional modeline)
  