comparison src/faces.c @ 241:f955c73f5258 r20-5b19

Import from CVS: tag r20-5b19
author cvs
date Mon, 13 Aug 2007 10:16:16 +0200
parents 2c611d1463a6
children 83b3d10dcba9
comparison
equal deleted inserted replaced
240:835e739f3c17 241:f955c73f5258
388 struct face_list_closure 388 struct face_list_closure
389 { 389 {
390 Lisp_Object *face_list; 390 Lisp_Object *face_list;
391 }; 391 };
392 392
393 static void 393 static int
394 add_face_to_list_mapper (CONST void *hash_key, void *hash_contents, 394 add_face_to_list_mapper (CONST void *hash_key, void *hash_contents,
395 void *face_list_closure) 395 void *face_list_closure)
396 { 396 {
397 /* This function can GC */ 397 /* This function can GC */
398 Lisp_Object key, contents; 398 Lisp_Object key, contents;
402 CVOID_TO_LISP (key, hash_key); 402 CVOID_TO_LISP (key, hash_key);
403 VOID_TO_LISP (contents, hash_contents); 403 VOID_TO_LISP (contents, hash_contents);
404 face_list = fcl->face_list; 404 face_list = fcl->face_list;
405 405
406 *face_list = Fcons (XFACE (contents)->name, *face_list); 406 *face_list = Fcons (XFACE (contents)->name, *face_list);
407 return 0;
407 } 408 }
408 409
409 static Lisp_Object 410 static Lisp_Object
410 faces_list_internal (Lisp_Object list) 411 faces_list_internal (Lisp_Object list)
411 { 412 {
432 { 433 {
433 return faces_list_internal (Vtemporary_faces_cache); 434 return faces_list_internal (Vtemporary_faces_cache);
434 } 435 }
435 436
436 437
437 static void 438 static int
438 mark_face_as_clean_mapper (CONST void *hash_key, void *hash_contents, 439 mark_face_as_clean_mapper (CONST void *hash_key, void *hash_contents,
439 void *flag_closure) 440 void *flag_closure)
440 { 441 {
441 /* This function can GC */ 442 /* This function can GC */
442 Lisp_Object key, contents; 443 Lisp_Object key, contents;
443 int *flag = flag_closure; 444 int *flag = flag_closure;
444 CVOID_TO_LISP (key, hash_key); 445 CVOID_TO_LISP (key, hash_key);
445 VOID_TO_LISP (contents, hash_contents); 446 VOID_TO_LISP (contents, hash_contents);
446 XFACE (contents)->dirty = *flag; 447 XFACE (contents)->dirty = *flag;
448 return 0;
447 } 449 }
448 450
449 static void 451 static void
450 mark_all_faces_internal (int flag) 452 mark_all_faces_internal (int flag)
451 { 453 {
499 } 501 }
500 502
501 UNGCPRO; 503 UNGCPRO;
502 } 504 }
503 505
504 static void 506 static int
505 update_face_inheritance_mapper (CONST void *hash_key, void *hash_contents, 507 update_face_inheritance_mapper (CONST void *hash_key, void *hash_contents,
506 void *face_inheritance_closure) 508 void *face_inheritance_closure)
507 { 509 {
508 Lisp_Object key, contents; 510 Lisp_Object key, contents;
509 struct face_inheritance_closure *fcl = 511 struct face_inheritance_closure *fcl =
534 update_inheritance_mapper_internal (contents, fcl->face, Qhighlight); 536 update_inheritance_mapper_internal (contents, fcl->face, Qhighlight);
535 update_inheritance_mapper_internal (contents, fcl->face, Qdim); 537 update_inheritance_mapper_internal (contents, fcl->face, Qdim);
536 update_inheritance_mapper_internal (contents, fcl->face, Qblinking); 538 update_inheritance_mapper_internal (contents, fcl->face, Qblinking);
537 update_inheritance_mapper_internal (contents, fcl->face, Qreverse); 539 update_inheritance_mapper_internal (contents, fcl->face, Qreverse);
538 } 540 }
541 return 0;
539 } 542 }
540 543
541 static void 544 static void
542 update_faces_inheritance (Lisp_Object face, Lisp_Object property) 545 update_faces_inheritance (Lisp_Object face, Lisp_Object property)
543 { 546 {