Ignore:
Timestamp:
02/17/04 16:53:15 (17 years ago)
Author:
piso
Message:

Work in progress.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/clos.lisp

    r5856 r5863  
    22;;;
    33;;; Copyright (C) 2003-2004 Peter Graves
    4 ;;; $Id: clos.lisp,v 1.86 2004-02-16 19:14:00 piso Exp $
     4;;; $Id: clos.lisp,v 1.87 2004-02-17 16:53:15 piso Exp $
    55;;;
    66;;; This program is free software; you can redistribute it and/or
     
    14681468  (let ((body (method-body method))
    14691469        (declarations (method-declarations method))
    1470         (lambda-list (method-lambda-list method))
     1470        (lambda-list (kludge-arglist (method-lambda-list method)))
    14711471        (*call-next-method-p* nil)
    14721472        (*next-method-p-p* nil))
    14731473    (walk-form body)
    1474     (setf lambda-list (kludge-arglist lambda-list))
    14751474    (compile-in-lexical-environment
    14761475     (method-environment method)
     
    14851484                                  (not (null next-emfun))))
    14861485              (apply #'(lambda ,lambda-list ,@declarations ,body) args)))
    1487          `(lambda (args next-emfun)
    1488             (apply #'(lambda ,lambda-list ,@declarations ,body) args))))))
     1486         (let ((code (make-closure `(lambda ,lambda-list ,@declarations ,body)
     1487                                   (method-environment method))))
     1488           (when (and (fboundp 'jvm:jvm-compile)
     1489                      (not (autoloadp 'jvm:jvm-compile)))
     1490             (setf code (jvm:jvm-compile nil code)))
     1491           `(lambda (args next-emfun) (apply ,code args)))))))
    14891492
    14901493;;; N.B. The function kludge-arglist is used to pave over the differences
Note: See TracChangeset for help on using the changeset viewer.