Skip to content
Snippets Groups Projects
  1. Sep 06, 2003
  2. Sep 05, 2003
  3. Sep 03, 2003
  4. Aug 27, 2003
    • gerd's avatar
      Changes in generic function's method combination don't take · 68f099c4
      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*.
      68f099c4
  5. Aug 25, 2003
    • gerd's avatar
      Lazy signaling of errors because of invalid method qualifiers, · 2f40ed5a
      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*.
      2f40ed5a
  6. Aug 16, 2003
  7. Jul 29, 2003
  8. Jul 28, 2003
    • gerd's avatar
      Loading gray-streams lead to a vicious metacircle because · 0041e6b0
      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.
      0041e6b0
    • gerd's avatar
      CLtS effectively forbids method load-time precomputation of · c3fd05a9
      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*.
      c3fd05a9
  9. Jul 21, 2003
  10. Jul 20, 2003
  11. Jul 19, 2003
  12. Jul 17, 2003
  13. Jul 01, 2003
  14. Jun 27, 2003
  15. Jun 26, 2003
    • toy's avatar
      From Paul Foley: · bfbb8fd1
      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*
      bfbb8fd1
  16. Jun 18, 2003
    • gerd's avatar
      Remove package nicknames USER from COMMON-LISP-USER. Add a new · b4f2c7c7
      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::.
      b4f2c7c7
  17. Jun 17, 2003
  18. Jun 15, 2003
    • gerd's avatar
      SLOT-VALUE, (SETF SLOT-VALUE), SLOT-BOUNDP, SLOT-MAKUNBOUND not · 4faa083c
      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.
      4faa083c
  19. Jun 13, 2003
  20. Jun 12, 2003
  21. Jun 11, 2003
  22. Jun 10, 2003
  23. Jun 07, 2003
    • toy's avatar
      More simple-streams updates from Paul Foley: · d03aa23c
      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.
      d03aa23c
  24. Jun 06, 2003
    • toy's avatar
      Initial import of Paul Foley's simple-streams implmentation. Some · 951598a0
      toy authored
      functionality is still missing, but Lisp streams and Gray streams
      should behave unchanged.
      951598a0
    • gerd's avatar
      Problems with class precedence lists found by Paul Dietz. · 7156be15
      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.
      7156be15
    • gerd's avatar
      Various problems with TYPE-OF found by Paul Dietz. · f847c099
      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.
      f847c099
  25. Jun 05, 2003
  26. Jun 04, 2003
  27. Jun 03, 2003
    • gerd's avatar
      * src/pcl/boot.lisp (pcl::%check-cnm-args): Fix the policy · 9a83786d
      gerd authored
      	of the deftransform.
      9a83786d
    • gerd's avatar
      * src/pcl/info.lisp (split-declarations): Declare arg · e984dae8
      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.
      e984dae8
    • gerd's avatar
      In safe code, signal an error if the set of methods applicable to · 13b4ce67
      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.
      13b4ce67
Loading