diff options
| -rw-r--r-- | src/xfaces.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/xfaces.c b/src/xfaces.c index a4a7077e57b..62d2cf22196 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -2449,6 +2449,16 @@ merge_face_vectors (f, from, to, named_merge_points) | |||
| 2449 | to[i] = Fmerge_font_spec (from[i], to[i]); | 2449 | to[i] = Fmerge_font_spec (from[i], to[i]); |
| 2450 | else | 2450 | else |
| 2451 | to[i] = Fcopy_font_spec (from[i]); | 2451 | to[i] = Fcopy_font_spec (from[i]); |
| 2452 | if (! NILP (AREF (to[i], FONT_FOUNDRY_INDEX))) | ||
| 2453 | to[LFACE_FOUNDRY_INDEX] = SYMBOL_NAME (AREF (to[i], FONT_FOUNDRY_INDEX)); | ||
| 2454 | if (! NILP (AREF (to[i], FONT_FAMILY_INDEX))) | ||
| 2455 | to[LFACE_FAMILY_INDEX] = SYMBOL_NAME (AREF (to[i], FONT_FAMILY_INDEX)); | ||
| 2456 | if (! NILP (AREF (to[i], FONT_WEIGHT_INDEX))) | ||
| 2457 | to[LFACE_WEIGHT_INDEX] = FONT_WEIGHT_FOR_FACE (to[i]); | ||
| 2458 | if (! NILP (AREF (to[i], FONT_SLANT_INDEX))) | ||
| 2459 | to[LFACE_SLANT_INDEX] = FONT_SLANT_FOR_FACE (to[i]); | ||
| 2460 | if (! NILP (AREF (to[i], FONT_WIDTH_INDEX))) | ||
| 2461 | to[LFACE_SWIDTH_INDEX] = FONT_WIDTH_FOR_FACE (to[i]); | ||
| 2452 | ASET (to[i], FONT_SIZE_INDEX, Qnil); | 2462 | ASET (to[i], FONT_SIZE_INDEX, Qnil); |
| 2453 | } | 2463 | } |
| 2454 | 2464 | ||
| @@ -2460,7 +2470,8 @@ merge_face_vectors (f, from, to, named_merge_points) | |||
| 2460 | to[i] = merge_face_heights (from[i], to[i], to[i]); | 2470 | to[i] = merge_face_heights (from[i], to[i], to[i]); |
| 2461 | font_clear_prop (to, FONT_SIZE_INDEX); | 2471 | font_clear_prop (to, FONT_SIZE_INDEX); |
| 2462 | } | 2472 | } |
| 2463 | else if (i != LFACE_FONT_INDEX) | 2473 | else if (i != LFACE_FONT_INDEX |
| 2474 | && ! EQ (to[i], from[i])) | ||
| 2464 | { | 2475 | { |
| 2465 | to[i] = from[i]; | 2476 | to[i] = from[i]; |
| 2466 | if (i >= LFACE_FAMILY_INDEX && i <=LFACE_SLANT_INDEX) | 2477 | if (i >= LFACE_FAMILY_INDEX && i <=LFACE_SLANT_INDEX) |