comparison src/fns.c @ 5516:fa5fc2e3d9a6

New function OBJECT-ADDRESS. -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2011-06-01 Didier Verna <didier@xemacs.org> * fns.c (Fobject_address): New function. * fns.c (syms_of_fns): DEFSUBR it.
author Didier Verna <didier@xemacs.org>
date Wed, 01 Jun 2011 10:53:50 +0200
parents 6b3caa55668c
children 5e128eda1d1f
comparison
equal deleted inserted replaced
5515:f87be7ddd60d 5516:fa5fc2e3d9a6
6208 newplist); 6208 newplist);
6209 } 6209 }
6210 6210
6211 invalid_operation ("Not possible to set object's plist", object); 6211 invalid_operation ("Not possible to set object's plist", object);
6212 return Qnil; 6212 return Qnil;
6213 }
6214
6215
6216 DEFUN ("object-address", Fobject_address, 1, 1, 0, /*
6217 Return OBJECT's memory address as an integer.
6218 This may be useful for customized printing of unreadable Lisp objects.
6219 As this only makes sense for record type objects, this function returns nil
6220 for chars and integers.
6221 */
6222 (object))
6223 {
6224 switch (XTYPE (object))
6225 {
6226 case Lisp_Type_Int_Even:
6227 case Lisp_Type_Int_Odd:
6228 case Lisp_Type_Char:
6229 {
6230 return Qnil;
6231 }
6232 case Lisp_Type_Record:
6233 {
6234 return make_integer ((EMACS_INT) GET_VOID_FROM_LISP (object));
6235 }
6236 default:
6237 {
6238 signal_error (Qinternal_error,
6239 "Internal error: illegal lisp object tag type",
6240 object);
6241 }
6242 }
6213 } 6243 }
6214 6244
6215 6245
6216 6246
6217 static Lisp_Object 6247 static Lisp_Object
11784 DEFSUBR (Fget); 11814 DEFSUBR (Fget);
11785 DEFSUBR (Fput); 11815 DEFSUBR (Fput);
11786 DEFSUBR (Fremprop); 11816 DEFSUBR (Fremprop);
11787 DEFSUBR (Fobject_plist); 11817 DEFSUBR (Fobject_plist);
11788 DEFSUBR (Fobject_setplist); 11818 DEFSUBR (Fobject_setplist);
11819 DEFSUBR (Fobject_address);
11789 DEFSUBR (Fequal); 11820 DEFSUBR (Fequal);
11790 DEFSUBR (Fequalp); 11821 DEFSUBR (Fequalp);
11791 DEFSUBR (Ffill); 11822 DEFSUBR (Ffill);
11792 11823
11793 #ifdef SUPPORT_CONFOUNDING_FUNCTIONS 11824 #ifdef SUPPORT_CONFOUNDING_FUNCTIONS