Mercurial > hg > xemacs-beta
changeset 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 | bc2d7b06db9f |
children | 47ca978d6c75 |
files | src/ChangeLog src/eval.c src/lisp.h |
diffstat | 3 files changed, 22 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sat Jul 13 11:59:22 2002 +0000 +++ b/src/ChangeLog Sun Jul 14 09:43:54 2002 +0000 @@ -1,3 +1,12 @@ +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. + 2002-07-08 Daiki Ueno <daiki@xemacs.org> * glyphs-x.c (x_unmap_subwindow): Deal with the substantial windows.
--- a/src/eval.c Sat Jul 13 11:59:22 2002 +0000 +++ b/src/eval.c Sun Jul 14 09:43:54 2002 +0000 @@ -3829,13 +3829,18 @@ if (SYMBOLP (object)) object = indirect_function (object, 0); - return - (SUBRP (object) || - COMPILED_FUNCTIONP (object) || - (CONSP (object) && - (EQ (XCAR (object), Qlambda) || - EQ (XCAR (object), Qautoload)))) - ? Qt : Qnil; + if (COMPILED_FUNCTIONP (object) || SUBRP (object)) + return Qt; + if (CONSP (object)) + { + Lisp_Object car = XCAR (object); + if (EQ (car, Qlambda)) + return Qt; + if (EQ (car, Qautoload) + && NILP (Fcar_safe (Fcdr_safe (Fcdr_safe (Fcdr_safe (XCDR (object))))))) + return Qt; + } + return Qnil; } static Lisp_Object