anchor.diff:         (let ((src-text (loop for (txt src-txt) in (conj-data-src-map conj-data)
                             if (find txt texts :test 'equal) collect src-txt)))
            (if (not (conj-data-via conj-data))
  -             src-text
  +             (mapcar (lambda (txt) (list txt (conj-data-from conj-data))) src-text)
                (let ((new-cd (get-conj-data (conj-data-via conj-data) (conj-data-from conj-data))))
  -                     (get-original-text new-cd src-text))))))
  -
  +                     (get-original-text* new-cd src-text))))))
  +
  +(defgeneric get-original-text (reading)
  +  (:documentation "Returns unconjugated text(s) for reading")
  +  (:method ((reading simple-text))
  +    (let ((orig-texts (get-original-text* (word-conj-data reading) (text reading)))
  +          (table (case (word-type reading) (:kanji 'kanji-text) (:kana 'kana-text))))
  +      (loop for (txt seq) in orig-texts
  +           nconc (select-dao table (:and (:= 'seq seq) (:= 'text txt))))))
  +  (:method ((reading proxy-text))
  +    (get-original-text (source reading))))
   
   ;;;;
   
  
positive.code:                                              :src-map src-map
                                               ))))
  
  (defun get-original-text (conj-datas texts)
    (unless (listp texts)
      (setf texts (list texts)))
    (unless (listp conj-datas)
  
negative.code:    (source :reader source :initarg :source)))
  
  (defgeneric true-text (obj)
    (:documentation "Returns true text for reading")
    (:method (obj) (text obj))
    (:method ((obj proxy-text)) (true-text (source obj))))
  
  