(limit (if string (length string) (point-max)))
ch func newpos)
(setq limit (or (text-property-any pos limit 'auto-composed t string)
- limit))
- (catch 'tag
- (if string
- (while (< pos limit)
- (setq ch (aref string pos))
- (if (= ch ?\n)
- (throw 'tag nil))
- (setq func (aref composition-function-table ch))
- (if (and (functionp func)
- (setq newpos (funcall func pos string))
- (> newpos pos))
- (setq pos newpos)
- (setq pos (1+ pos))))
- (while (< pos limit)
- (setq ch (char-after pos))
- (if (= ch ?\n)
- (throw 'tag nil))
- (setq func (aref composition-function-table ch))
- (if (and (functionp func)
- (setq newpos (funcall func pos string))
- (> newpos pos))
- (setq pos newpos)
- (setq pos (1+ pos))))))
+ limit)
+ pos (catch 'tag
+ (if string
+ (while (< pos limit)
+ (setq ch (aref string pos))
+ (if (= ch ?\n)
+ (throw 'tag (1+ pos)))
+ (setq func (aref composition-function-table ch))
+ (if (and (functionp func)
+ (setq newpos (funcall func pos string))
+ (> newpos pos))
+ (setq pos newpos)
+ (setq pos (1+ pos))))
+ (while (< pos limit)
+ (setq ch (char-after pos))
+ (if (= ch ?\n)
+ (throw 'tag (1+ pos)))
+ (setq func (aref composition-function-table ch))
+ (if (and (functionp func)
+ (setq newpos (funcall func pos string))
+ (> newpos pos))
+ (setq pos newpos)
+ (setq pos (1+ pos)))))
+ limit))
(put-text-property start pos 'auto-composed t string))))))
(setq auto-composition-function 'auto-compose-chars)