Mercurial > hg > xemacs-beta
comparison src/symeval.h @ 5125:b5df3737028a ben-lisp-object
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 24 Feb 2010 01:58:04 -0600 |
parents | d1247f3cc363 bcdf496e49d0 |
children | a9c41067dd88 |
comparison
equal
deleted
inserted
replaced
5124:623d57b7fbe8 | 5125:b5df3737028a |
---|---|
324 MODULE_API void defsubr_macro (Lisp_Subr *); | 324 MODULE_API void defsubr_macro (Lisp_Subr *); |
325 #define DEFSUBR_MACRO(Fname) defsubr_macro (&S##Fname) | 325 #define DEFSUBR_MACRO(Fname) defsubr_macro (&S##Fname) |
326 #endif /* not NEW_GC */ | 326 #endif /* not NEW_GC */ |
327 | 327 |
328 MODULE_API void defsymbol_massage_name (Lisp_Object *location, | 328 MODULE_API void defsymbol_massage_name (Lisp_Object *location, |
329 const char *name); | 329 const Ascbyte *name); |
330 MODULE_API void defsymbol_massage_name_nodump (Lisp_Object *location, | 330 MODULE_API void defsymbol_massage_name_nodump (Lisp_Object *location, |
331 const char *name); | 331 const Ascbyte *name); |
332 MODULE_API void defsymbol_massage_multiword_predicate (Lisp_Object *location, | 332 MODULE_API void defsymbol_massage_multiword_predicate (Lisp_Object *location, |
333 const char *name); | 333 const Ascbyte *name); |
334 MODULE_API void | 334 MODULE_API void |
335 defsymbol_massage_multiword_predicate_nodump (Lisp_Object *location, | 335 defsymbol_massage_multiword_predicate_nodump (Lisp_Object *location, |
336 const char *name); | 336 const Ascbyte *name); |
337 MODULE_API void defsymbol (Lisp_Object *location, const char *name); | 337 MODULE_API void defsymbol (Lisp_Object *location, const Ascbyte *name); |
338 MODULE_API void defsymbol_nodump (Lisp_Object *location, const char *name); | 338 MODULE_API void defsymbol_nodump (Lisp_Object *location, const Ascbyte *name); |
339 | 339 |
340 /* Defining symbols: | 340 /* Defining symbols: |
341 | 341 |
342 (1) A standard symbol is defined with DEFSYMBOL. That means that | 342 (1) A standard symbol is defined with DEFSYMBOL. That means that |
343 the symbol's print name can be derived from the symbol's variable | 343 the symbol's print name can be derived from the symbol's variable |
368 #define DEFSYMBOL_MULTIWORD_PREDICATE(name) \ | 368 #define DEFSYMBOL_MULTIWORD_PREDICATE(name) \ |
369 defsymbol_massage_multiword_predicate (&name, #name) | 369 defsymbol_massage_multiword_predicate (&name, #name) |
370 #define DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP(name) \ | 370 #define DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP(name) \ |
371 defsymbol_massage_multiword_predicate_nodump (&name, #name) | 371 defsymbol_massage_multiword_predicate_nodump (&name, #name) |
372 | 372 |
373 MODULE_API void defkeyword (Lisp_Object *location, const char *name); | 373 MODULE_API void defkeyword (Lisp_Object *location, const Ascbyte *name); |
374 MODULE_API void defkeyword_massage_name (Lisp_Object *location, | 374 MODULE_API void defkeyword_massage_name (Lisp_Object *location, |
375 const char *name); | 375 const Ascbyte *name); |
376 #define DEFKEYWORD(name) defkeyword_massage_name (&name, #name) | 376 #define DEFKEYWORD(name) defkeyword_massage_name (&name, #name) |
377 | 377 |
378 MODULE_API void deferror (Lisp_Object *symbol, const char *name, | 378 MODULE_API void deferror (Lisp_Object *symbol, const Ascbyte *name, |
379 const char *message, Lisp_Object inherits_from); | 379 const Ascbyte *message, Lisp_Object inherits_from); |
380 MODULE_API void deferror_massage_name (Lisp_Object *symbol, const char *name, | 380 MODULE_API void deferror_massage_name (Lisp_Object *symbol, const Ascbyte *name, |
381 const char *message, | 381 const Ascbyte *message, |
382 Lisp_Object inherits_from); | 382 Lisp_Object inherits_from); |
383 MODULE_API void deferror_massage_name_and_message (Lisp_Object *symbol, | 383 MODULE_API void deferror_massage_name_and_message (Lisp_Object *symbol, |
384 const char *name, | 384 const Ascbyte *name, |
385 Lisp_Object inherits_from); | 385 Lisp_Object inherits_from); |
386 #define DEFERROR(name, message, inherits_from) \ | 386 #define DEFERROR(name, message, inherits_from) \ |
387 deferror_massage_name (&name, #name, message, inherits_from) | 387 deferror_massage_name (&name, #name, message, inherits_from) |
388 /* In this case, the error message is the same as the name, modulo some | 388 /* In this case, the error message is the same as the name, modulo some |
389 prettifying */ | 389 prettifying */ |
391 deferror_massage_name_and_message (&name, #name, inherits_from) | 391 deferror_massage_name_and_message (&name, #name, inherits_from) |
392 | 392 |
393 /* Macros we use to define forwarded Lisp variables. | 393 /* Macros we use to define forwarded Lisp variables. |
394 These are used in the syms_of_FILENAME functions. */ | 394 These are used in the syms_of_FILENAME functions. */ |
395 | 395 |
396 MODULE_API void defvar_magic (const char *symbol_name, | 396 MODULE_API void defvar_magic (const Ascbyte *symbol_name, |
397 const struct symbol_value_forward *magic); | 397 const struct symbol_value_forward *magic); |
398 | 398 |
399 #ifdef NEW_GC | 399 #ifdef NEW_GC |
400 #define DEFVAR_SYMVAL_FWD(lname, c_location, forward_type, magic_fun) \ | 400 #define DEFVAR_SYMVAL_FWD(lname, c_location, forward_type, magic_fun) \ |
401 do \ | 401 do \ |
457 do \ | 457 do \ |
458 { \ | 458 { \ |
459 DEFVAR_SYMVAL_FWD (lname, c_location, forward_type, magicfun); \ | 459 DEFVAR_SYMVAL_FWD (lname, c_location, forward_type, magicfun); \ |
460 { \ | 460 { \ |
461 Lisp_Object *DSF_location = c_location; /* Type check */ \ | 461 Lisp_Object *DSF_location = c_location; /* Type check */ \ |
462 staticpro (DSF_location); \ | 462 staticpro_1 (DSF_location, lname); \ |
463 if (EQ (*DSF_location, Qnull_pointer)) *DSF_location = Qnil; \ | 463 if (EQ (*DSF_location, Qnull_pointer)) *DSF_location = Qnil; \ |
464 } \ | 464 } \ |
465 } while (0) | 465 } while (0) |
466 | 466 |
467 #define DEFVAR_LISP(lname, c_location) \ | 467 #define DEFVAR_LISP(lname, c_location) \ |