- Jul 11, 2004
- Jul 10, 2004
-
-
rtoy authored
-
- Jul 09, 2004
- Apr 14, 2004
-
-
rtoy authored
in the WALKER package.
-
- Apr 06, 2004
-
-
rtoy authored
cmucl-imp: The patch below adds a somewhat general mechanism to the get the "current location". So every macro that wants to record the source location, can insert a call to SOURCE-LOCATION in the generated code and safe the result in a appropriate place. SOURCE-LOCATION is a compiler-macro and returns a quoted struct with the source info. The patch adds the definition for SOURCE-LOCATION some modifications for the defclass, defgeneric and defmethod macros. Classes, generic functions and methods have already a "source" slot and the result of SOURCE-LOCATION is just stored into that slot. (The source slot contains currently only the *loadpath*, which is is not very useful, if the fasl file is in a different directory than the source file.)
-
- Apr 02, 2004
-
-
rtoy authored
-
- Mar 29, 2004
-
-
rtoy authored
Patch from Ole, very slightly modified.
-
- Jan 09, 2004
-
-
toy authored
to method parameters which are assigned to. This fixes a bug that shows up in McCLIM. (From Gerd, on cmucl-imp.)
-
toy authored
PCL, because it needed PCL's walker code. Fix this by always building with PCL's walker, which is independent of PCL: code/fwrappers.lisp: o Always use the PCL version, assuming PCL walker is included. pcl/defsys.lisp: o Don't build walk.lisp here, because it's built as a part of CMUCL. o Fix up dependencies. tools/worldcom.lisp: o Compile up pcl/walk.lisp tools/worldload.lisp: o Load up pcl/walk.lisp
-
- Nov 05, 2003
-
-
gerd authored
(defmethod name :before ((data data))) (name (make-instance 'data)) => too few args in a call to a method function This is caused by standard-reader/writer methods having a fast-function, but that's not the one that we should funcall if pcl::*inline-methods-in-emfs* is true. Use the fast-method-call mechanism for such methods instead. * src/pcl/combin.lisp (inlinable-method-p): New function. (make-direct-calls): Removed. (memf-test-converter): Add a local function method-key for determining the function generator key. (memf-code-converter): Add local functions make-call and make-calls. Generate direct calls if inlinable-method-p returns true.
-
- Oct 29, 2003
-
-
gerd authored
parameters that are being assigned to in the method body. Reported by Hans Chalupsky on cmucl-imp. * src/pcl/boot.lisp (method-parameter): New function, extracted from make-pv-call. (assigned-method-params): New function. (make-method-lambda-internal): Call it to disable optimizations on method parameters being assigned to. * src/pcl/method-slot-access-optimization.lisp (get-param/class-to-optimize): Use new function method-parameter. * src/pcl/gf-call-optimization.lisp (make-pv-call): Ditto. * src/pcl/std-class.lisp (ensure-class-using-class): Don't setq a method parameter.
-
- Oct 23, 2003
-
-
gerd authored
that happend awhile ago.
-
- Sep 06, 2003
-
-
gerd authored
functions. Reported by Craig Lanning. * src/pcl/boot.lisp (simple-lexical-method-functions): Rebind next-methods and method-args, and declare ignorable.
-
- Sep 05, 2003
-
-
gerd authored
unmatched parenthesis. * src/pcl/combin.lisp (standard-compute-effective-method): Remove an ignore declaration, add a special declaration.
-
- Sep 03, 2003
-
-
gerd authored
initargs are the same, including order and length, as the original make-instance args, for preserving arguments order in functions called from the ctor, e.g. initialize-instance. Reported by Craig Lanning.
-
- Aug 27, 2003
-
-
gerd authored
effect until a method is added or removed from the gf. Reported by Andreas Fuchs on a SBCL mailing list. * src/pcl/methods.lisp (reinitialize-instance) <standard-generic-function>: Make it an around method, call flush-effective-method-cache if the method combination changes. * src/pcl/dfun.lisp (flush-effective-method-cache): New function. (*effective-method-cache*): Renamed from *effective-method-table*.
-
- Aug 25, 2003
-
-
gerd authored
for ANSI compliance. * src/pcl/defcombin.lisp (compute-effective-method): If *in-precompute-effective-methods-p*, generate an emf consisting of a call to %invalid-qualifiers if there are such methods. * src/pcl/combin.lisp (standard-compute-effective-method): Likewise. (make-effective-method-lambda): Handle %invalid-qualifiers like %no-primary-method. * src/pcl/braid.lisp (%invalid-qualifiers): New function. (invalid-qualifiers): New method. * src/pcl/generic-functions.lisp (invalid-qualifiers): New gf. * src/pcl/dfun.lisp (*max-emf-precomputation-methods*): Set to 100. * src/docs/cmu-user/extensions.tex (Effective Method Precomputation): Change description of *max-emf-precomputation-methods*.
-
- Aug 16, 2003
-
-
gerd authored
arg to error.
-
- Jul 29, 2003
-
-
gerd authored
method qualifiers.
-
- Jul 28, 2003
-
-
gerd authored
effective methods of close were no longer precomputed, and close is being used somewhere inside the compiler during emf compilation. * src/pcl/gray-streams.lisp (toplevel): Call pcl-close before setting the fdefinition of close to it, analogous to what was already done for pcl-open-stream-p. * src/pcl/dfun.lisp (break-vicious-metacircle): Put the error in infinite-error-protect, just in case.
-
gerd authored
effective methods (which I think is either yet another oversight, or bad language design). Found by Paul Dietz. Set *max-emf-precomputation-methods* to > 0 to allow precomputation of effective methods at method load-time for generic functions having less than the specified number of methods. * src/pcl/dfun.lisp (*max-emf-precomputation-methods*): Set to 0. * src/pcl/pkg.lisp ("PCL"): Export *max-emf-precomputation-methods*.
-
- Jul 21, 2003
-
-
gerd authored
standard-generic-function instead of generic-function which has no slot named methods.
-
- Jul 20, 2003
-
-
emarsden authored
CLOS-related documentation accessors incorrectly.
-
- Jul 19, 2003
-
-
emarsden authored
-
- Jul 17, 2003
-
-
gerd authored
Reported by Eric Daniel. * src/pcl/dfun.lisp (*max-emf-precomputation-methods*): New variable. (finalize-specializers): Use it.
-
- Jul 01, 2003
- Jun 27, 2003
-
-
toy authored
-
- Jun 26, 2003
-
-
toy authored
Non-simple-streams-related changes: * Stop commands which go through invoke-command-interactive from affecting the history variables. * Fix some typos in comments * When the GC closes a lost stream, revert to original contents * Replace #+nil with #+(or) in unix*.lisp [NIL is a potentially valid feature name] Simple-streams-related changes: * Teach reader to handle simple-streams * Add missing package prefixes in OPEN * Add unix:unix-msync for force-output on mmapped files * Add placeholder documentation * Numerous changes in simple-streams implementation * Add "external-formats" directory for external formats Note: :BIG-ENDIAN or :LITTLE-ENDIAN should be put on *features*
-
- Jun 18, 2003
-
-
gerd authored
package COMMON-LISP which LISP uses, so that COMMON-LISP no longer has the non-ANSI nickname LISP. To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's build scripts, and do a full compile. * src/bootfiles/18e/boot13.lisp: Change for all the package changes. * src/code/exports.lisp: New package common-lisp, which lisp uses. * src/tools/worldload.lisp: * src/tools/setup.lisp: Use cl-user instead of user. Use lisp:: instead of cl::. * src/tools/worldcom.lisp: * src/tools/snapshot-update.lisp: * src/tools/pclcom.lisp: * src/tools/mk-lisp: * src/tools/hemcom.lisp: * src/tools/config.lisp: * src/tools/comcom.lisp: * src/tools/clxcom.lisp: * src/tools/clmcom.lisp: * src/pcl/defsys.lisp: * src/motif/lisp/initial.lisp: * src/interface/initial.lisp: * src/hemlock/lispmode.lisp (setup-lisp-mode): Use cl-user instead of user. * src/code/save.lisp (assert-user-package): * src/code/print.lisp (%with-standard-io-syntax): Find cl-user package instead of user. * src/code/package.lisp (package-locks-init): Add lisp. (package-init): Don't add user nickname to cl-user. * src/code/ntrace.lisp (*trace-encapsulate-package-names*): Add common-lisp. * src/code/hash.lisp (toplevel): * src/code/hash-new.lisp (toplevel): Use in-package :lisp instead of :common-lisp. * src/code/float-trap.lisp (sigfpe-handler): Don't qualify floating-point-inexact with ext:. * src/pcl/simple-streams/strategy.lisp (sc): * src/pcl/simple-streams/null.lisp (null-read-char): * src/pcl/simple-streams/internal.lisp (allocate-buffer) (free-buffer): * src/pcl/simple-streams/impl.lisp (%check, %read-line) (%peek-char, %read-byte): * src/pcl/simple-streams/file.lisp (open-file-stream) (device-close): * src/pcl/simple-streams/classes.lisp (simple-stream) (device-close): * src/pcl/macros.lisp (toplevel): * src/pcl/braid.lisp (lisp::sxhash-instance): * src/pcl/env.lisp (toplevel): * src/compiler/generic/objdef.lisp (symbol-hash): * src/code/stream.lisp (read-sequence, write-sequence): * src/code/macros.lisp (defmacro, deftype): * src/code/eval.lisp (interpreted-function): * src/code/defstruct.lisp (defstruct): * src/code/debug.lisp (debug-eval-print): Use lisp:: instead of cl::.
-
- Jun 17, 2003
-
-
gerd authored
slot-missing with value being assigned.
-
gerd authored
(slot-makunbound, slot-exists-p): Declaim ftypes.
-
gerd authored
for the corrected return values of slot-value, (setf slot-value), slot-boundp in the case slot-missing is called.
-
gerd authored
* src/pcl/defcombin.lisp (compute-effective-method): Use %no-primary-method.
-
- Jun 15, 2003
-
-
gerd authored
returning values specified by the standard when SLOT-MISSING/SLOT-UNBOUND are called and return. Found by Paul Dietz. * src/pcl/std-class.lisp (compute-effective-slot-definition): Return slot-unbound's primary value. * src/pcl/slots.lisp (slot-value): Return slot-missing's primary value. (set-slot-value): Always return the new value. (slot-boundp): Return a boolean equivalent of slot-missing's primary value. (slot-makunbound): Always return the instance. (slot-value-using-class): Return slot-unbound's primary value. (slot-unbound-internal): Likewise. * src/pcl/slots-boot.lisp (ensure-accessor): Return slot-missing's primary value for slot-value, a boolean equivalent of its primary value for slot-boundp, and always return the value for setf. (accessor-set-slot-value): Always return the new value. (make-optimized-std-reader-method-function): Return slot-unbound's primary value. (make-optimized-std-slot-value-using-class-method-function) (make-internal-reader-method-function): Likewise. * src/pcl/method-slot-access-optimization.lisp (inline-slot-unbound): Return slot-unbound's primary value.
-
- Jun 13, 2003
-
-
gerd authored
logical-pathname-translations work with current CMUCL behavior.
-