- May 12, 2003
-
-
gerd authored
pcl:: prefixes instead of mop:
-
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
-
gerd authored
* src/code/tty-inspect.lisp (describe-parts): Handle standard-object. (describe-standard-object-parts): New function.
-
- May 11, 2003
-
-
gerd authored
breakpoints can't be used. * src/code/ntrace.lisp (trace-1): Use can-set-function-end-breakpoint-p. * src/code/debug-int.lisp (can-set-function-end-breakpoint-p): New function.
-
- May 09, 2003
- May 08, 2003
-
-
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.
-
- May 06, 2003
-
-
gerd authored
like structures.
-
- May 05, 2003
- May 04, 2003
-
-
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.
-
- May 03, 2003
- May 01, 2003
-
-
gerd authored
strings. * src/code/format.lisp (%min/max-iteration-args): New function. (%min/max-format-args): Use it. Handle ~?.
-
- Apr 30, 2003
-
-
gerd authored
* src/code/format.lisp (min/max-format-arguments-count) (min/max-format-args, min/max-conditional-args): New functions. * src/compiler/srctran.lisp (check-format-args): New function. (format): New transformer for simple-string format control and (<= speed space), checking number of args. (format) <transforms>: Use min/max-format-arguments-count. * src/code/package.lisp (unintern): Add missing args to format. * src/compiler/disassem.lisp (maybe-note-associated-storage-ref): Remove extraneous format arg.
-
gerd authored
*timed-functions*.
-
gerd authored
(define-condition): Parse :documentation.
-
- Apr 29, 2003
-
-
emarsden authored
Make SIMPLE-PARSE-ERROR subclass PARSE-ERROR (fixes bug in PARSE-INTEGER reported to cmucl-help by Johannes Grødem).
-
- Apr 27, 2003
-
-
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?
-
- Apr 26, 2003
-
-
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 * *).
-
- Apr 24, 2003
- Apr 23, 2003
-
-
gerd authored
Rhodes. * src/code/type.lisp (member-type): Add :constructor. (make-member-type): New function. (not) <type translator>: Treat member types specially.
-
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.
-
- Apr 22, 2003
-
-
toy authored
Alexey fixed in SBCL.
-
- Apr 21, 2003
-
-
gerd authored
a type-error, as per ANSI.
-
- Apr 19, 2003
-
-
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.
-
toy authored
-
- Apr 18, 2003
-
-
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.
-
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.
-
- Apr 17, 2003
-
-
toy authored
-
gerd authored
test cases. * src/code/error.lisp (munge-restart-case-expression) Add environment parameter. (restart-case): Add &environment and pass it to munge-restart-case-expression.
-
gerd authored
* src/code/error.lisp (%find-restarts): New function. (munge-restart-case-expression): Use it instead of find-restart which returns only one restart object for restarts with equal names.
-
- Apr 16, 2003
-
-
gerd authored
Dietz' test suite. From SBCL. * src/code/error.lisp (define-nil-returning-restart): Invoke the restart returned from find-restart.
-
gerd authored
* src/code/symbol.lisp (get-properties, getf): Signal type-error instead of program-error.
-
toy authored
ansi-tests.
-
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.
-
- Apr 15, 2003
-
-
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.
-