- Jul 13, 2005
-
-
rtoy authored
NIL, which means unbounded. Fixes ansi-test misc.89b, which was calling coerce on an integer that was too big to fit in a single-float.
-
rtoy authored
-
rtoy authored
but we weren't in cases like (multiple-value-setq nil :good).
-
rtoy authored
o functions with doc-type of 'function or t o compiler-macros with doc-type 'compiler-macro These failures were found in the ansi-tests.
-
rtoy authored
code/bsd-os.lisp: o Automatically define :freebsd4 and :elf, if compiling lisp has them defined. tools/create-target.sh: o Support FreeBSD. tools/setenv-scripts/freebsd-features.lisp: o New file with default (commented out) example for FreeBSD.
-
rtoy authored
nothing. When hemlock is loaded, ED is replaced by the version from hemlock.
-
- Jul 12, 2005
- Jul 07, 2005
-
-
rtoy authored
This is for one of Bruno's bug reports. For example, (defclass upd-history () ((history :initform ()))) (defmethod update-dependent ((gf generic-function) (history upd-history) &rest args) (push args (slot-value history 'history))) (defun history-event-list (history) (mapcar (lambda (event) (mapcar (lambda (x) (if (typep x 'method) (list 'method (mapcar #'class-name (method-specializers x))) x)) event)) (reverse (slot-value history 'history)))) (let ((hist (make-instance 'upd-history))) (defgeneric upd0 (x)) (add-dependent #'upd0 hist) (defmethod upd0 ((x integer))) (history-event-list hist)) => ((add-method (method (integer))))) But, instead of the above expected result, it produces => (nil (add-method (method (integer))))) The nil is from a reinitialize-instance of the gf, which is triggered by load-defmethod calling ensure-generic-function, which in turn calls ensure-generic-function-using-class on the existing gf, which finally calls reinitialize-instance. I'm not 100% sure if this is correct or not. My reading of CLHS/MOP is that this is at least not forbidden. Opinions? * src/pcl/methods.lisp (real-add-method, update-gf-dependents): New function. (real-add-method, real-remove-method): Call it. (reinitialize-instance) <:around standard-generic-function>: Update dependent objects. * src/pcl/std-class.lisp (update-dependent): New default method.
-
rtoy authored
However, for logical pathnames, call translate-logical-pathname to get a usable pathname that dlopen can understand.
-
rtoy authored
-
- Jul 05, 2005
- Jul 01, 2005
-
-
rtoy authored
-
rtoy authored
-
rtoy authored
for the position. Add support. Reported by Bruno Haible, cmucl-imp, 28 Jun 2005.
-
rtoy authored
tools/build.sh: o If gmake exists, assume it is GNU make and use it instead of make. tools/create-target.sh: o Auto-detect FreeBSD and use FreeBSD_gencgc as the default config.
-
rtoy authored
semicolon in some cases (usually load time value of something from PCL).
-
- Jun 30, 2005
- Jun 26, 2005
-
-
rtoy authored
mrg32k3a test in cl-bench.
-
- 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