[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DEFUN&-CHECK-ARGS
- To: JONL at MIT-MC
- Subject: DEFUN&-CHECK-ARGS
- From: Glenn S. Burke <GSB at MIT-ML>
- Date: Fri, 30 Jan 81 21:05:00 GMT
- Cc: BUG-LISP at MIT-MC
- Original-date: 30 January 1981 16:05-EST
Date: 30 JAN 1981 1557-EST
From: JONL at MIT-MC (Jon L White)
I remember you had a question earlier this month about when
DEFUN& would output (ARGS 'FOO ...). Well, the variable
DEFUN&-CHECK-ARGS only controls the insertion of number-of-arg-
checking code into the body of the function -- thus if such code
did get inserted, it is presumed that the ARGS needn't be
changed (and there are reasons why you might not want to
change it frivously -- like, not having to unpurcopy the
symbol).
Tell me about it. I recently fixed a bug which was screwing me to the
wall because i set DEFUN&-CHECK-ARGS to NIL: it was outputting
(ARGS 'FN ...), INCORRECTLY. And ONLY when i set DEFUN&-CHECK-ARGS to
NIL. I take it you consider such ARGS information not useful. My
complaint had nothing to do with changing ARGS info, only having it there
in the first place. The only one who loses because of having to unpurcopy
the symbol is YOU, since MY functions aren't all defined with autoload
properties in Maclisp already; when ARGS gets called on them, the
SY block is impure, even though it may be marked for purification.
I still think that such number-of-arg checking should be left to
the interpreter/uuo-linker, and i also think it is gross that the
interface from an APPLY or EVAL generated error is different from
one generated in-line.