X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsrctran.lisp;h=46cbfa83cf128045b46711d4e036bcf18464ad78;hb=1b8bf3eb32049318ac5024e84cdf8925ec4aabae;hp=83fcba21a6c77d2dbf6013f2eab8aaeeb3fa34fe;hpb=774bf2a2d0442bd8d854ae83db86a65bd9914f26;p=sbcl.git diff --git a/src/compiler/srctran.lisp b/src/compiler/srctran.lisp index 83fcba2..46cbfa8 100644 --- a/src/compiler/srctran.lisp +++ b/src/compiler/srctran.lisp @@ -65,10 +65,14 @@ (defun source-transform-cxr (form) (if (/= (length form) 2) (values nil t) - (let ((name (symbol-name (car form)))) - (do ((i (- (length name) 2) (1- i)) + (let* ((name (car form)) + (string (symbol-name + (etypecase name + (symbol name) + (leaf (leaf-source-name name)))))) + (do ((i (- (length string) 2) (1- i)) (res (cadr form) - `(,(ecase (char name i) + `(,(ecase (char string i) (#\A 'car) (#\D 'cdr)) ,res)))