- May 19, 2003
-
-
gerd authored
-
- May 17, 2003
-
-
gerd authored
ENCAPSULATION, making it possible to write more efficient encapsulations than currently possible. * src/code/fdefinition.lisp (fdefn-or-lose): New function. (%coerce-to-function): Use it. (encapsulation): Funcallable structure replacing encapsulation-info. (print-encapsulation-info): Removed. (do-encapsulations): New macro. (encapsulation): Replaces function encapsulation-info. (last-encapsulation, push-encapsulation): New functions. (encapsulate, unencapsulate, encapsulated-p, fdefinition): Rewritten.
-
- May 15, 2003
-
-
toy authored
o Add support for doc-strings and declarations for callback functions. The declarations apply to the entire callback function, not just to the body. o Remove an unneeded sap+ when returning the value from the callback.
-
gerd authored
* src/code/ntrace.lisp (trace-1, untrace-1): Use without-package-locks. * src/code/profile.lisp (make-profile-encapsulation) (unprofile-1-function): Use without-package-locks. (compute-time-overhead): Don't use without-package-locks.
-
gerd authored
encapsulation. Use encapsulation for functions from a given list of packages to automate this. * src/code/ntrace.lisp (*trace-encapsulate-package-names*): New variable. (trace-call): Temporarily restore the unencapsulated definition of the function. (encapsulate-by-package-p): New function. (trace-1): Use it. * src/code/exports.lisp ("DEBUG"): Export *trace-encapsulate-package-names*. * src/docs/cmu-user/debugger.tex (section{Function Tracing}): Add *trace-encapsulate-package-names*.
-
- May 14, 2003
-
-
toy authored
-
gerd authored
without-package-locks.
-
toy authored
code/alieneval.lisp: o Main callback support code/exports.lisp: o Export DEF-CALLBACK and CALLBACK. o Export CALLBACK-ACCESSOR-FORM and MAKE-CALLBACK-TRAMPOLINE o Reindent a few items. x86/c-call.lisp: o Helmut's MAKE-CALLBACK-TRAMPOLINE for x86. sparc/c-call.lisp: o MAKE-CALLBACK-TRAMPOLINE for sparc.
-
- May 13, 2003
-
-
emarsden authored
Build cleanups: - disable package locks in tools/setup.lisp, so that things can be redefined while rebuilding CMUCL - add forward-references for a number of functions that are referenced before they are loaded during the CMUCL build process (for instance CLOS-related functions that are used in the CMUCL core). This gets rid of a lot of compiler warnings while building. - export %CLASS-NAME from kernel package
-
- May 12, 2003
-
-
gerd authored
struct names.
-
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
-