Lisp HUG Maillist Archive

bug in 'function-lambda-list'

Hi,

Our project depends on the LW function 'function-lambda-list'
that has the following documantation:

Documentation for (DEFUN FUNCTION-LAMBDA-LIST):
Arguments: (X &OPTIONAL (ERRORP T))
Given a function, return its lambda list.  If given a symbol, use the
symbol-function.



There are, however, some cases where 'function-lambda-list' returns
':dont-know'.

For instance when running this test in ':cl-user' I get the following
result (even for some very commonly used functions as 'length' and  
'numerp'):

(do-symbols (x :cl-user)
   (when (and (fboundp x) (eq (function-lambda-list x) :dont-know))
     (print (list x (function-lambda-list x)))))

(GET-PROPERTIES :DONT-KNOW)
(NUMBERP :DONT-KNOW)
(COPY-SYMBOL :DONT-KNOW)
(RPLACD :DONT-KNOW)
(LENGTH :DONT-KNOW)
(SXHASH :DONT-KNOW)
(ENDP :DONT-KNOW)
(ARRAYP :DONT-KNOW)
(RPLACA :DONT-KNOW)
(MAKUNBOUND :DONT-KNOW)
(GETF :DONT-KNOW)
(SET :DONT-KNOW)
(REMPROP :DONT-KNOW)
(SYMBOL-VALUE :DONT-KNOW)
(FBOUNDP :DONT-KNOW)
(GET :DONT-KNOW)
(GENTEMP :DONT-KNOW)
(MAKE-SYMBOL :DONT-KNOW)
(GENSYM :DONT-KNOW)
(FMAKUNBOUND :DONT-KNOW)
(TOTAL-ALLOCATION :DONT-KNOW)
(GC-ALL :DONT-KNOW)
(COLLECT-HIGHEST-GENERATION :DONT-KNOW)
(SWITCH-STATIC-ALLOCATION :DONT-KNOW)
(CLEAN-GENERATION-0 :DONT-KNOW)
(CLEAN-DOWN :DONT-KNOW)
(GET-DEFAULT-GENERATION :DONT-KNOW)
(COLLECT-GENERATION-2 :DONT-KNOW)
(NORMAL-GC :DONT-KNOW)
(AVOID-GC :DONT-KNOW)
(EXPAND-GENERATION-1 :DONT-KNOW)
(SET-DEFAULT-GENERATION :DONT-KNOW)
(TRY-MOVE-IN-GENERATION :DONT-KNOW)
(SET-MINIMUM-FREE-SPACE :DONT-KNOW)
(SET-PROMOTION-COUNT :DONT-KNOW)
(MAKE-SG :DONT-KNOW)
(FIND-OBJECT-SIZE :DONT-KNOW)
(ENLARGE-GENERATION :DONT-KNOW)
(SWEEP-ALL-OBJECTS :DONT-KNOW)
(SG-INITIALISE :DONT-KNOW)
(CALL-SG :DONT-KNOW)
(CHECK-FRAGMENTATION :DONT-KNOW)
(SG-RESUME :DONT-KNOW)
(SG-RETURN :DONT-KNOW)
(TRY-COMPACT-IN-GENERATION :DONT-KNOW)
(GC-GENERATION :DONT-KNOW)
(MARK-AND-SWEEP :DONT-KNOW)
(CALL-COUNTER :DONT-KNOW)
(GC-IF-NEEDED :DONT-KNOW)
(GET-UNIX-ERROR :DONT-KNOW)
(ERRNO-VALUE :DONT-KNOW)


Is this a LW bug?

Mikael


Re: bug in 'function-lambda-list'

What version of Lispworks are you using?

I'm on LWM 5.0.2 and get

;; the form you posted
CL-USER 1 > (do-symbols (x :cl-user)
  (when (and (fboundp x) (eq (function-lambda-list x) :dont-know))
    (print (list x (function-lambda-list x)))))
Nil

;; trying with :cl, just in case
CL-USER 2 > (do-symbols (x :cl)
  (when (and (fboundp x) (eq (function-lambda-list x) :dont-know))
    (print (list x (function-lambda-list x)))))
Nil

