diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-01-02 02:25:55 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-01-02 02:25:55 -0500 |
commit | 9156e109270b837b0b4f5740c305531754e72cf6 (patch) | |
tree | 9e19c09d9b379990fe6fb3fa90b437092e975a7a | |
parent | efb1c7ec379430f560c5b801969ae43023c52734 (diff) | |
download | emacs-9156e109270b837b0b4f5740c305531754e72cf6.tar.gz |
(define-char-code-property): Workaround for bug#52945
* lisp/international/mule-cmds.el (define-char-code-property): Ignore
requests to re-setup lazy loading after the char-table is already loaded.
-rw-r--r-- | lisp/international/mule-cmds.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 7fd1430c03b..28be35d65d2 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -2936,8 +2936,14 @@ See also the documentation of `get-char-code-property' and (or (stringp table) (error "Not a char-table nor a file name: %s" table))) (if (stringp table) (setq table (purecopy table))) - (setf (alist-get name char-code-property-alist) table) - (put name 'char-code-property-documentation (purecopy docstring))) + (if (and (stringp table) + (char-table-p (alist-get name char-code-property-alist))) + ;; The table is already setup and we're apparently trying to + ;; undo that, probably because `charprop.el' is being re-loaded. + ;; Just skip it, in order to work around a recursive load (bug#52945). + nil + (setf (alist-get name char-code-property-alist) table) + (put name 'char-code-property-documentation (purecopy docstring)))) (defvar char-code-property-table (make-char-table 'char-code-property-table) |