Changeset 15386


Ignore:
Timestamp:
10/01/20 22:29:09 (2 years ago)
Author:
Mark Evenson
Message:

precompiler: be more careful in optimizing lambda precompilation

Fixes <https://abcl.org/trac/ticket/474>.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/precompiler.lisp

    r15055 r15386  
    407407    (or
    408408     ;;give a chance for someone to transform single-form function bodies
    409      (and (= (length body) 1) (consp (car body)) (get (caar body) 'sys::function-position-lambda-transform)
    410     (funcall (get (caar body) 'sys::function-position-lambda-transform) (caar body) (car body) (mapcar #'precompile1 args)))
     409     (and (= (length body) 1)
     410          (consp (car body))
     411          (symbolp (caar body))
     412          (get (caar body) 'sys::function-position-lambda-transform)
     413    (funcall (get (caar body) 'sys::function-position-lambda-transform)
     414                   (caar body) (car body) (mapcar #'precompile1 args)))
    411415     (and simple-arglist?
    412416    (let ((arglist-length (if (memq '&aux arglist) (position '&aux arglist) (length arglist))))
Note: See TracChangeset for help on using the changeset viewer.