diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/international/ucs-normalize.el | 7 | ||||
-rw-r--r-- | lisp/loadup.el | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lisp/international/ucs-normalize.el b/lisp/international/ucs-normalize.el index 6f2fb2856da..de3c54534bd 100644 --- a/lisp/international/ucs-normalize.el +++ b/lisp/international/ucs-normalize.el @@ -176,6 +176,13 @@ (setq decomposition-pair-to-composition nil) (defvar non-starter-decompositions nil) (setq non-starter-decompositions nil) + ;; This file needs to access these 2 Unicode properties, but when we + ;; compile it during bootstrap, charprop.el was not built yet, and + ;; therefore is not yet loaded into bootstrap-emacs, so + ;; char-code-property-alist is nil, and get-char-code-property + ;; always returns nil, something the code here doesn't like. + (define-char-code-property 'decomposition "uni-decomposition.el") + (define-char-code-property 'canonical-combining-class "uni-combining.el") (let ((char 0) ccc decomposition) (mapc (lambda (start-end) diff --git a/lisp/loadup.el b/lisp/loadup.el index dda433e4eaf..a58d04223ea 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -276,8 +276,12 @@ (if (featurep 'ns) (progn (load "term/common-win") - (load "international/ucs-normalize") - (load "term/ns-win"))) + ;; Don't load ucs-normalize.el unless uni-*.el files were + ;; already produced, because it needs uni-*.el files that might + ;; not be built early enough during bootstrap. + (when (load-history-filename-element "charprop\\.el") + (load "international/ucs-normalize") + (load "term/ns-win")))) (if (fboundp 'x-create-frame) ;; Do it after loading term/foo-win.el since the value of the ;; mouse-wheel-*-event vars depends on those files being loaded or not. |