aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2004-04-15 01:01:44 +0000
committerKenichi Handa2004-04-15 01:01:44 +0000
commit1b9d98764d1a5197dee2eafcb02c0dd7ae59d75c (patch)
tree8f477f1555b552a372e895edea13f5d3ba8f7b6a
parent7bd9c08341694defe8b40d9c0d7efa75fb505ecb (diff)
downloademacs-1b9d98764d1a5197dee2eafcb02c0dd7ae59d75c.tar.gz
emacs-1b9d98764d1a5197dee2eafcb02c0dd7ae59d75c.zip
(auto-compose-chars): Execute the main code in
condition-case.
-rw-r--r--lisp/composite.el18
1 files changed, 11 insertions, 7 deletions
diff --git a/lisp/composite.el b/lisp/composite.el
index 657bfa8658e..2590323304a 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -431,12 +431,15 @@ This function is the default value of `auto-composition-function' (which see)."
431 (save-buffer-state nil 431 (save-buffer-state nil
432 (save-excursion 432 (save-excursion
433 (save-match-data 433 (save-match-data
434 (let ((start pos) 434 (condition-case nil
435 (limit (if string (length string) (point-max))) 435 (let ((start pos)
436 ch func newpos) 436 (limit (if string (length string) (point-max)))
437 (setq limit (or (text-property-any pos limit 'auto-composed t string) 437 ch func newpos)
438 limit) 438 (setq limit
439 pos (catch 'tag 439 (or (text-property-any pos limit 'auto-composed t string)
440 limit)
441 pos
442 (catch 'tag
440 (if string 443 (if string
441 (while (< pos limit) 444 (while (< pos limit)
442 (setq ch (aref string pos)) 445 (setq ch (aref string pos))
@@ -459,7 +462,8 @@ This function is the default value of `auto-composition-function' (which see)."
459 (setq pos newpos) 462 (setq pos newpos)
460 (setq pos (1+ pos))))) 463 (setq pos (1+ pos)))))
461 limit)) 464 limit))
462 (put-text-property start pos 'auto-composed t string)))))) 465 (put-text-property start pos 'auto-composed t string))
466 (error nil))))))
463 467
464(setq auto-composition-function 'auto-compose-chars) 468(setq auto-composition-function 'auto-compose-chars)
465 469