[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug in Xerox-Medley Dec PCL

I believe your analysis of event [3/5] is correct.  The following should
fix that problem:

  (defun undoable-setf-slot-value (object slot-name new-value)
    (if (slot-boundp object slot-name)
      (il:undosave (list 'undoable-setf-slot-value
                         object slot-name (slot-value object slot-name)))
      (il:undosave (list 'slot-makunbound object slot-name)))
    (setf (slot-value object slot-name) new-value))

  (setf (get 'slot-value :undoable-setf-inverse) 'undoable-setf-slot-value)

As for event [3/4], this is being caused by the DWIM holdover that prevents
breaks caused near the top-level.  This can be "fixed" by
	(setq il:helpflag 'il:break!)
in each and every exec.  Also, check out the var xcl:*per-exec-variables*
-- this determines the initial value of il:helpflag in a new exec.

----- smL