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
Loading