[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 94a3606: Fix bootstrap broken by changes related
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-25 94a3606: Fix bootstrap broken by changes related to OS X file-name encoding |
Date: |
Fri, 25 Dec 2015 11:23:44 +0000 |
branch: emacs-25
commit 94a3606243d3923ac457aeff33f3ce82b65ef6cd
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix bootstrap broken by changes related to OS X file-name encoding
* lisp/international/ucs-normalize.el (eval-when-compile): Make
sure char-code-property-alist includes elements that allow access
to 'decomposition' and 'canonical-combining-class' Unicode
properties, as compiling ucs-normalize.el requires that.
* lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
only of charprop.el was already loaded.
* src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
New order-only dependency.
---
lisp/international/ucs-normalize.el | 7 +++++++
lisp/loadup.el | 8 ++++++--
src/Makefile.in | 5 +++++
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/lisp/international/ucs-normalize.el
b/lisp/international/ucs-normalize.el
index 6f2fb28..de3c545 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 dda433e..a58d042 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.
diff --git a/src/Makefile.in b/src/Makefile.in
index 4fee1be..8357655 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -486,6 +486,11 @@ $(srcdir)/macuvs.h
$(lispsource)/international/charprop.el: \
bootstrap-emacs$(EXEEXT) FORCE
$(MAKE) -C ../admin/unidata all EMACS="../$(bootstrap_exe)"
+## We require charprop.el to exist before ucs-normalize.el is
+## byte-compiled, because ucs-normalize.el needs to load 2 uni-*.el files.
+$(lispsource)/international/ucs-normalize.elc: | \
+ $(lispsource)/international/charprop.el
+
lispintdir = ${lispsource}/international
${lispintdir}/cp51932.el ${lispintdir}/eucjp-ms.el: FORCE
${MAKE} -C ../admin/charsets $(notdir $@)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 94a3606: Fix bootstrap broken by changes related to OS X file-name encoding,
Eli Zaretskii <=