anchor.diff:                           (create :type :edit
                                    :data (create :excerpt excerpt
                                                  'excerpt-offset offset))))))
  -          (say ev)))
  +          (say ev))
  +        component-did-mount
  +        (lambda ()
  +          (chain this (set-selection-from-prop)))
  +        component-did-update
  +        (lambda ()
  +          (chain this (set-selection-from-prop)))
  +        set-selection-from-prop
  +        (lambda ()
  +          (say "in set-sel...")
  +          (say component-this-ref)
  +          (chain window (get-selection) (remove-all-ranges))
  +          (when (not-empty (prop excerpt))
  +            (say "hear")
  +            (let ((elem (@ component-this-ref sample-element))
  +                  (bounds
  +                     (find-excerpt-start/end
  +                      (prop textdata) (prop excerpt)
  +                      (or (prop excerpt-offset) 0)))
  +                  (range (new -range)))
  +                (if bounds
  +                    (progn
  +                      (chain range (set-start elem (elt bounds 0)))
  +                      (chain range (set-end elem (elt bounds 1)))
  +                      (chain window (get-selection) (add-range range)))
  +                    (say "Excerpt not found"))))))
   
         ;;FIXME: Find a way to make this not pound the server per keystroke.
         (def-component text-sample
  
positive.code:            (when pos
               (list (elt pos 0) (+ (elt pos 0) (elt pos 1))))))
  
        (def-component message
            (psx (:span (prop message))))
  
  
negative.code:                   (getprop descs (prop formdata flag))))))
  
        (def-component text-sample-core
            (psx
             (:pre
              :style (create :overflow "auto" :background "lightgrey"
                             'white-space "pre-wrap":border "1px"
                             :height "15em" :width "40em" :cursor "text")
              :on-mouse-up (@ this selection-change)
              :on-key-press (@ this selection-change)
              :ref (lambda (ref)
                     (setf (@ component-this-ref sample-element) ref))
              (prop text)))
          selection-change
          (lambda (ev)
            (let ((targ (@ ev target))
  