egg-980304.
[elisp/egg.git] / egg-cnv.el
index 8c499b3..267213b 100644 (file)
       (egg-separate-languages start (point-max))
       (goto-char start)
       (while (< (point) (point-max))
-       (setq lang (get-text-property (point) 'egg-lang))
-       (setq s (point)
-             e (next-single-property-change s 'egg-lang nil (point-max)))
+       (setq lang (get-text-property (point) 'egg-lang)
+             s (point)
+             e (point))
+        (while (and (< e (point-max))
+                    (equal lang (get-text-property e 'egg-lang)))
+          (setq e (next-single-property-change e 'egg-lang nil (point-max))))
        (setq bunsetsu-info-list
              (egg-start-conversion (buffer-substring s e) lang))
        (setq contin (< e (point-max)))
 
 (defun egg-separate-languages (start end)
   (let (lang last-lang last-chinese p l c cset)
+    ;; 1st pass -- mark undefined Chinese part
     (goto-char start)
     (while (< (point) end)
       (setq p (next-single-property-change (point) 'its-lang nil end))
        (setq p (point))
        (forward-char)
        (put-text-property p (point) 'its-lang (egg-char-to-language c)))))
+    ;; 2nd pass -- set language property
     (goto-char start)
     (while (< (point) end)
       (setq lang (get-text-property (point) 'its-lang))
   (interactive "p")
   (egg-next-candidate (- n)))
 
-;; Bogus function 980220
-(defun egg-decide-bunsetsu (&optional end-marker)
-  (let ((in-loop t)
-       p bunsetsu-info-list bl)
-    (setq p (point))
-    (while in-loop
-      (let ((bl1 (cons (egg-get-bunsetsu-info p) nil)))
-       (if bl
-           (setq bl (setcdr bl bl1))
-         (setq bunsetsu-info-list (setq bl bl1))))
-      (forward-char)
-      (remove-text-properties p (point) '(face nil
-                                         intangible nil
-                                         local-map nil
-                                         egg-bunsetsu-last nil))
-      (setq p (point))
-      (if (or (and end-marker (= p end-marker))
-             (get-text-property p 'egg-end))
-         (setq in-loop nil)
-       (setq p (1- p))
-       (delete-region p (1+ p))))      ; Delete bunsetsu separator
-    bunsetsu-info-list))
-
 (defun egg-decide-before-point ()
   (interactive)
   (let (bunsetsu-list bl (p (point)) source (dlen 0) l s)