[movitz-cvs] CVS movitz/losp/muerte
ffjeld
ffjeld at common-lisp.net
Tue Mar 21 20:20:20 UTC 2006
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory clnet:/tmp/cvs-serv3269
Modified Files:
basic-functions.lisp
Log Message:
Have apply check that the tail argument is a list.
--- /project/movitz/cvsroot/movitz/losp/muerte/basic-functions.lisp 2005/08/26 19:39:20 1.20
+++ /project/movitz/cvsroot/movitz/losp/muerte/basic-functions.lisp 2006/03/21 20:20:20 1.21
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Tue Sep 4 18:41:57 2001
;;;;
-;;;; $Id: basic-functions.lisp,v 1.20 2005/08/26 19:39:20 ffjeld Exp $
+;;;; $Id: basic-functions.lisp,v 1.21 2006/03/21 20:20:20 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -229,7 +229,7 @@
(:jz 'more-than-three-args)
no-more-args
;; Calculate numargs from (esp-ebp)..
- (:leal (:ebp -8 8) :ecx)
+ (:leal (:ebp -8 8) :ecx) ; debugger also "knows" this offset..
(:subl :esp :ecx)
(:shrl 2 :ecx)
;; Encode ECX
@@ -258,8 +258,9 @@
((null (cdr args))
(apply function (car args)))
(t (let* ((second-last-cons (last args 2))
- (last-cons (cdr second-last-cons)))
- (setf (cdr second-last-cons) (car last-cons))
+ (tail (cadr second-last-cons)))
+ (check-type tail list)
+ (setf (cdr second-last-cons) tail)
(apply function args)))))))
(defun values (&rest objects)
More information about the Movitz-cvs
mailing list