(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)