[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Certain random cases of internal APPLY
- To: "(FILE [JONL;JONL MAIL])" at MIT-MC
- Subject: Certain random cases of internal APPLY
- From: Robert W. Kerns <RWK at MIT-MC>
- Date: Tue, 7 Oct 80 08:07:00 GMT
- Cc: BUG-LISP at MIT-MC
- Original-date: 7 October 1980 04:07-EDT
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.