summaryrefslogtreecommitdiff
path: root/lisp/international/ccl.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/international/ccl.el')
-rw-r--r--lisp/international/ccl.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/international/ccl.el b/lisp/international/ccl.el
index 04f0e957d7a..c445d7d40e1 100644
--- a/lisp/international/ccl.el
+++ b/lisp/international/ccl.el
@@ -1507,7 +1507,12 @@ MAP-IDs := MAP-ID ...
MAP-SET := MAP-IDs | (MAP-IDs) MAP-SET
MAP-ID := integer
"
- `(let ((prog ,(ccl-compile (eval ccl-program))))
+ `(let ((prog ,(unwind-protect
+ (progn
+ ;; To make ,(charset-id CHARSET) works well.
+ (fset 'charset-id 'charset-id-internal)
+ (ccl-compile (eval ccl-program)))
+ (fmakunbound 'charset-id))))
(defconst ,name prog ,doc)
(put ',name 'ccl-program-idx (register-ccl-program ',name prog))
nil))