Skip to content
Snippets Groups Projects
  1. May 05, 2003
  2. May 04, 2003
    • gerd's avatar
      * src/pcl/boot.lisp (bind-args): Fix last change. · 52639f10
      gerd authored
      52639f10
    • gerd's avatar
      Generate inline code for keyword argument processing in methods. · 4aa821e9
      gerd authored
      	Cleanup the code involved.
      
      	* src/pcl/boot.lisp (keyword-argument-processor): New function.
      	(bind-args): Rewritten.
      	(get-key-arg, get-key-arg1): Removed.
      4aa821e9
    • gerd's avatar
      *** empty log message *** · e7c67767
      gerd authored
      e7c67767
    • gerd's avatar
      &ENVIRONMENT variable is bound at the start, regardless of · a6878d10
      gerd authored
      	where it appears in the lambda list.  Found by Paul Dietz.
      
      	* src/code/defmacro.lisp (append-let-binding): New function.
      	(parse-defmacro-lambda-list): Use it for &environment.
      a6878d10
    • gerd's avatar
      Code cleanup. Use EXTENSIONS package to reduce clutter. · 4e0d7ca0
      gerd authored
      	* src/pcl/defsys.lisp ("PCL", "WALKER"): Use ext.
      	* src/pcl/pkg.lisp ("PCL", "WALKER"): Use ext.
      	* src/pcl/*.lisp: Remove ext: prefixes.
      
      	* src/pcl/low.lisp (symbolicate*): Renamed from symbolicate.
      	* src/pcl/std-class.lisp (shared-initialize):
      	* src/pcl/defs.lisp (get-built-in-class-symbol)
      	(get-built-in-wrapper-symbol):
      	* src/pcl/braid.lisp (initial-classes-and-wrappers)
      	(bootstrap-meta-braid): Use symbolicate*.
      
      	* src/pcl/macros.lisp (dolist-carefully): Removed.
      	(true, false, zero): Moved to defclass.lisp.
      	(printing-random-thing-internal): Removed.
      	(printing-random-thing): Removed.
      	(rassq): Removed.
      	(*keyword-package*): Removed.
      	(make-keyword): Removed; import from cl.
      	(memq, delq, assq): Macros removed, import from ext.
      	(get-declaration): Moved to boot.lisp, where it's used.
      
      	* src/pcl/boot.lisp (get-declaration): Moved here from
      	macros.lisp.
      
      	* src/pcl/methods.lisp (named-object-print-function, print-object):
      	* src/pcl/low.lisp (print-std-instance):
      	* src/pcl/dfun.lisp (print-dfun-info):
      	* src/pcl/cache.lisp (print-cache, print-wrapper):
      	* src/pcl/boot.lisp (make-early-gf):
      	Use print-unreadable-object instead of printing-random-thing.
      
      	* src/pcl/defclass.lisp (true, false, zero): Moved here from
      	macros.lisp.
      
      	* src/pcl/methods.lisp (legal-qualifiers-p)
      	(legal-specializers-p): Use dolist.
      4e0d7ca0
    • gerd's avatar
      *** empty log message *** · e0666d47
      gerd authored
      e0666d47
    • gerd's avatar
      Detect odd-length keyword argument lists, invalid keyword · 6d42033b
      gerd authored
      	arguments is methods.  Change lambda-lists of some gfs and methods
      	to include &key, or &key &allow-other-keys.  Bugs found by Paul
      	Dietz in his test suite.
      
      	* src/pcl/boot.lisp (bind-args): Handle the case that &key is
      	in the lambda-list, but no keyword args.
      	(get-key-arg1): Additional argument first-time; check for
      	invalid keyword arguments, and add number of args when true.
      	(get-key-arg): Call get-key-arg1.
      	(odd-number-of-keyword-arguments, invalid-keyword-argument):
      	New functions.
      
      	* src/pcl/init.lisp (make-instance) <symbol, class>: Add &key.
      	(initialize-instance) <slot-object>: Likewise.
      	(reinitialize-instance) <slot-object>: Likewise.
      	(update-instance-for-different-class): Likewise.
      	(update-instance-for-redefined-class): Likewise.
      	(shared-initialize) <slot-object>: Likewise.
      	* src/pcl/std-class.lisp (change-class): Likewise.
      	* src/pcl/slots.lisp (allocate-instance) <standard-class>:
      	(allocate-instance) <structure-class>: Likewise.
      	* src/pcl/methods.lisp (reinitialize-instance) <standard-method>:
      	Likewise.
      	* src/pcl/generic-functions.lisp (change-class)
      	(allocate-instance, update-instance-for-different-class)
      	(update-instance-for-redefined-class): Add &key &allow-other-keys.
      	* src/pcl/fsc.lisp (allocate-instance)
      	<funcallable-standard-class>: Add &key.
      
      	* src/pcl/std-class.lisp (make-defstruct-allocation-function): Fix
      	a paren bug.
      6d42033b
  3. May 03, 2003
  4. May 02, 2003
  5. May 01, 2003
  6. Apr 30, 2003
  7. Apr 29, 2003
    • emarsden's avatar
      · 2048dc3a
      emarsden authored
      Make SIMPLE-PARSE-ERROR subclass PARSE-ERROR (fixes bug in PARSE-INTEGER
      reported to cmucl-help by Johannes Grødem).
      2048dc3a
    • emarsden's avatar
      · 4853a5a4
      emarsden authored
      Add missing return type declaration for DEFKNOWN form for %SET-FILL-POINTER.
      4853a5a4
    • gerd's avatar
      Fix for various ANSI test cases that fail when compiled because · bc84c059
      gerd authored
      	argument type checks are constant-folded away.
      
      	* src/compiler/ir1opt.lisp (constant-fold-call): In safe code,
      	don't constant-fold a call if one of its arguments requires
      	a type check.
      
      	* src/compiler/checkgen.lisp (probable-type-check-p): Return
      	true for :error type-checks if safety = 3.
      
      	Fix ENDP.* test failures when running tests compiled.  From SBCL,
      	basically.
      
      	* src/compiler/ir1opt.lisp (ir1-optimize, ir1-optimize-if):
      	Don't eliminate if-tests requiring type checks.
      
      	* src/compiler/checkgen.lisp (continuation-check-types):
      	Add parameter force-hairy.
      	(generate-type-checks): Call continuation-check-types with
      	force-hairy true for :error continuations in safe code.
      bc84c059
    • gerd's avatar
      Make ALLOCATE-INSTANCE work on structures defined with DEFSTRUCT. · 032e23fc
      gerd authored
      	Detected by Paul Dietz' tests.
      
      	* src/pcl/std-class.lisp (make-defstruct-allocation-function):
      	New function.
      	(shared-initialize) <structure-class>: Use it.
      032e23fc
    • gerd's avatar
      Make DIRECT-SLOT-DEFINITION-CLASS and EFFECTIVE-SLOT-DEFINITION-CLASS · 93379ab5
      gerd authored
      	AMOP compliant.  From Kevin Rosenberg on cmucl-imp 2003-04-29.
      
      	* src/pcl/std-class.lisp (direct-slot-definition-class):
      	(effective-slot-definition-class): Change methods accordingly.
      	(make-direct-slotd): Apply direct-slot-definition-class to
      	initargs instead of funcalling it.
      	(compute-effective-slot-definition): Likewise for
      	effective-slot-definition-class.
      
      	* src/pcl/generic-functions.lisp (direct-slot-definition-class)
      	(effective-slot-definition-class): Make initargs a &rest arg.
      93379ab5
  8. Apr 28, 2003
    • cracauer's avatar
      · 257c3a31
      cracauer authored
      Don't damage argv[0] when startup code is invoced with absolute path.
      
      If we ever do a patch release this should be in.
      257c3a31
    • gerd's avatar
      * src/pcl/slots-boot.lisp (ensure-accessor): Initialize the slot's · 5b15790a
      gerd authored
      	entry in *name->class->slotd-table* in case the load-time-value is
      	executed before initialize-internal-slot-functions had a chance to
      	run.
      5b15790a
  9. Apr 27, 2003
  10. Apr 26, 2003
    • gerd's avatar
      ANSI test CLASS-0211B.1. Initforms of shared slots inherited · adab5ee5
      gerd authored
      	from superclasses.
      
      	* src/pcl/std-class.lisp (update-shared-slot-values): New function.
      	(update-class): Call it.
      	(shared-initialize): Slightly rewritten.
      adab5ee5
    • gerd's avatar
      * src/compiler/fndb.lisp (nconc): Change arg types to T · 58a13a11
      gerd authored
      	because the last arg may not be a list.
      58a13a11
    • gerd's avatar
      Fix for compiled test cases of the form (PROGN (FBOUNDP 42) T), · bdf98d92
      gerd authored
      	which don't signal an error in safe code because such calls are
      	flushed when the called function is FLUSHABLE and the value of the
      	call is not used.
      
      	* src/compiler/ir1opt.lisp (flush-dead-code):
      	Suppress flushing of flushable known functions if safety = 3.
      bdf98d92
    • gerd's avatar
      CLASS-04.[2345], CONDITION-27-READER-IS-GENERIC, compiled. Avoid · ce55ee05
      gerd authored
      	constant-folding tests for generic-functionness.  Fix intersection
      	of function types and generic-function.
      
      	* src/code/type.lisp (type-intersection2): Handle intersection
      	of FUNCTION-TYPEs with non-FUNCTION-TYPEs, like generic-function.
      
      	* src/compiler/typetran.lisp (ir1-transform-type-predicate)
      	(typep): Handle generic-function type tests differently.
      
      	* src/code/class.lisp (class) <:complex-subtypep-arg1>:
      	New type method for function = (function * *).
      ce55ee05
Loading