[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug in Xerox-Medley Dec PCL
- To: Arun Welch <welch@cis.ohio-state.edu>
- Subject: Re: Bug in Xerox-Medley Dec PCL
- From: cutting.pa@Xerox.COM
- Date: 16 Jan 89 15:05 PST
- Cc: commonloops.pa@Xerox.COM
- In-reply-to: Arun Welch's message of Mon, 16 Jan 89 15:23:58 EST
3/4> (slot-value fifi 'ears) prints "The slot EARS is unbound in the
object #<POODLE 12345566>" (it does *not* give an error/break)
3/5> (setf (slot-value fifi 'ears) 4) prints "The slot EARS is unbound in
the
object #<POODLE 1234566>" (it does *not* give an error/break)
I suspect that errors are being signalled, but due to the IL:HELPDEPTH
feature a break window is not being created. Try "retry 4" and you should
get a break.
If the problem is in the undo facility, then the quick workaround is to
(SETQ XCL:*EXEC-MAKE-UNDOABLE-P* NIL). How often do you really use the
undo facility? If the answer is 'quite' then you might try something like
(untested):
(defun undoably-setf-slot-value (object slot-name new-value)
(if (slot-boundp object slot-name)
(il:undosave
`(setf (slot-value ',object ',slot-name)
',(slot-value object slot-name)))
(il:undosave `(slot-makeunbound ',object ',slot-name)))
(setf (slot-value object slot-name) new-value))
(setf (get 'slot-value :undoable-setf-inverse) 'undoably-setf-slot-value)
Doug