- Jun 06, 2003
-
-
gerd authored
* src/pcl/methods.lisp (setf class-name) <before>: New method setting the kernel class' name. * src/code/pred.lisp (type-of): Don't return list function types. Return boolean for t, (integer n n) for integers, keyword for keywords, standard-char for standard characters. Return the CLOS class for classes not having a proper name.
-
- Jun 05, 2003
-
-
toy authored
version. Bug noted by Paul Foley, who supplied this fix.
-
- Jun 02, 2003
-
-
emarsden authored
- an extra optional argument to COMPILER-NOTIFICATION makes it possible to pass text describing the error/note to *COMPILER-NOTIFICATION-FUNCTION*. - functions for *COMPILER-NOTIFICATION-FUNCTION* have an extra second argument which describes the error/note - modify the eval-server functionality in Hemlock in consequence This backwards-incompatible change makes the *COMPILER-NOTIFICATION-FUNCTION* facility considerably more useful, since the description of the error (which was previously not passed to the notification-function) is very useful when reporting an error. Compile-time effect of DEFCONSTANT: instead of discarding the documentation string, add it to the info database.
-
emarsden authored
- LOAD binds *ENABLE-PACKAGE-LOCKED-ERRORS*, so loading a file that sets that variable only has an effect while loading - the WITHOUT-PACKAGE-LOCKS needs an EVAL-WHEN (noted by Lynn Quamm on cmucl-imp)
-
toy authored
solution from Wolfhard Buss.
-
- Jun 01, 2003
- May 29, 2003
-
-
toy authored
* lisp/sunos-os.h (PROTECTION_VIOLATION_SIGNAL): Define it for stack-checking. * lisp/solaris-os.c (segv_handler): Add stack-checking support for Solaris. * lisp/os.h (os_control_stack_overflow): Give a type name to the zone enums (mostly for the debugger). * lisp/os-common.c (guard_zones): Add stack-checking support for Solaris. (os_control_stack_overflow): Add stack-checking support for Solaris. * lisp/interrupt.c (build_fake_control_stack_frame): New function for building a stack frame without the foreign call stuff. Used for stack checking. (interrupt_install_low_level_handler): Only need to install alternate signal stack for x86. * lispinit.lisp: (scrub-control-stack): Rename to %scrub-control-stack to match x86 version so control stack guard is done. * parms.lisp (static-symbols): Added new static symbols for control stack checking.
-
gerd authored
* src/lisp/Config.FreeBSD (NM): Use linux-nm. * src/code/gc.lisp: Use bytes_allocated for cgc because get_bytes_allocated_{lower,higher} is only implemented for gencgc.
-
- May 28, 2003
-
-
gerd authored
* src/code/loop.lisp (loop-for-arithmetic): Use type number instead of real.
-
gerd authored
* src/pcl/std-class.lisp (*allow-funny-slot-names*): Renamed from *allow-keyword-slot-names*. * src/pcl/methods.lisp (legal-slot-name-p): Allow any symbol if *allow-funny-slot-names* is true. (shared-initialize): Print the value of the :slot-name initarg. * src/code/defstruct.lisp (parse-1-dsd): Treat nil as symbol when used as a slot name.
-
- May 26, 2003
-
-
gerd authored
:expected-type, which lead to the conditions which were not displayable because the corresponding condition slots are not bound. * src/code/seq.lisp (coerce): * src/code/list.lisp (nreconc): * src/code/interr.lisp (invalid-array-index-error): * src/code/bignum.lisp (bignum-to-float): * src/code/byte-interp.lisp (%byte-car, %byte-cdr): Fix type-errors to include :datum and/or :expected-type. Add &more handling to the byte-compiler and -interpreter. Reported by Paul Werkowski on cmucl-imp. * src/compiler/byte-comp.lisp (make-xep-for): Handle &more. * src/code/byte-interp.lisp (hairy-byte-function): Change type of rest-arg-p slot. (invoke-xep): Handle &more.
-
gerd authored
informative error messages. From Lynn Quam, on cmucl-imp.
-
- May 24, 2003
-
-
gerd authored
Add some text wrt fdefinition/(setf fdefinition). * src/code/fdefinition.lisp (fdefinition, %set-fdefinition): Improve doc strings.
-
- May 23, 2003
-
-
gerd authored
-
gerd authored
To bootstrap, use boot12.lisp with pmai's scripts. * src/bootfiles/18e/boot12.lisp: New file. * src/tools/worldload.lisp, src/tools/worldcom.lisp: * src/tools/worldbuild.lisp: Add code:fwrappers. * src/docs/cmu-user/extensions.tex (Function Wrappers): New section. * src/code/fwrappers.lisp: New file. * src-fw/pcl/defs.lisp (gdefinition): Don't check for profiled functions. * src-fw/code/exports.lisp: Add walker and fwrappers. * src-fw/code/fdefinition.lisp (fdefn-init): Set *valid-function-names* to nil. (encapsulation): Structure removed. (do-encapsulations, encapsulation, last-encapsulation) (push-encapsulation, encapsulate, unencapsulate, encapsulated-p): Removed. There is a compatibility layer in fwrappers.lisp. (fdefinition, %set-fdefinition): Rewritten. * src/code/profile.lisp: Remove #+cmu and #-cmu. ("PROFILE"): Use fwrappers. (*profile-info*): Removed. (profile-info): Redefined. (*existing-encapsulations*): Removed. (reset-profile-info, profile-info-profiling-values): New functions. (make-profile-encapsulation): Removed. (profile): New function name syntax. (make-profile-fwrapper-name, make-profile-fwrapper): New functions. (def-profile-fwrapper): Precompute some fwrappers. (ensure-profile-fwrapper, find-profile-fwrapper, pi-or-lose): New functions. (profile-1-function): Rewritten. (unprofile-1-function): Ditto. (re-profile-redefined-function): New function. (toplevel): Push it on *setf-fdefinition-hook*. * src/code/ntrace.lisp (trace-call): Removed. (trace-fwrapper): New fwrapper. (trace-1): Use fwrap instead of encapsulate. (untrace-1): Use funwrap instead of unencapsulate.
-
gerd authored
To bootstrap, use boot12.lisp with pmai's scripts. * src/bootfiles/18e/boot12.lisp: New file. * src/tools/worldload.lisp, src/tools/worldcom.lisp: * src/tools/worldbuild.lisp: Add code:fwrappers. * src/docs/cmu-user/extensions.tex (Function Wrappers): New section. * src/code/fwrappers.lisp: New file. * src-fw/pcl/defs.lisp (gdefinition): Don't check for profiled functions. * src-fw/code/exports.lisp: Add walker and fwrappers. * src-fw/code/fdefinition.lisp (fdefn-init): Set *valid-function-names* to nil. (encapsulation): Structure removed. (do-encapsulations, encapsulation, last-encapsulation) (push-encapsulation, encapsulate, unencapsulate, encapsulated-p): Removed. There is a compatibility layer in fwrappers.lisp. (fdefinition, %set-fdefinition): Rewritten. * src/code/profile.lisp: Remove #+cmu and #-cmu. ("PROFILE"): Use fwrappers. (*profile-info*): Removed. (profile-info): Redefined. (*existing-encapsulations*): Removed. (reset-profile-info, profile-info-profiling-values): New functions. (make-profile-encapsulation): Removed. (profile): New function name syntax. (make-profile-fwrapper-name, make-profile-fwrapper): New functions. (def-profile-fwrapper): Precompute some fwrappers. (ensure-profile-fwrapper, find-profile-fwrapper, pi-or-lose): New functions. (profile-1-function): Rewritten. (unprofile-1-function): Ditto. (re-profile-redefined-function): New function. (toplevel): Push it on *setf-fdefinition-hook*. * src/code/ntrace.lisp (trace-call): Removed. (trace-fwrapper): New fwrapper. (trace-1): Use fwrap instead of encapsulate. (untrace-1): Use funwrap instead of unencapsulate.
-
- May 20, 2003
-
-
gerd authored
NOT-AUTO-COMPILE to EXT. To bootstrap, using pmai's scripts, copy boot11.lisp to target:bootstrap.lisp and build. * src/bootfiles/18e/boot11.lisp: New file. * src/code/exports.lisp ("EXTENSIONS"): Export slots, auto-compile, no-auto-compile. * src/pcl/info.lisp: Don't export slots, auto-compile, not-auto-compile. * src/docs/cmu-user/extensions.tex: Declaration identifiers moved from pcl: to ext:.
-
gerd authored
which is necessary for conforming SLOT-EXISTS-P and MAKE-LOAD-FORM-SAVING-SLOTS. To bootstrap, using pmai's build scripts: 1. Copy boot10.lisp to target:bootstrap.lisp and do a full build. Choose the CLOBBER-IT restart when asked (for an unknown reason, it doesn't work to do this programatically.) 2. Leave the bootstrap file where it is and do a full build with the Lisp produced in step 1. 3. Remove the bootstrap file and do another full build. * src/bootfiles/18e/boot10.lisp: New file. * src-dsd/code/defstruct.lisp (defstruct-slot-description): Rename slot %name to name. (dsd-%name): New function. (dsd-name): Function removed. (parse-1-dsd): Set dsd-name to the slot symbol. * src-dsd/pcl/std-class.lisp (*allow-keyword-slot-names*): New variable. (initialize-internal-slot-functions) <around structure-effective-slot-definition>: New method binding *allow-keyword-slot-names* to true. * src-dsd/pcl/methods.lisp (legal-slot-name-p): Allow keywords if *allow-keyword-slot-names* is true.
-
- May 19, 2003
- 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