From: David Vázquez Date: Fri, 10 May 2013 15:23:58 +0000 (+0100) Subject: Relax compiler literal caching X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=c099d169f56b157f590f134a23d69712c12f0eee;p=jscl.git 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. --- 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))