Mercurial > hg > xemacs-beta
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 { |