Skip to content
Snippets Groups Projects
  1. Jun 07, 2005
  2. Jun 06, 2005
    • rtoy's avatar
      Fix CALL-METHOD used outside of emf from. · 0634baa7
      rtoy authored
      Fix from Gerd, cmucl-imp, 2005-06-04 for the following test:
      
          (define-method-combination mc ()
            ((primary () :required t))
            `(restart-case (call-method ,(first primary))
      	 ()))
      
          (defgeneric foo ()
            (:method-combination mc)
            (:method () nil))
      
          (foo)
      
          It turns out this is caused by RESTART-CASE macroexpanding its case
          expression, which it does to see if it starts with ERROR or similar.
          An ANSI thing, if I remember correctly.
      0634baa7
    • emarsden's avatar
      6f8b2114
  3. Jun 01, 2005
  4. May 31, 2005
    • rtoy's avatar
      Fix for compute-slots, from Gerd, cmucl-imp, 2005-05-28. The test · f3bad3ed
      rtoy authored
      case reported by Bruno is:
      
      #+CMU (use-package "PCL")
      (defclass b (a) ())
      (defmethod compute-slots ((class (eql (find-class 'b))))
        (append (call-next-method)
                (list (make-instance 'standard-effective-slot-definition
                        :name 'y
                        :allocation :instance))))
      (defclass a () ((x :allocation :class)))
      ;; A should now have a shared slot, X, and a local slot, Y.
      (mapcar #'slot-definition-location (class-slots (find-class 'b)))
      
      Instead of an error about no matching method, we get
      
      ((X . PCL::..SLOT-UNBOUND..) 0)
      f3bad3ed
  5. May 27, 2005
  6. May 26, 2005
  7. May 25, 2005
  8. May 24, 2005
  9. May 23, 2005
    • rtoy's avatar
      0c4c8424
    • rtoy's avatar
      Bug from cmucl-imp, 2005-05-17 by Fredrik Sandstrom: · 668b13f5
      rtoy authored
          Description: In (peek-char nil s nil foo), if foo happens to be the
          same character that peek-char returns, the character is removed from
          the input stream, as if read by read-char.
      
          Examples:
      
          * (with-input-from-string (s "123")
      	(list (peek-char nil s nil #\1) (read-char s) (read-char s)))
          (#\1 #\2 #\3)
      
      This fix is based on the version proposed by Rudi Schlatte, with minor
      changes in naming.
      668b13f5
    • rtoy's avatar
      Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: · 9976492d
      rtoy authored
          ;; Shared slot becomes local.
          ;; 4.3.6.1.: "The value of a slot that is specified as shared in the old class
          ;;            and as local in the new class is retained."
          (multiple-value-bind (value condition)
      	(ignore-errors
      	  (defclass foo85a () ((size :initarg :size :initform 1 :allocation :class)))
      	  (defclass foo85b (foo85a) ())
      	  (setq i (make-instance 'foo85b))
      	  (defclass foo85a () ((size :initarg :size :initform 2) (other)))
      	  (slot-value i 'size))
            (list value (type-of condition)))
          Expected: (1 NULL)
      9976492d
    • rtoy's avatar
      Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: · 4bbc6932
      rtoy authored
          This is also for something Bruno reported:
      
          The MOP p. 47 says about ensure-class-using-class:
             "The :metaclass argument is a class metaobject class or a class
      	metaobject class name."
          However, CMUCL 19a does not support passing a class here.
      4bbc6932
    • rtoy's avatar
      Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: · b2173f8b
      rtoy authored
          The problem here is that a fixnum value gets stored in an
          unsigned-byte vector, which messes up the linked list.
      b2173f8b
  10. May 19, 2005
  11. May 17, 2005
  12. May 16, 2005
    • rtoy's avatar
      From Gerd Moellman, cmucl-imp, 2005-05-15: · 3b9ca962
      rtoy authored
          Bruno reported an endless loop in the following test case:
      
          (let ((tab (make-hash-table :test 'eq :weak-p t)))
            (let ((a (list 'x)))
      	(let ((b (list 'y)))
      	  (setf (gethash a tab) 'xxx)
      	  (setf (gethash b tab) (cons 'yyy b)))
      	(gc)
      	(list (hash-table-count tab)
      	      (gethash a tab)
      	      (let ((l nil))
      		(maphash #'(lambda (k v) (push k l)) tab) l))))
      
      But we return (2 XXX ((Y) (X))) instead of (1 XXX ((X))).
      3b9ca962
    • rtoy's avatar
      From Gerd Moellman, cmucl-imp, 2005-05-15: · 5f1fcac9
      rtoy authored
          This is another small fix for a problem Bruno reported:
      
          ;; 3.4.10 Define-method-combination Arguments Lambda Lists
          (progn
            (define-method-combination w-args ()
      	((method-list *))
      	(:arguments arg1 arg2 &aux (extra :extra))
      	`(progn , <at> (mapcar #'(lambda (method) `(call-method ,method))
          method-list)))
            (defgeneric mc-test-w-args (p1 p2 s)
      	(:method-combination w-args)
      	(:method ((p1 number) (p2 t) s)
      	  (vector-push-extend (list 'number p1 p2) s))
      	(:method ((p1 string) (p2 t) s)
      	  (vector-push-extend (list 'string p1 p2) s))
      	(:method ((p1 t) (p2 t) s) (vector-push-extend (list t p1 p2) s)))
            (let ((s (make-array 10 :adjustable t :fill-pointer 0)))
      	(mc-test-w-args 1 2 s)
      	s))
          Expected: #((NUMBER 1 2) (T 1 2))
          Got:      ERROR: Lambda-variable is not a symbol: (EXTRA :EXTRA).
      5f1fcac9
  13. May 14, 2005
  14. May 12, 2005
  15. May 11, 2005
    • rtoy's avatar
      Update from commit logs. · 708fdb40
      rtoy authored
      708fdb40
    • rtoy's avatar
      Supply a pathname for simple-file-error in make-pathname when we have · 73409eb1
      rtoy authored
      :absolute or :wild-inferiors followed by :up or :back.
      
      Not exactly sure what pathname to use here since we don't accept these
      pathnames.  So we use the given pathname with the :up/:back deleted.
      And the format strings gives more info about what happened.
      
      Fixes ansi-test MAKE-PATHNAME-ERROR-RELATIVE-WILD-INFERIORS-UP and
      friends.
      73409eb1
    • rtoy's avatar
      Give a type-error instead of error if we can't disassemble a · f5502fc5
      rtoy authored
      function.  See CLHS entry for DISASSEMBLE.
      
      Fixes ansi-test disassemble.error.3
      f5502fc5
    • rtoy's avatar
      o Make VALID-FUNCTION-NAME-P the function name, even if it's not a · c213d403
      rtoy authored
        valid function name.
      o Make the setf function-name-syntax try return the function name even
        if it's not a valid setf function name.
      o Use the above changes to fill out more completely and correctly the
        simple-type-error in FDEFINITION-OBJECT, when the function name is
        not valid.
      
      This fixes ansi-tests for fboundp and friends where the datum was a
      type of expected-type or where the datum had the wrong name.
      c213d403
  16. May 10, 2005
  17. May 09, 2005
    • rtoy's avatar
    • rtoy's avatar
      code/lisp.lisp: · c0c23147
      rtoy authored
          o Add PROPER-LIST-P function to determine if a list is a proper
            list.
          o Use it as the expected type for errors from functions requiring
            a proper list
      
      code/symbol.lisp:
          o Add VALID-PROPERTY-LIST-P function.
          o Use it as the expected type for errors from malformed property lists.
      
      
      These changes fix a few ansi-test bugs where the test was checking if
      the the expected-type was correct.
      c0c23147
Loading