1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00

Allow use of \N{...} earlier to help fix bug#79353

* lisp/emacs-lisp/shorthands.el (hack-read-symbol-shorthands):
Avoid inf-loops during bootstrap.
E.g. this can occur while loading `uni-special-lowercase.el` where
`hack-local-variables--find-variables` uses `downcase` which triggers
loading `uni-special-lowercase.el`, ...

* lisp/international/mule-cmds.el (ucs-names): Explicitly require
`charprop`.

* src/Makefile.in ($(lispsource)/loaddefs.el): Depend on `charprop`.
This commit is contained in:
Stefan Monnier 2025-09-09 17:42:20 -04:00
parent d1221a427f
commit 82f6c16514
3 changed files with 9 additions and 2 deletions

View file

@ -36,7 +36,11 @@
;; detail of files.el. That function should be exported,
;; possibly be refactored into two parts, since we're only
;; interested in basic "Local Variables" parsing.
(alist-get 'read-symbol-shorthands (hack-local-variables--find-variables)))
;; FIXME: Disable ourselves temporarily to avoid inf-loops during bootstrap,
;; trying to look for shorthands in the files that implement shorthands.
(let ((hack-read-symbol-shorthands-function #'ignore))
(alist-get 'read-symbol-shorthands
(hack-local-variables--find-variables))))
(setq hack-read-symbol-shorthands-function #'hack-read-symbol-shorthands)

View file

@ -3125,6 +3125,7 @@ on encoding."
(#xE0000 . #xE01FF)))
(gc-cons-threshold (max gc-cons-threshold 10000000))
(names (make-hash-table :size 42943 :test #'equal)))
(require 'charprop) ;; Usually preloaded, but not during bootstrap.
(dolist (range ranges)
(let ((c (car range))
(end (cdr range)))

View file

@ -948,7 +948,9 @@ NATIVE_COMPILATION_AOT = @NATIVE_COMPILATION_AOT@
endif
ifneq ($(XCONFIGURE),android)
$(lispsource)/loaddefs.el: | bootstrap-emacs$(EXEEXT) $(bootstrap_pdmp)
$(lispsource)/loaddefs.el: | \
bootstrap-emacs$(EXEEXT) $(bootstrap_pdmp) \
$(lispsource)/international/charprop.el
$(MAKE) -C ../lisp autoloads EMACS="$(bootstrap_exe)"
endif