- Jun 23, 2005
-
-
rtoy authored
-
- Jun 22, 2005
- Jun 20, 2005
-
-
rtoy authored
in case we're given a logical pathname.
-
rtoy authored
(progn (defclass foo92b (foo92a) ((s :initarg :s))) (defclass foo92a () ()) (let ((x (make-instance 'foo92b :s 5)) (update-counter 0)) (defclass foo92b (foo92a) ((s) (s1) (s2))) ; still subclass of foo92a (slot-value x 's) (defmethod update-instance-for-redefined-class ((object foo92b) added-slots discarded-slots property-list &rest initargs) (incf update-counter)) (make-instances-obsolete 'foo92a) (slot-value x 's) update-counter)) Expected: 1 Got: 0 [Taken from clisp's clos.tst] * src/pcl/std-class.lisp (force-cache-flushes): Use new state :obsolete if some superclass has been obsoleted. * src/pcl/cache.lisp (check-wrapper-validity): If state is :invalid, recurse because force-cache-flushes can change the state.
-
- Jun 19, 2005
- Jun 17, 2005
-
-
rtoy authored
too.
-
- Jun 15, 2005
-
-
rtoy authored
:allocation and caused a regression on defmethod-forwared-referenced.1 test.
-
rtoy authored
Make sure the position arg to flonum-to-string is non-negative in this case.
-
rtoy authored
compiler/ppc/alloc.lisp: o Delete extra closing parens. compiler/ppc/insts.lisp: o Ignore some unused args. o Delete unused vars. compiler/ppc/move.lisp: o Delete unused vars.
-
- Jun 14, 2005
-
-
rtoy authored
cmucl-imp, on or around 2005/06/13. Some useful tests: (format nil "~9,3,2,0,'%G" 0.0314159) Expected: "0.314e-01" (format nil "~9,3,2,-2,'%@e" 3.14159) Expected: "+.003E+03" (format nil "~6,2,1,'*F" 3.14159) Expected: " 31.42" (format nil "~9,0,6f" 3.14159) Expected: " 3141590." (let (x) (dotimes (k 13 x) (setq x (cons (format nil "~%Scale factor ~2D: |~13,6,2,VE|" (- k 5) (- k 5) 3.14159) x)))) (" Scale factor 7: | 3141590.e-06|" " Scale factor 6: | 314159.0e-05|" " Scale factor 5: | 31415.90e-04|" " Scale factor 4: | 3141.590e-03|" " Scale factor 3: | 314.1590e-02|" " Scale factor 2: | 31.41590e-01|" " Scale factor 1: | 3.141590e+00|" " Scale factor 0: | 0.314159e+01|" " Scale factor -1: | 0.031416e+02|" " Scale factor -2: | 0.003142e+03|" " Scale factor -3: | 0.000314e+04|" " Scale factor -4: | 0.000031e+05|" " Scale factor -5: | 0.000003e+06|") code/format.lisp: o If the scale factor (k) is negative, the min number of digits to print is 1, not (- 1 k) because that prints too many if the field is too short. Setting fmin to fdig is ok if k >= 0. (See scale factor test above.) o If flonum-to-string returns with a trailing decimal point, we don't need to decrement spaceleft because that deletes a white-space character. (See first scale factor 7 test above.) code/print.lisp: o We need to adjust the number of digits to be printed to include the scale factor. See tests above.
-
rtoy authored
This week's fix is for something Lynn Quam reported 2004-10-18. (defclass a (b) ()) (compile nil (lambda () (defclass b () ((x :reader b-x))) (defmethod f ((obj b)) (b-x obj)))) => error during macro expansion The fix is: * src/pcl/method-slot-access-optimization.lisp (check-inline-accessor-call-p): Return nil for forward-referenced classes. * src/pcl/info.lisp (decide-slot-type): Return nil for forward-referenced classes.
-
- Jun 13, 2005
-
-
rtoy authored
Oliveira, cmucl-help.) o Use CALLBACK-FUNCALL in the example.
-
rtoy authored
This is done by faking it. The file being compiled is compiled as usual, but we append fake forms to the file as if they came from the file. These fake forms insert the necessary information into the xref databases when the fasl is loaded. To support this feature, we also updated COMPILE-FILE to recognize the :xref keyword arg. Set this to non-NIL to enable computing and saving xref information. code/exports.lisp: o Update XREF exports compiler/fndb.lisp: o Update with new definition of COMPILE-FILE. compiler/main.lisp: o Append fake forms to the file being compiled to save xref information to the fasl. This clears out any xref info we might have for the file, and inserts the necessary xref information into the database. o Add :XREF keyword arg to COMPILE-FILE. Default value of :XREF is C::*RECORD-XREF-INFO*. compiler/xref.lisp: o Add function to invalidate xref info for a given namestring, so we can reset the info when a fasl with xref info is loaded. o Add a function to find all xref information for a given pathname. Used for saving xref info to a fasl.
-
- Jun 09, 2005
-
-
rtoy authored
-
- Jun 07, 2005
- Jun 06, 2005
-
-
rtoy authored
Fix from Gerd, cmucl-imp, 2005-06-04 for the following test: (define-method-combination mc () ((primary () :required t)) `(restart-case (call-method ,(first primary)) ())) (defgeneric foo () (:method-combination mc) (:method () nil)) (foo) It turns out this is caused by RESTART-CASE macroexpanding its case expression, which it does to see if it starts with ERROR or similar. An ANSI thing, if I remember correctly.
-
emarsden authored
-
- Jun 01, 2005
- May 31, 2005
-
-
rtoy authored
case reported by Bruno is: #+CMU (use-package "PCL") (defclass b (a) ()) (defmethod compute-slots ((class (eql (find-class 'b)))) (append (call-next-method) (list (make-instance 'standard-effective-slot-definition :name 'y :allocation :instance)))) (defclass a () ((x :allocation :class))) ;; A should now have a shared slot, X, and a local slot, Y. (mapcar #'slot-definition-location (class-slots (find-class 'b))) Instead of an error about no matching method, we get ((X . PCL::..SLOT-UNBOUND..) 0)
-
- May 27, 2005
-
-
rtoy authored
string.
-
- May 26, 2005
- May 25, 2005
- May 24, 2005
- May 23, 2005
-
-
rtoy authored
string.
-
rtoy authored
Description: In (peek-char nil s nil foo), if foo happens to be the same character that peek-char returns, the character is removed from the input stream, as if read by read-char. Examples: * (with-input-from-string (s "123") (list (peek-char nil s nil #\1) (read-char s) (read-char s))) (#\1 #\2 #\3) This fix is based on the version proposed by Rudi Schlatte, with minor changes in naming.
-
rtoy authored
;; Shared slot becomes local. ;; 4.3.6.1.: "The value of a slot that is specified as shared in the old class ;; and as local in the new class is retained." (multiple-value-bind (value condition) (ignore-errors (defclass foo85a () ((size :initarg :size :initform 1 :allocation :class))) (defclass foo85b (foo85a) ()) (setq i (make-instance 'foo85b)) (defclass foo85a () ((size :initarg :size :initform 2) (other))) (slot-value i 'size)) (list value (type-of condition))) Expected: (1 NULL)
-
rtoy authored
This is also for something Bruno reported: The MOP p. 47 says about ensure-class-using-class: "The :metaclass argument is a class metaobject class or a class metaobject class name." However, CMUCL 19a does not support passing a class here.
-
rtoy authored
The problem here is that a fixnum value gets stored in an unsigned-byte vector, which messes up the linked list.
-
- May 19, 2005
-
-
rtoy authored
short and fit on one line.
-
- May 17, 2005
-
-
rtoy authored
Use boot-19b.lisp to bootstrap this change.
-