Skip to content
Snippets Groups Projects
  1. Aug 22, 2005
  2. Aug 18, 2005
  3. Aug 17, 2005
  4. Aug 12, 2005
  5. Aug 04, 2005
    • rtoy's avatar
      Funcalling a special form signals an undefined-function error, but the · 64774a08
      rtoy authored
      error object didn't include a value for the cell-error-name.
      
      Fix this by defining a separate function for each special form in
      CMUCL and making it the symbol-function for the symbol.  (Previously,
      it was just the same function for all symbols.)  Could we do something
      better than this?
      64774a08
  6. Aug 02, 2005
  7. Aug 01, 2005
  8. Jul 26, 2005
  9. Jul 13, 2005
  10. Jul 12, 2005
  11. Jul 07, 2005
    • rtoy's avatar
      Fix for update-dependent on gfs, from Gerd Moellman, 2005-06-26: · dff333a3
      rtoy authored
      This is for one of Bruno's bug reports.  For example,
      
      (defclass upd-history ()
        ((history :initform ())))
      
      (defmethod update-dependent ((gf generic-function) (history upd-history)
      			     &rest args)
        (push args (slot-value history 'history)))
      
      (defun history-event-list (history)
        (mapcar (lambda (event)
      	    (mapcar (lambda (x)
      		      (if (typep x 'method)
      			  (list 'method (mapcar #'class-name
      						(method-specializers x)))
      			  x))
      		    event))
      	  (reverse (slot-value history 'history))))
      
      (let ((hist (make-instance 'upd-history)))
         (defgeneric upd0 (x))
         (add-dependent #'upd0 hist)
         (defmethod upd0 ((x integer)))
         (history-event-list hist))
      =>  ((add-method (method (integer)))))
      
      But, instead of the above expected result, it produces
      
      =>  (nil (add-method (method (integer)))))
      
      The nil is from a reinitialize-instance of the gf, which is triggered
      by load-defmethod calling ensure-generic-function, which in turn calls
      ensure-generic-function-using-class on the existing gf, which finally
      calls reinitialize-instance.
      
      I'm not 100% sure if this is correct or not.  My reading of CLHS/MOP
      is that this is at least not forbidden.  Opinions?
      
      	* src/pcl/methods.lisp (real-add-method, update-gf-dependents):
      	New function.
      	(real-add-method, real-remove-method): Call it.
      	(reinitialize-instance) <:around standard-generic-function>:
      	Update dependent objects.
      
      	* src/pcl/std-class.lisp (update-dependent): New default method.
      dff333a3
    • rtoy's avatar
      Revert previous change so we don't call truename on the given file. · 6fb3b96a
      rtoy authored
      However, for logical pathnames, call translate-logical-pathname to get
      a usable pathname that dlopen can understand.
      6fb3b96a
    • rtoy's avatar
      8ef50d30
  12. Jul 05, 2005
  13. Jul 01, 2005
  14. Jun 30, 2005
  15. Jun 26, 2005
Loading