- 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
- Jun 12, 2003
-
-
gerd authored
* src/pcl/slots.lisp (slot-unbound): Initialize :name of cell-error.
-
- Jun 11, 2003
- Jun 10, 2003
-
-
gerd authored
* src/pcl/std-class.lisp (ensure-class): Redefine a class only if the specified name is the proper name of the class.
-
- Jun 07, 2003
-
-
toy authored
o An update to fix Gerd's complaint about :simple-streams being on *features* o Corrects a few bugs o Renames all the strategy functions o Gets rid of DEVICE-EXTEND (Duane Rettig tells me it's going away in the next ACL release) o A start on getting stream& composition working.
-
- Jun 06, 2003
-
-
toy authored
functionality is still missing, but Lisp streams and Gray streams should behave unchanged.
-
gerd authored
* src/pcl/defs.lisp (toplevel): Don't compute the cpl of built-in classes from the kernel's layout-inherits because that gives wrong results, for instance for null. (standard-method): Make method the first superclass. * src/pcl/braid.lisp (bootstrap-built-in-classes): Use kernel:std-compute-class-precedence-list.
-
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
-
-
gerd authored
* src/pcl/dfun.lisp (use-constant-value-dfun-p): Check more preconditions. (constant-value-miss): Add an assertion.
-
gerd authored
* src/pcl/boot.lisp (early-add-named-method): Return new method. (add-method, remove-method) [#-loadable-pcl]: Return the gf.
-
gerd authored
ADD-METHOD must return the generic function. * src/pcl/methods.lisp (real-add-method): Return the gf.
-
- Jun 04, 2003
-
-
gerd authored
* src/pcl/methods.lisp (find-method): Signal an error if the number of supplied specifiers is different from the number of required arguments of the generic function.
-
- Jun 03, 2003
-
-
gerd authored
of the deftransform.
-
gerd authored
call-next-method-p ignored. * src/pcl/boot.lisp (bind-simple-lexical-method-macros) (bind-fast-lexical-method-macros): Change lambda-list of with-rebound-original-arguments. (bind-lexical-method-functions): Declare some variables ignored. (bind-lexical-method-functions): Call with-rebound-original-arguments with the right arg. * src/pcl/dfun.lisp (cache-miss-values-internal): Don't call set-emf-name. * src/pcl/fngen.lisp (flush-emf-cache): Fix a typo.
-
gerd authored
arguments to CALL-NEXT-METHOD is different from the set of methods applicable to original method arguments. Found by Paul Dietz. * src/pcl/boot.lisp (bind-simple-lexical-method-macros) (bind-fast-lexical-method-macros): New local macro check-cnm-args-body. (bind-lexical-method-functions): Use it. (%check-cnm-args): New function, defknown, deftransform.
-
- Jun 02, 2003
-
-
gerd authored
original arguments. Found by Paul Dietz. * src/pcl/boot.lisp (bind-simple-lexical-method-macros) (bind-fast-lexical-method-macros): Add local macro with-rebound-original-arguments. (bind-lexical-method-functions): Use it to save original arguments for call-next-method. Unconditionally define call-next-method and next-method-p like in 18e. * src/pcl/info.lisp (split-declarations): Remove ignore declarations like in 18e.
-
- May 31, 2003
-
-
gerd authored
layout-invalid.
-
- May 30, 2003
-
-
gerd authored
(defmethod-setf-fdefinition.1): New tests.
-
gerd authored
(SETF FDEFINITION), and it's possible to define methods with both names. Method functions are named with the name specified in DEFMETHODS. Methods metaobjects are unnamed. Taking this all together means that we must always use METHOD-FUNCTION-GET :NAME to find out the name of a method function if we want to use it. This showed up in gray-streams.lisp. Found by Paul Werkowski. * src/pcl/boot.lisp (method-function-name): Moved here from combin.lisp; use method-function-get :name. * src/pcl/combin.lisp (method-function-name): Move to boot.lisp.
-
- May 28, 2003
-
-
gerd authored
* src-emf/docs/cmu-user/extensions.tex (Inlineing Methods in Effective Methods): New subsection. * src-emf/pcl/combin.lisp: (method-function-name, make-direct-call, make-direct-calls) (call-method-list-methods): New functions. (memf-test-converter, memf-code-converter): Arrange for generating funcalls instead of invoke- macros. * src-emf/pcl/boot.lisp (*inline-methods-in-emfs*): New variable. (expand-defmethod): If set, arrange for inlineing fast method functions. * src-emf/pcl/pkg.lisp ("PCL"): Export flush-emf-cache. * src-emf/pcl/fngen.lisp (flush-emf-cache): New function.
-
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 27, 2003
-
-
gerd authored
* src/pcl/info.lisp (*declaration-handlers*): New variable. (compile): New function. (define-declaration): New macro. (proclamation-hook): Rewritten. (slots, auto-compile, not-autocompile): Use define-daclaration.
-
- May 26, 2003
-
-
gerd authored
-
- May 25, 2003
-
-
gerd authored
to invalid-wrapper-p to get rid of compiler notes.
-
gerd authored
method-lambda-list instead of method-lambda-list* because the method can't be an early method at this point.
-
gerd authored
an inhibit-warnings. See the comment there for the reason.
-
gerd authored
functions. Found by Paul Dietz, of course. This also includes some minor code cleanup and a fix for a bug caused by a typo. * src-gf/pcl/std-class.lisp (compute-effective-slot-definition-initargs): Reformatted to make it readable on a tty. * src-gf/pcl/methods.lisp (set-condition-svuc-method): Fix a typo. * src-gf/pcl/low.lisp (parse-lambda-list): Add an ignore declaration. * src-gf/pcl/init.lisp (valid-initargs): Use method-lambda-list*. * src-gf/pcl/dfun.lisp (use-caching-dfun-p): Use generic-function-methods*. (use-constant-value-dfun-p): Ditto. (use-dispatch-dfun-p): Don't use dispatching dfuns when we must check keyword arguments according to CLHS 7.6.5, because this computes emfs for sets methods that aren't applicable together in the usual sense; this screws up emf keyword argument checking, of course. (make-initial-dfun): Use gf-arg-info*. (update-dfun): Use generic-function-name*. (final-accessor-dfun-type, make-accessor-table) (compute-applicable-methods-using-types) (compute-applicable-methods-using-types): Likewise. * src-gf/pcl/combin.lisp (standard-compute-effective-method): Don't use the single-call-method optimization if we must check keyword arguments according to CLHS 7.6.5. (callable-generator-for-emf): Rewritten to add a keyword argument check to the emf. (emfs-must-check-applicable-keywords-p) (compute-applicable-keywords, check-applicable-keywords): New functions. (odd-number-of-keyword-arguments, invalid-keyword-argument): Moved here from boot.lisp. (make-effective-method-lambda): Add a check-applicable-keywords form to the emf, if appropriate. (memf-test-converter, memf-code-converter) (memf-constant-converter): Deal with check-applicable-keywords. (*applicable-methods*): New variable. (make-callable): Bind it. (make-emf-name): Use generic-function-name*. * src/pcl/braid.lisp (ensure-non-standard-class): Remove an used branch. * src/pcl/boot.lisp (*make-method-lambda-gf-name*): Removed. (expand-defmethod): Don't bind it. (make-method-lambda-internal): Don't add &key to the method function's lambda-list if the gf has &key. (bind-args): Rewritten. Don't do keyword checking as this is done in emfs now. (get-key-arg, get-key-arg1): Simplified; do less checking. (generic-function-name*, generic-function-methods*) (gf-arg-info*, method-lambda-list*): New functions. (check-method-arg-info): Use them. (gf-lambda-list-from-method): New function. (gf-lambda-list): Use it. Don't add &allow-other-keys to a gf's lambda-list if a method has &key. (get-generic-function-info): Use gf-arg-info*. (parse-specialized-lambda-list): Add an ignore declaration. (odd-number-of-keyword-arguments, invalid-keyword-argument): Moved to combin.lisp. (check-generic-function-lambda-list): Remove &more stuff because that's checked elsewhere now (and Python can even tell it is). * src-gf/pcl/ctor.lisp (install-optimized-constructor): Remove an unmatched ).
-