From 8ea6fa801ed4788d3f5bc01b8198025587e77871 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Thu, 12 Feb 2009 05:48:41 +0000 Subject: [PATCH] (?.): New character category for Base characters. Set them in the standard category table. --- lisp/ChangeLog | 8 ++++++++ lisp/international/characters.el | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f3af325ee8a..a635e65ba23 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2009-02-12 Kenichi Handa + + * international/characters.el (?.): New character category for + Base characters. Set them in the standard category table. + + * composite.el: Use "\\c." instead of "[[:alpha:]]" to match with + a base character. + 2009-02-12 Stefan Monnier * isearch.el (isearch-yank-char-in-minibuffer) diff --git a/lisp/international/characters.el b/lisp/international/characters.el index fd03468d67a..011536e15f8 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el @@ -110,9 +110,11 @@ A character which can't be placed at beginning of line.") (define-category ?< "Not at eol A character which can't be placed at end of line.") -;; Combining +;; Base and Combining +(define-category ?. "Base +Base characters (Unicode General Category L,N,P,S,Zs)") (define-category ?^ "Combining -Combining diacritic or mark") +Combining diacritic or mark (Unicode General Category M") ;;; Setting syntax and category. @@ -1049,7 +1051,6 @@ Setup char-width-table appropriate for non-CJK language environment." (setq char-width-table (char-table-parent cjk-char-width-table))) (optimize-char-table (standard-case-table)) -(optimize-char-table (standard-category-table)) (optimize-char-table (standard-syntax-table)) @@ -1182,6 +1183,15 @@ Setup char-width-table appropriate for non-CJK language environment." table)) (setq unicode-category-table (build-unicode-category-table)) +(map-char-table #'(lambda (key val) + (if (and val + (or (and (/= (aref (symbol-name val) 0) ?M) + (/= (aref (symbol-name val) 0) ?C)) + (eq val 'Zs))) + (modify-category-entry key ?.))) + unicode-category-table) + +(optimize-char-table (standard-category-table)) ;;; Setting word boundary. -- 2.39.5