From 339cebdcbe970ce30d6bb2d29b63c15bc8de40df Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Thu, 27 Jul 2000 05:37:42 +0000 Subject: [PATCH] (compose-chars-after): Preserve match data. --- lisp/composite.el | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/lisp/composite.el b/lisp/composite.el index e14aeab3e3e..888ba5ad134 100644 --- a/lisp/composite.el +++ b/lisp/composite.el @@ -338,17 +338,18 @@ This function is the default value of `compose-chars-after-function'." (let ((tail (aref composition-function-table (char-after pos))) pattern func result) (when tail - (save-excursion - (while (and tail (not func)) - (setq pattern (car (car tail)) - func (cdr (car tail))) - (goto-char pos) - (if (if limit - (and (re-search-forward pattern limit t) - (= (match-beginning 0) pos)) - (looking-at pattern)) - (setq result (funcall func pos (match-end 0) pattern nil)) - (setq func nil tail (cdr tail)))))) + (save-match-data + (save-excursion + (while (and tail (not func)) + (setq pattern (car (car tail)) + func (cdr (car tail))) + (goto-char pos) + (if (if limit + (and (re-search-forward pattern limit t) + (= (match-beginning 0) pos)) + (looking-at pattern)) + (setq result (funcall func pos (match-end 0) pattern nil)) + (setq func nil tail (cdr tail))))))) result)) ;;;###autoload -- 2.39.2