anchor.diff:          (lambda (data)
             (if (eql :message (@ data :type))
                 (set-state :message (@ data :message))
  -              (funcal (prop dispatch) data))))
  +              (funcall (prop dispatch) data))))
   
         ))))
   
  -#|
  -function set_target_text(url) {
  -	if ($("#target").val().length > 0) {
  -  $.getJSON("/opinion/get_text.json", {url: url},
  -		function(data) {
  -			if (data['status']=='success') {
  -				$('#textsample').val(data['text']);
  -				$('#message').html(data['message']);
  -				window.whiteless = $.grep(data['text'], complement(is_white_char));
  -				window.whiteless = window.whiteless.join("");
  -				window.white_indices = indexes(data['text'], is_white_char);
  -			}
  -			else if (data['status']=='failure') {
  -				$('#message').html(data['message']);
  -			} else if (data['status']=='wait') {
  -			  $('#message').html(data['message']);
  -				window.textTimeout = 
  -				  window.setTimeout(set_target_text, 2000, url);
  -		}})}
  -}
  -
  -function string_locs_in_text(st) {
  -	wst = $.grep(st, complement(is_white_char)).join("");
  -	var locs = locations(window.whiteless, wst);
  -	return _.map(locs,
  -		function(itm) {
  -			return [itm, itm+wst.length];
  -		});
  -}
  -
  -//ts.val().substring(ts[0].selectionStart, ts[0].selectionEnd)
  -//.replace(/\s+/g, ' ');
  -	
  -//-->
  -  |#
  
positive.code:                   (getprop descs (prop formdata flag))))))
  
        (def-component text-sample-core
            (psx
             (:textarea
              :style (create :overflow "auto" :background "lightgrey" :border "1px"
                             :height "15em" :width "40em" :cursor "text")
              :on-mouse-up (@ this selection-change)
              :on-key-press (@ this selection-change)
              :value (prop text)))
          selection-change
          (lambda (ev)
            (let ((target (@ ev target)))
              )
            (say ev)))
  
        ;;FIXME: Find a way to make this not pound the server per keystroke.
  
negative.code:                      (collect (elt the-string i))))))))
  
         (defun calculate-offset (tdat excerpt startloc)
           (if (not-empty excerpt)
               (let ((res 0))
                 (dotimes (i startloc)
                   (when (excerpt-here? tdat excerpt i)
                     (incf res)))
                 res)
               nil))
  
         (defun get-location-excerpt (tdat start end)
           (let* ((excerpt (chain tdat text (slice start end)))
  