summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/international/ucs-normalize.el7
-rw-r--r--lisp/loadup.el8
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.