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

[no subject]



From:     Date:
Date: Tue, 21 Nov 79 17:48:27 GMT
Original-Date: 11/21/79 13:48:27 EDT
Subject:
    From: EB at MIT-AI
    To:   (BUG LISP) at MIT-AI

    THE FOLLOWING FILE:


    (EVAL-WHEN (COMPILE)
       (DEFUN FOO-HOOK (X)
          (COND ((EQ X 'FOO) (NCONS 'FOO-SYM))
                (T NIL)))
       (TRACE FOO-HOOK)
        (PUSH 'FOO-HOOK USERATOMS-HOOKS))

    (DEFUN FOO (X) 'FOO)

    PRODUCES THE FOLLOWING ERROR IN LISP COMPILER 900:

    (COMMENT **ERROR** FOO Atomindex screw in function FOO)
    ;%%%%%%%% COMPILER ERROR - CALL JONL %%%%%%%%
    ;BKPT BARF

    THE TEST ABOVE WAS PLAYING AROUND WITH USERATOMS-HOOKS,
    INTENDING TO EVENTUALLY WRITE A USERATOMS-HOOK THAT PUTS SYMBOLS ON
    A CHOICE OF OBARRAYS DEPENDING ON THE FORM OF THE SYMBOL, AND
    USEABLE EVEN AT PLACES THAT ARE NOT GETTING EVALUATED (E.G.
    IN (DEFUN atom (atom1) ...).

Fixed in the source, and in XCOMPLR on MC.

By the way, I suspect that you don't mean what you actually wrote.
More likely:
(DEFUN FOO-HOOK (X)
   (COND ((EQ X 'FOO) '('FOO-SYM))))
Note that the form you return the NCONS of is EVAL'd at load time to
get the final atom.