# HG changeset patch # User Kenichi Handa # Date 1036650697 0 # Node ID 6a0cc62928b50d3b207e1ec60754baab3cbbd8f1 # Parent a89011cf0b794168edab72c6b3e308b7851284e3 (lao-post-read-conversion): Delete this function. (lao-composition-function): Change arguments to conform to composition-function-table. diff -r a89011cf0b79 -r 6a0cc62928b5 lisp/language/lao-util.el --- a/lisp/language/lao-util.el Thu Nov 07 06:31:13 2002 +0000 +++ b/lisp/language/lao-util.el Thu Nov 07 06:31:37 2002 +0000 @@ -155,10 +155,10 @@ ;; CV -> C, CT -> C, CVT -> C, Cv -> C, CvT -> C ;; v v ;; T -;; V T V T -;; CsV -> C, CsT -> C, CsVT -> C, Csv -> C, CvT -> C -;; s s s s s -;; v v +;; V T V T +;; CsV -> C, CsT -> C, CsVT -> C, Csv -> C, CsvT -> C +;; s s s s s +;; v v ;; where C: consonant, V: vowel upper, v: vowel lower, @@ -519,24 +519,20 @@ lao-str))) ;;;###autoload -(defun lao-post-read-conversion (len) - (lao-compose-region (point) (+ (point) len)) - len) - -;;;###autoload -(defun lao-composition-function (from to pattern &optional string) - "Compose Lao text in the region FROM and TO. -The text matches the regular expression PATTERN. -Optional 4th argument STRING, if non-nil, is a string containing text -to compose. - -The return value is number of composed characters." - (if (< (1+ from) to) - (prog1 (- to from) - (if string - (compose-string string from to) - (compose-region from to)) - (- to from)))) +(defun lao-composition-function (pos &optional string) + (setq pos (1- pos)) + (with-category-table lao-category-table + (if string + (if (and (>= pos 0) + (eq (string-match lao-composition-pattern string pos) pos)) + (prog1 (match-end 0) + (compose-string string pos (match-end 0)))) + (if (>= pos (point-min)) + (save-excursion + (goto-char pos) + (if (looking-at lao-composition-pattern) + (prog1 (match-end 0) + (compose-region pos (match-end 0))))))))) ;;;###autoload (defun lao-compose-region (from to)