Function: compose-chars-after
compose-chars-after is a byte-compiled function defined in
composite.el.gz.
Signature
(compose-chars-after POS &optional LIMIT OBJECT)
Documentation
Compose characters in current buffer after position POS.
It looks up the char-table composition-function-table (which
see) by a character at POS, and compose characters after POS
according to the contents of composition-function-table.
Optional 2nd arg LIMIT, if non-nil, limits characters to compose.
Optional 3rd arg OBJECT, if non-nil, is a string that contains the text to compose. In that case, POS and LIMIT index into the string.
This function is the default value of compose-chars-after-function.
Source Code
;; Defined in /usr/src/emacs/lisp/composite.el.gz
(defun compose-chars-after (pos &optional limit object)
"Compose characters in current buffer after position POS.
It looks up the char-table `composition-function-table' (which
see) by a character at POS, and compose characters after POS
according to the contents of `composition-function-table'.
Optional 2nd arg LIMIT, if non-nil, limits characters to compose.
Optional 3rd arg OBJECT, if non-nil, is a string that contains the
text to compose. In that case, POS and LIMIT index into the string.
This function is the default value of `compose-chars-after-function'."
(let ((tail (aref composition-function-table (char-after pos)))
(font-obj (and (display-multi-font-p)
(and (not (stringp object))
(font-at pos (selected-window)))))
pattern func result)
(or limit
(setq limit (if (stringp object) (length object) (point-max))))
(when (and font-obj tail)
(save-match-data
(save-excursion
(while tail
(if (functionp (car tail))
(setq pattern nil func (car tail))
(setq pattern (car (car tail))
func (cdr (car tail))))
(goto-char pos)
(if pattern
(if (and (if (stringp object)
(eq (string-match pattern object) 0)
(looking-at pattern))
(<= (match-end 0) limit))
(setq result
(funcall func pos (match-end 0) font-obj object nil)))
(setq result (funcall func pos limit font-obj object nil)))
(if result (setq tail nil))))))
result))