comparison src/eval.c @ 919:111c4f2ed9c9

[xemacs-hg @ 2002-07-14 09:43:52 by adrian] [S] [PATCH] xemacs-21.5: Hrvoje's `functionp' fix -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2002-07-08 Stephen J. Turnbull <stephen@xemacs.org> * lisp.h: Declare Fcdr_safe to be callable from C. 2002-07-08 Hrvoje Niksic <hniksic@xemacs.org> * eval.c (Ffunctionp): Return nil for autoloaded macros and keymaps.
author adrian
date Sun, 14 Jul 2002 09:43:54 +0000
parents ccc3177ef10b
children eaedf30d9d76
comparison
equal deleted inserted replaced
918:bc2d7b06db9f 919:111c4f2ed9c9
3827 (object)) 3827 (object))
3828 { 3828 {
3829 if (SYMBOLP (object)) 3829 if (SYMBOLP (object))
3830 object = indirect_function (object, 0); 3830 object = indirect_function (object, 0);
3831 3831
3832 return 3832 if (COMPILED_FUNCTIONP (object) || SUBRP (object))
3833 (SUBRP (object) || 3833 return Qt;
3834 COMPILED_FUNCTIONP (object) || 3834 if (CONSP (object))
3835 (CONSP (object) && 3835 {
3836 (EQ (XCAR (object), Qlambda) || 3836 Lisp_Object car = XCAR (object);
3837 EQ (XCAR (object), Qautoload)))) 3837 if (EQ (car, Qlambda))
3838 ? Qt : Qnil; 3838 return Qt;
3839 if (EQ (car, Qautoload)
3840 && NILP (Fcar_safe (Fcdr_safe (Fcdr_safe (Fcdr_safe (XCDR (object)))))))
3841 return Qt;
3842 }
3843 return Qnil;
3839 } 3844 }
3840 3845
3841 static Lisp_Object 3846 static Lisp_Object
3842 function_argcount (Lisp_Object function, int function_min_args_p) 3847 function_argcount (Lisp_Object function, int function_min_args_p)
3843 { 3848 {