]> git.eshelyaron.com Git - emacs.git/commitdiff
(compose-chars-after): Preserve match data.
authorKenichi Handa <handa@m17n.org>
Thu, 27 Jul 2000 05:37:42 +0000 (05:37 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 27 Jul 2000 05:37:42 +0000 (05:37 +0000)
lisp/composite.el

index e14aeab3e3e8736fa150ade55423ef756ca0feb7..888ba5ad134956bb116aee497b7f0c97ba44c83c 100644 (file)
@@ -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