]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/character-fold.el (character-fold-table): Reuse `table'
authorArtur Malabarba <bruce.connor.am@gmail.com>
Thu, 25 Jun 2015 17:53:33 +0000 (18:53 +0100)
committerArtur Malabarba <bruce.connor.am@gmail.com>
Thu, 25 Jun 2015 17:55:24 +0000 (18:55 +0100)
lisp/character-fold.el

index 7f5be8324a8a6f30ecb5461573e934cc2a87a015..1675e6e245986372d5642338995298c86ddef4d9 100644 (file)
@@ -36,7 +36,7 @@ some).")
     (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
+      ;; Ensure the table is populated.
       (map-char-table
        (lambda (i v) (when (consp i) (funcall func (car i) v table)))
        table)
@@ -77,7 +77,9 @@ some).")
                    (aset equiv k
                          (if multiletter chars
                            (cons (apply #'string dec) chars)))))))))
-       (unicode-property-table-internal 'decomposition))
+       table)
+
+      ;; Add some manual entries.
       (dolist (it '((?\" """ "“" "”" "”" "„" "⹂" "〞" "‟" "‟" "❞" "❝" "❠" "“" "„" "〝" "〟" "🙷" "🙶" "🙸" "«" "»")
                     (?' "❟" "❛" "❜" "‘" "’" "‚" "‛" "‚" "󠀢" "❮" "❯" "‹" "›")
                     (?` "❛" "‘" "‛" "󠀢" "❮" "‹")
@@ -85,6 +87,8 @@ some).")
         (let ((idx (car it))
               (chars (cdr it)))
           (aset equiv idx (append chars (aref equiv idx)))))
+
+      ;; Convert the lists of characters we compiled into regexps.
       (map-char-table
        (lambda (i v) (let ((re (regexp-opt (cons (char-to-string i) v))))
                   (if (consp i)