[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: May Day PCL bugs affecting instances of redefined classes
- To: commonloops.pa@Xerox.COM
- Subject: Re: May Day PCL bugs affecting instances of redefined classes
- From: harrisr@turing.cs.rpi.edu (Richard Harris)
- Date: Mon, 2 Jul 90 15:10:10 EDT
- Redistributed: commonloops.pa
There is a mistake in one of the changes to PCL given
in the message:
> Date: Thu, 28 Jun 90 19:20:17 EDT
> From: harrisr@turing.cs.rpi.edu (Richard Harris)
> Message-Id: <9006282320.AA25016@turing.cs.rpi.edu>
> To: commonloops.pa@Xerox.COM
> Subject: May Day PCL bugs affecting instances of redefined classes
>
> Here are some bugs in May Day PCL I have found while
> redefining classes which have existing instances.
>
If you made the changes in that message, change line-valid-p to be:
;;
;; Given a line number, return true IFF the line is full and
;; there are no invalid wrappers in the line, and the line's
;; wrappers are different from wrappers.
;; An error is signalled if the line is reserved.
;;
(line-valid-p (line wrappers)
(when (line-reserved-p line) (error "Line is reserved."))
(let ((loc (line-location line))
(wrappers-mismatch-p (null wrappers)))
(dotimes (i (nkeys) wrappers-mismatch-p)
(let ((wrapper (cache-ref (cache) (+ loc i))))
(when (or (null wrapper)
(invalid-wrapper-p wrapper))
(return nil))
(unless (and wrappers
(eq wrapper
(if (consp wrappers) (pop wrappers) wrappers)))
(setq wrappers-mismatch-p t))))))
-----
Richard Harris