comparison src/specifier.c @ 5117:3742ea8250b5 ben-lisp-object ben-lisp-object-final-ws-year-2005

Checking in final CVS version of workspace 'ben-lisp-object'
author Ben Wing <ben@xemacs.org>
date Sat, 26 Dec 2009 00:20:27 -0600
parents 1e7cc382eb16
children e0db3c197671
comparison
equal deleted inserted replaced
5116:e56f73345619 5117:3742ea8250b5
419 419
420 const struct sized_memory_description specifier_empty_extra_description = { 420 const struct sized_memory_description specifier_empty_extra_description = {
421 0, specifier_empty_extra_description_1 421 0, specifier_empty_extra_description_1
422 }; 422 };
423 423
424 DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("specifier", specifier, 424 DEFINE_SIZABLE_LISP_OBJECT ("specifier", specifier,
425 1, /*dumpable-flag*/ 425 mark_specifier, print_specifier,
426 mark_specifier, print_specifier, 426 finalize_specifier,
427 finalize_specifier, 427 specifier_equal, specifier_hash,
428 specifier_equal, specifier_hash, 428 specifier_description,
429 specifier_description, 429 sizeof_specifier,
430 sizeof_specifier, 430 Lisp_Specifier);
431 Lisp_Specifier);
432 431
433 /************************************************************************/ 432 /************************************************************************/
434 /* Creating specifiers */ 433 /* Creating specifiers */
435 /************************************************************************/ 434 /************************************************************************/
436 435
489 488
490 static Lisp_Object 489 static Lisp_Object
491 make_specifier_internal (struct specifier_methods *spec_meths, 490 make_specifier_internal (struct specifier_methods *spec_meths,
492 Bytecount data_size, int call_create_meth) 491 Bytecount data_size, int call_create_meth)
493 { 492 {
494 Lisp_Object specifier; 493 Lisp_Object specifier =
495 Lisp_Specifier *sp = (Lisp_Specifier *) 494 ALLOC_SIZED_LISP_OBJECT (aligned_sizeof_specifier (data_size), specifier);
496 BASIC_ALLOC_LCRECORD (aligned_sizeof_specifier (data_size), 495 Lisp_Specifier *sp = XSPECIFIER (specifier);
497 &lrecord_specifier);
498 496
499 sp->methods = spec_meths; 497 sp->methods = spec_meths;
500 sp->global_specs = Qnil; 498 sp->global_specs = Qnil;
501 sp->device_specs = Qnil; 499 sp->device_specs = Qnil;
502 sp->frame_specs = Qnil; 500 sp->frame_specs = Qnil;
505 sp->fallback = Qnil; 503 sp->fallback = Qnil;
506 sp->magic_parent = Qnil; 504 sp->magic_parent = Qnil;
507 sp->caching = 0; 505 sp->caching = 0;
508 sp->next_specifier = Vall_specifiers; 506 sp->next_specifier = Vall_specifiers;
509 507
510 specifier = wrap_specifier (sp);
511 Vall_specifiers = specifier; 508 Vall_specifiers = specifier;
512 509
513 if (call_create_meth) 510 if (call_create_meth)
514 { 511 {
515 struct gcpro gcpro1; 512 struct gcpro gcpro1;
3346 /************************************************************************/ 3343 /************************************************************************/
3347 3344
3348 void 3345 void
3349 syms_of_specifier (void) 3346 syms_of_specifier (void)
3350 { 3347 {
3351 INIT_LRECORD_IMPLEMENTATION (specifier); 3348 INIT_LISP_OBJECT (specifier);
3352 3349
3353 DEFSYMBOL (Qspecifierp); 3350 DEFSYMBOL (Qspecifierp);
3354 3351
3355 DEFSYMBOL (Qconsole_type); 3352 DEFSYMBOL (Qconsole_type);
3356 DEFSYMBOL (Qdevice_class); 3353 DEFSYMBOL (Qdevice_class);