diff --git a/lisp/subr.el b/lisp/subr.el index d14efccd82e..04eec977bb6 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -540,12 +540,12 @@ i.e., subtract 2 * `most-negative-fixnum' from VALUE before shifting it." ;; you may want to amend the other, too. (defun internal--compiler-macro-cXXr (form x) (let* ((head (car form)) - (n (symbol-name (car form))) + (n (symbol-name head)) (i (- (length n) 2))) (if (not (string-match "c[ad]+r\\'" n)) (if (and (fboundp head) (symbolp (symbol-function head))) - (internal--compiler-macro-cXXr (cons (symbol-function head) (cdr form)) - x) + (internal--compiler-macro-cXXr + (cons (symbol-function head) (cdr form)) x) (error "Compiler macro for cXXr applied to non-cXXr form")) (while (> i (match-beginning 0)) (setq x (list (if (eq (aref n i) ?a) 'car 'cdr) x))