summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/character-fold.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/character-fold.el b/lisp/character-fold.el
index 15e76584fe0..7f5be8324a8 100644
--- a/lisp/character-fold.el
+++ b/lisp/character-fold.el
@@ -33,7 +33,14 @@ some).")
(defconst character-fold-table
(eval-when-compile
- (let ((equiv (make-char-table 'character-fold-table)))
+ (let* ((equiv (make-char-table 'character-fold-table))
+ (table (unicode-property-table-internal 'decomposition))
+ (func (char-table-extra-slot table 1)))
+ ;; Ensure the table is populated
+ (map-char-table
+ (lambda (i v) (when (consp i) (funcall func (car i) v table)))
+ table)
+
;; Compile a list of all complex characters that each simple
;; character should match.
(map-char-table