From c099d169f56b157f590f134a23d69712c12f0eee Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20V=C3=A1zquez?= Date: Fri, 10 May 2013 16:23:58 +0100 Subject: [PATCH] Relax compiler literal caching Equal is too general. Diferrent literals are considered the same and if you modify destructively one of them, then other were modified too. --- src/compiler.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler.lisp b/src/compiler.lisp index be10266..3fe2823 100644 --- a/src/compiler.lisp +++ b/src/compiler.lisp @@ -558,7 +558,7 @@ ((floatp sexp) (float-to-string sexp)) ((characterp sexp) (code "\"" (escape-string (string sexp)) "\"")) (t - (or (cdr (assoc sexp *literal-table* :test #'equal)) + (or (cdr (assoc sexp *literal-table* :test #'eql)) (let ((dumped (typecase sexp (symbol (dump-symbol sexp)) (string (dump-string sexp)) -- 1.7.10.4