Skip to content
Snippets Groups Projects
Commit 35ddcb2f authored by Andreas Fuchs's avatar Andreas Fuchs
Browse files

spr37149: Plug leak of the #\{ dispatch character.

This change eval-whens out the definition of the #\{ macro character
so that it happens only at compile time. The definition was leaked
into customer environments, and affected the system readtable when
loading CLIM from a clinit.cl file, which resulted in an error.

Tested by building & loading the resulting clim fasls on windows &
linux.
parent 04d6dcb8
No related branches found
No related tags found
No related merge requests found
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
;;; This is a compile-time tool to make it easier for us to install lisp-system ;;; This is a compile-time tool to make it easier for us to install lisp-system
;;; dependent code. ;;; dependent code.
;;; Install the #{ reader, only when compiling.
(eval-when (:compile-toplevel :execute)
;;; Tool to temporarily add a macro character. ;;; Tool to temporarily add a macro character.
(defmacro with-macro-character ((char function) &body body) (defmacro with-macro-character ((char function) &body body)
(let ((existing (make-symbol (symbol-name 'existing)))) (let ((existing (make-symbol (symbol-name 'existing))))
...@@ -95,6 +97,5 @@ ...@@ -95,6 +97,5 @@
(declare (ignore stream arg)) (declare (ignore stream arg))
(throw 'stop t)) (throw 'stop t))
;;; Install the #{ reader. (set-dispatch-macro-character #\# #\{ #'|READ-#-{|))
(set-dispatch-macro-character #\# #\{ #'|READ-#-{|)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment