Skip to content
Snippets Groups Projects
  1. Apr 21, 2003
  2. Apr 20, 2003
  3. Apr 19, 2003
    • gerd's avatar
      *** empty log message *** · 2c52eb37
      gerd authored
      2c52eb37
    • gerd's avatar
      Add destructuring support to &REST, &BODY, &WHOLE. Detected · 1ca1159c
      gerd authored
      	by Paul Dietz' ANSI tests.
      
      	* src/code/defmacro.lisp (parse-defmacro-lambda-list): Add
      	&parse-body, replacing &body (<body> <decls> <doc>).  Add
      	destructuring support to &rest, &body, &whole.
      
      	* src/code/eval.lisp (lambda-list-keywords): Add &parse-body.
      
      	* src/code/exports.lisp ("EXTENSIONS"): Export &parse-body.
      
      	* src/hemlock/table.lisp (do-words, with-folded-string):
      	* src/hemlock/macros.lisp (with-pop-up-display):
      	* src/compiler/macros.lisp (deftransform):
      	* src/compiler/ir1tran.lisp (symbol-macrolet, let, locally)
      	(let*, flet, labels) <ir1-translator>:
      	* src/code/package.lisp (do-symbols, do-external-symbols)
      	(do-all-symbols):
      	* src/code/macros.lisp (defun, prog, prog*, with-open-file)
      	(with-open-stream, with-input-from-string)
      	(with-output-to-string, do, do*):
      	* src/code/mach.lisp (gr-bind):
      	* src/code/extensions.lisp (do-anonymous, do-hash, defun-cached):
      	Use &parse-body instead of &body.
      1ca1159c
    • toy's avatar
      32677b40
    • gerd's avatar
      Fix for LAMBDA.{27,28,29,50,32,33,34,35}, FLET.{57,58,59,60} · 6c329976
      gerd authored
      	test cases.
      
      	* src/compiler/locall.lisp (convert-more-call): Handle the
      	case of a null arglist.
      6c329976
  4. Apr 18, 2003
    • gerd's avatar
      Fix for RANDOM-NSET-EXCLUSIVE-OR test case. NSET-EXCLUSIVE-OR · eba7fd9d
      gerd authored
      	used to return different results than SET-EXCLUSIVE-OR, and its
      	algorithm doesn't appear to be easily fixable.  Wait for someone
      	who cares enough to fix the algorithm.
      
      	* src/code/list.lisp (nset-exclusive-or): Implement in terms of
      	SET-EXCLUSIVE-OR.
      eba7fd9d
    • gerd's avatar
      Make condition readers/writers generic functions, as required by · 897b08d2
      gerd authored
      	ANSI.  Detected by Paul Dietz' ANSI test suite.
      
      	* src/tools/worldcom.lisp: Set
      	conditions::*make-condition-accessor-methods* to nil.
      
      	* src/tools/pclcom.lisp: Convert condition accessor gfs back
      	to normal functions.
      
      	* src/code/error.lisp (*make-condition-accessor-methods*)
      	(*early-condition-accessors*): New variables.
      	(make-early-condition-accessors-generic)
      	(make-condition-accessor): New functions.
      	(%define-condition): Use make-condition-accessor.
      	(define-condition): Define methods if
      	*make-condition-accessor-methods*.
      
      	* src/pcl/fixup.lisp (toplevel): Call
      	conditions::make-early-condition-accessors-generic.
      897b08d2
    • gerd's avatar
      Further fixes for making SUBTYPEP work with forward-referenced · 57aa48d9
      gerd authored
      	classes.
      
      	* src/pcl/std-class.lisp (make-preliminary-layout): Map over
      	subclasses, updating preliminary cpl info.
      
      	* src/pcl/rt/defclass.lisp (defclass-types.6): New test.
      57aa48d9
    • gerd's avatar
      Return block names for PCL function names. From Eric Marsden. · 52c60eaa
      gerd authored
      	* src/pcl/macros.lisp (class-predicate, slot-accessor)
      	<function names>: Return block names.
      
      	* src/pcl/ctor.lisp (ctor) <function name>: Return a block name.
      52c60eaa
  5. Apr 17, 2003
  6. Apr 16, 2003
    • gerd's avatar
      Fix test cases CONTINUE.2, STORE-VALUE.2, USE-VALUE.2 from Paul · 5eaefe41
      gerd authored
      	Dietz' test suite.  From SBCL.
      
      	* src/code/error.lisp (define-nil-returning-restart): Invoke
      	the restart returned from find-restart.
      5eaefe41
    • gerd's avatar
      ANSI fixes. · 3c3b64ad
      gerd authored
      	* src/code/symbol.lisp (get-properties, getf): Signal type-error
      	instead of program-error.
      3c3b64ad
    • toy's avatar
      Back out the debug return changes. It causes errors in some of the · 38d0404a
      toy authored
      ansi-tests.
      38d0404a
    • gerd's avatar
      Further speed-up of the type system. Avoid compiler notes. · aebfebbd
      gerd authored
      	The type system is now as fast as it were before.
      
      	* src/code/type.lisp: Collect type-class and structure definitions
      	at the beginning of the file to avoid compiler notes and get
      	slot accessor inlining.
      	(with-types-array, *ctype-arrays*): Removed.
      	(simplify-unions): Rewritten simplify-union-types.
      	(simplify-intersections): Rewritten simplify-intersection-types.
      	(%type-union2): Removed, inlined in type-union2.
      	(%type-intersection2): Removed, inlined in type-intersection2.
      aebfebbd
  7. Apr 15, 2003
  8. Apr 14, 2003
  9. Apr 13, 2003
    • gerd's avatar
      * src-head/code/type.lisp (type-might-contain-other-types-p): · e5551afd
      gerd authored
      	Declaim inline.
      e5551afd
    • emarsden's avatar
    • gerd's avatar
      * src/pcl/dfun.lisp (cache-miss-values-internal): · 366188f2
      gerd authored
      	Push wrappers on *cmv-stack* instead of classes.
      
      	* src/pcl/rt/defgeneric.lisp (method-class.0): New test.
      
      	* src/pcl/gf-call-optimization.lisp (compute-calls):
      	Simplify.
      
      	* src/pcl/cache.lisp (probe-cache): Remove version in #+nil.
      366188f2
    • gerd's avatar
      Fix CONDITION-x-SLOTS* ANSI test failures. · cdb3a46f
      gerd authored
      	* src-types/code/error.lisp (condition-reader-function): Loop over
      	actual initargs first because these determine how slots are
      	initialized.
      	(compute-effective-slots): Don't duplicate slots of the class
      	whose effective slots are computed.
      cdb3a46f
    • gerd's avatar
      Don't export a class DIRECTORY from CL. Fixes ANSI test case · 81978758
      gerd authored
      	ALL-EXPORTED-CL-CLASS-NAMES-ARE-VALID.
      
      	* src-types/code/unix.lisp (%directory): Struct renamed from
      	directory, give it a :conc-name and :constructor for compatibility.
      
      	* src-types/code/unix-glibc2.lisp: Likewise.
      81978758
    • gerd's avatar
      The SEQUENCE-COUNT type was previously used in c:fndb, but since · c1effa7a
      gerd authored
      	C::SEQUENCE-COUNT /= KERNEL::SEQUENCE-COUNT, it was an unknown
      	type.  Please read boot4.lisp.
      
      	* src/code/exports.lisp ("KERNEL"): Export sequence-count.
      
      	* src-types/bootfiles/18e/boot4.lisp: New file.
      
      
      	Make compute-effective-slot-definition AMOP compliant.
      	Patch from Kevin Rosenberg.
      
      	* src/pcl/std-class.lisp (compute-slots): Pass slot name
      	to compute-effective-slot-definition.
      	(compute-slots): Likewise.
      	(compute-effective-slot-definition): Add parameter slot-name.
      
      	* src/pcl/generic-functions.lisp (compute-effective-slot-definition):
      	Add second parameter slot-name.
      
      
      	Allow non-keyword keyword names in lambda lists.  This fixes test
      	cases STRUCTURE-BOA-TEST-15/[1-8], and FLET.30.
      
      	* src/compiler/node.lisp (arg-info): Accept non-keyword
      	keyword names.
      
      	* src/code/type.lisp (key-info): Likewise.
      
      
      	Fix type system bugs detected by Paul Dietz' test suite
      	This is to a large extent a port from SBCL.
      
      	* src/code/type.lisp: Mostly rewritten with code ported from
      	SBCL.
      
      	* src/compiler/typetran.lisp (ir1-transform-type-predicate):
      	Return nil if type is *empty-type*.
      	(source-transform-negation-typep)
      	(source-transform-intersection-typep): New functions.
      	(source-transform-array-typep): Handle unknown array element types.
      	(typep): Add handling of negation and intersection types.
      
      	* src/compiler/srctran.lisp (make-canonical-union-type):
      	Simplify, now that #'type-union is smarter.
      	(ir1-transform-<-helper): Give up on non-numeric, non-member
      	types.
      
      	* src/compiler/checkgen.lisp (type-test-cost): Add a case
      	for intersection-type.
      	(values-types-asserted): Don't use coerce-to-values, see
      	the comment there.
      
      	* src/compiler/array-tran.lisp (array-dimension): Accept
      	:maybe as array-type-complexp.
      
      	* src/code/pred.lisp (%%typep): Add handling of
      	negation-types and intersection-types.  Change cases of
      	hairy-types, union-types, and arrays with unknown element type.
      
      	* src/code/exports.lisp ("KERNEL"): Export negation-type,
      	negation-type-type, intersection-type, intersection-type-types.
      
      	* src/code/class.lisp (sealed-class-intersection):
      	Return one value.
      	(class :simple-intersection): Return one value, return nil in
      	the default case.
      	(class :complex-subtypep-arg2): New type method.
      c1effa7a
  10. Apr 11, 2003
Loading