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

Certain random cases of internal APPLY



    Date: 2 October 1980 17:26-EDT
    From: Jon L White <JONL at MIT-MC>
    To:   RWK
    cc:   BUG-LISP
    Re:   Certain random cases of internal APPLY

    I believe you may have added the line at ILP1+1:
      ILP1:	HRRZ A,(C)		; NEXT PDL SLOT HAS FUNCTION IN RH, 
    	HRLZM A,(C)		; Save FN in left half in case it's not there
    This is most certainly buggy, to zero out the RH (I may be responsible
    and just can't remember, but since I seldom use lower-case comments ...)
    Anyway, regardless of how/why it was added, I had to change it to:
      ILP1:	MOVE A,(C)		; NEXT PDL SLOT HAS FUNCTION IN RH, 
    	TLZN A,-1
    	 HRLM A,(C)		; Save FN in left half in case it's not there
    	SKOTT A,LS
    This lossage shows up when funcalling or applying FUNARGs (yes, Virginia,
    there is a FUNARG-claus in MacLISP, and the poooor COMPLR even uses one!).
    If anyone has seen spurious WRNG-NO-ARGS errors in XLISP (especially with 
    FUNCALL or LEXPR-FUNCALL) I'd appreciate some more feedback on this change.
I was responsible, the 'Z' in the 'HRLZM' was a typo.  My change was in the
line of a quick fix (except I blew it in typing it into the source).  Your fix
looks like sort of the right thing, except it didn't make sense to me why this
was the place to fill in the slot conditionally rather than filling it in
unconditionally somewhere else.