;; one of the symbols that yielded :dont-know for you
CL-USER 3 > (function-lambda-list 'get-properties)
(System::Plist System::Indicator-List)


On 5/30/07, Mikael Laurson <laurson@siba.fi> wrote:
>
> Hi,
>
> Our project depends on the LW function 'function-lambda-list'
> that has the following documantation:
>
> Documentation for (DEFUN FUNCTION-LAMBDA-LIST):
> Arguments: (X &OPTIONAL (ERRORP T))
> Given a function, return its lambda list.  If given a symbol, use the
> symbol-function.
>
>
>
> There are, however, some cases where 'function-lambda-list' returns
> ':dont-know'.
>
> For instance when running this test in ':cl-user' I get the following
> result (even for some very commonly used functions as 'length' and
> 'numerp'):
>
> (do-symbols (x :cl-user)
>    (when (and (fboundp x) (eq (function-lambda-list x) :dont-know))
>      (print (list x (function-lambda-list x)))))
>
> (GET-PROPERTIES :DONT-KNOW)
> (NUMBERP :DONT-KNOW)
> (COPY-SYMBOL :DONT-KNOW)
> (RPLACD :DONT-KNOW)
> (LENGTH :DONT-KNOW)
> (SXHASH :DONT-KNOW)
> (ENDP :DONT-KNOW)
> (ARRAYP :DONT-KNOW)
> (RPLACA :DONT-KNOW)
> (MAKUNBOUND :DONT-KNOW)
> (GETF :DONT-KNOW)
> (SET :DONT-KNOW)
> (REMPROP :DONT-KNOW)
> (SYMBOL-VALUE :DONT-KNOW)
> (FBOUNDP :DONT-KNOW)
> (GET :DONT-KNOW)
> (GENTEMP :DONT-KNOW)
> (MAKE-SYMBOL :DONT-KNOW)
> (GENSYM :DONT-KNOW)
> (FMAKUNBOUND :DONT-KNOW)
> (TOTAL-ALLOCATION :DONT-KNOW)
> (GC-ALL :DONT-KNOW)
> (COLLECT-HIGHEST-GENERATION :DONT-KNOW)
> (SWITCH-STATIC-ALLOCATION :DONT-KNOW)
> (CLEAN-GENERATION-0 :DONT-KNOW)
> (CLEAN-DOWN :DONT-KNOW)
> (GET-DEFAULT-GENERATION :DONT-KNOW)
> (COLLECT-GENERATION-2 :DONT-KNOW)
> (NORMAL-GC :DONT-KNOW)
> (AVOID-GC :DONT-KNOW)
> (EXPAND-GENERATION-1 :DONT-KNOW)
> (SET-DEFAULT-GENERATION :DONT-KNOW)
> (TRY-MOVE-IN-GENERATION :DONT-KNOW)
> (SET-MINIMUM-FREE-SPACE :DONT-KNOW)
> (SET-PROMOTION-COUNT :DONT-KNOW)
> (MAKE-SG :DONT-KNOW)
> (FIND-OBJECT-SIZE :DONT-KNOW)
> (ENLARGE-GENERATION :DONT-KNOW)
> (SWEEP-ALL-OBJECTS :DONT-KNOW)
> (SG-INITIALISE :DONT-KNOW)
> (CALL-SG :DONT-KNOW)
> (CHECK-FRAGMENTATION :DONT-KNOW)
> (SG-RESUME :DONT-KNOW)
> (SG-RETURN :DONT-KNOW)
> (TRY-COMPACT-IN-GENERATION :DONT-KNOW)
> (GC-GENERATION :DONT-KNOW)
> (MARK-AND-SWEEP :DONT-KNOW)
> (CALL-COUNTER :DONT-KNOW)
> (GC-IF-NEEDED :DONT-KNOW)
> (GET-UNIX-ERROR :DONT-KNOW)
> (ERRNO-VALUE :DONT-KNOW)
>
>
> Is this a LW bug?
>
> Mikael
>
>


-- 
=====================
Joshua Taylor
tayloj@rpi.edu

"A lot of good things went down one time,
     back in the goodle days."
               John Hartford


Updated at: 2020-12-10 08:45 UTC