Skip to content
Snippets Groups Projects
  1. May 12, 2003
    • gerd's avatar
      * src/code/tty-inspect.lisp (describe-standard-object-parts): Use · 16427ca3
      gerd authored
      	pcl:: prefixes instead of mop:
      16427ca3
    • emarsden's avatar
      · 807d6f0f
      emarsden authored
      Add package locks. Bootfile boot8.lisp allows this to build without
      a cross-compile (or just select the CLOBBER-IT restart).
      
         - two extra PACKAGE-LOCK and PACKAGE-DEFINITION-LOCK slots added to
           the package structure. These can be modified using the
           EXT:PACKAGE-LOCK and EXT:PACKAGE-DEFINITION-LOCK accessors.
      
         - macro EXT:WITHOUT-PACKAGE-LOCKS that evaluates forms with all
           package locks disabled (this is done by binding the global
           variable CL::*ENABLE-PACKAGE-LOCKED-ERRORS*)
      
         - new PACKAGE-LOCKED-ERROR condition
      
         - in SETF-FDEFINITION-HOOK and in the DEFMACRO, DEFSTRUCT, DEFTYPE
           and DEFCLASS defining forms, check whether the definition would
           modify a package whose definition-lock is enabled, and signal a
           package-locked-error condition with restarts that allow you to
           unlock the package or ignore the lock
      
         - in EXPORT, UNEXPORT etc check whether the target package is
           guarded by a package-lock, and signal an error
      
         - disable package locks when loading a subsystem
      
         - disable package locks in certain areas of PCL and in the
           MAKE-LOAD-FORM support of the compiler, where code is generated
           inside system packages at runtime
      807d6f0f
    • gerd's avatar
      Inspect CLOS instances. · 5c12720e
      gerd authored
      	* src/code/tty-inspect.lisp (describe-parts): Handle
      	standard-object.
      	(describe-standard-object-parts): New function.
      5c12720e
  2. May 11, 2003
  3. May 09, 2003
  4. May 08, 2003
    • gerd's avatar
      Fix problems with THE detected by Paul Dietz' tests. This also · 2e8488e0
      gerd authored
      	fixes the problem that CMUCL generated RETURN-MULTIPLE without a
      	good reason.
      
      	* src/compiler/checkgen.lisp (values-types-asserted): Use
      	coerce-to-values again.  Add fixme comments and #+nil code for
      	known problems; these aren't new problem, though.
      
      	* src/code/type.lisp (coerce-to-values): Don't add &rest t,
      	which is the business of THE.
      	(values) <type translator>: Disallow &key and &allow-other-keys.
      
      	* src/compiler/ir1tran.lisp (the) <IR1 translator>: Add &rest t
      	where appropriate, or-in null type into required types, for
      	missing values.
      2e8488e0
  5. May 06, 2003
  6. May 05, 2003
  7. May 04, 2003
  8. May 03, 2003
  9. May 01, 2003
  10. Apr 30, 2003
  11. 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
  12. Apr 27, 2003
    • toy's avatar
      Remove all stuff relating to :negative-zero-is-not-zero which enabled · a26fba41
      toy authored
      the non-ANSI feature of making -0 and +0 different in
      type-specifiers.  Internal code still assumes this in various places,
      however.  Since our type system is much smarter now than when this was
      written (and handles type unions and member types much better),
      perhaps we should clean this up?
      a26fba41
  13. Apr 26, 2003
    • 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
  14. Apr 24, 2003
  15. Apr 23, 2003
    • gerd's avatar
      Final fix for -0d0/0d0 and member types from Christophe · f6fdc008
      gerd authored
      	Rhodes.
      
      	* src/code/type.lisp (member-type): Add :constructor.
      	(make-member-type): New function.
      	(not) <type translator>: Treat member types specially.
      f6fdc008
    • gerd's avatar
      Make the type system more forgiving wrt to unknown types. · 23f8e9ce
      gerd authored
      	Temporary fix for -0d0/0d0 and member types.
      
      	* src/code/type.lisp (reparse-unknown-type): New function.
      	(type-union2, type-intersection2): Use it.
      	(hierarchical-intersection2, hierarchical-union2): Moved to
      	typedef.lisp.
      	(member): Temporary fix for -0d0/0d0 problem; Christophe Rhodes is
      	working on the real fix.
      
      	* src/code/typedefs.lisp (type-class): Use hierachical-union2
      	and hierachical-intersection2 as inits for slots simple-union
      	and simple-intersection, like SBCL does.
      	(hierarchical-intersection2, hierarchical-union2): Moved
      	here from type.lisp.
      23f8e9ce
  16. Apr 22, 2003
  17. Apr 21, 2003
  18. Apr 19, 2003
    • 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
  19. 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
  20. Apr 17, 2003
  21. 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
  22. Apr 15, 2003
    • gerd's avatar
      Speed up the type system. · 4898b8c2
      gerd authored
      	* src/code/type.lisp (*ctype-arrays*): New variable.
      	(with-types-array): New macro.
      	(simplify-union-types, simplify-intersection-types): Use it,
      	return lists.
      	(%type-union, %type-intersection): Handle lists instead of
      	vectors returned by the simplification functionts.
      4898b8c2
Loading