diff options
| author | Kenichi Handa | 2008-05-20 06:34:10 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-05-20 06:34:10 +0000 |
| commit | ad00e1a3bfe533351f11195e6095b643bae96984 (patch) | |
| tree | a6812984f12064f0a8ba73f9333101a49abcd785 /src | |
| parent | cd5218d2ab7e468d276dc6bddb7df2d17aa37823 (diff) | |
| download | emacs-ad00e1a3bfe533351f11195e6095b643bae96984.tar.gz emacs-ad00e1a3bfe533351f11195e6095b643bae96984.zip | |
Include font.h unconditionally.
(merge_face_ref, merge_face_vectors)
(Finternal_set_lisp_face_attribute): Cancel the previous change.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 30 | ||||
| -rw-r--r-- | src/xfaces.c | 36 |
2 files changed, 31 insertions, 35 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 9eb5f95b5fb..38c3cd4d318 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,33 @@ | |||
| 1 | 2008-05-20 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to | ||
| 4 | font.h through out the file. | ||
| 5 | (FONT_DRIVERS): Renamed from FONTOBJ. | ||
| 6 | (obj): Delete $(FONTOBJ). Add font.o. | ||
| 7 | (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS). | ||
| 8 | |||
| 9 | * emacs.c (main): Call syms_of_font unconditionally. | ||
| 10 | |||
| 11 | * font.h (find_font_encoding): Extern it. | ||
| 12 | |||
| 13 | * font.c (Vfont_encoding_alist, find_font_encoding): Moved from | ||
| 14 | fontset.c. | ||
| 15 | (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1. | ||
| 16 | (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts, | ||
| 17 | FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f) | ||
| 18 | only when HAVE_WINDOW_SYSTEM is defined. | ||
| 19 | (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only | ||
| 20 | when HAVE_WINDOW_SYSTEM is defined. | ||
| 21 | |||
| 22 | * fontset.c (Vfont_encoding_alist, find_font_encoding): Moved to | ||
| 23 | font.c. | ||
| 24 | (syms_of_fontset): Declaration of font-encoding-alist moved to | ||
| 25 | font.c. | ||
| 26 | |||
| 27 | * xfaces.c: Include font.h unconditionally. | ||
| 28 | (merge_face_ref, merge_face_vectors) | ||
| 29 | (Finternal_set_lisp_face_attribute): Cancel the previous change. | ||
| 30 | |||
| 1 | 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca> | 31 | 2008-05-20 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 32 | ||
| 3 | * xdisp.c (select_frame_for_redisplay): Adjust for last change to | 33 | * xdisp.c (select_frame_for_redisplay): Adjust for last change to |
diff --git a/src/xfaces.c b/src/xfaces.c index 6b6f47e0990..313f8b1dcdb 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -249,8 +249,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 249 | #include "intervals.h" | 249 | #include "intervals.h" |
| 250 | #include "termchar.h" | 250 | #include "termchar.h" |
| 251 | 251 | ||
| 252 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 253 | #include "font.h" | 252 | #include "font.h" |
| 253 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 254 | #include "fontset.h" | 254 | #include "fontset.h" |
| 255 | #endif /* HAVE_WINDOW_SYSTEM */ | 255 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 256 | 256 | ||
| @@ -2514,7 +2514,6 @@ merge_face_vectors (f, from, to, named_merge_points) | |||
| 2514 | && !NILP (from[LFACE_INHERIT_INDEX])) | 2514 | && !NILP (from[LFACE_INHERIT_INDEX])) |
| 2515 | merge_face_ref (f, from[LFACE_INHERIT_INDEX], to, 0, named_merge_points); | 2515 | merge_face_ref (f, from[LFACE_INHERIT_INDEX], to, 0, named_merge_points); |
| 2516 | 2516 | ||
| 2517 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2518 | i = LFACE_FONT_INDEX; | 2517 | i = LFACE_FONT_INDEX; |
| 2519 | if (!UNSPECIFIEDP (from[i])) | 2518 | if (!UNSPECIFIEDP (from[i])) |
| 2520 | { | 2519 | { |
| @@ -2524,7 +2523,6 @@ merge_face_vectors (f, from, to, named_merge_points) | |||
| 2524 | to[i] = Fcopy_font_spec (from[i]); | 2523 | to[i] = Fcopy_font_spec (from[i]); |
| 2525 | ASET (to[i], FONT_SIZE_INDEX, Qnil); | 2524 | ASET (to[i], FONT_SIZE_INDEX, Qnil); |
| 2526 | } | 2525 | } |
| 2527 | #endif | ||
| 2528 | 2526 | ||
| 2529 | for (i = 1; i < LFACE_VECTOR_SIZE; ++i) | 2527 | for (i = 1; i < LFACE_VECTOR_SIZE; ++i) |
| 2530 | if (!UNSPECIFIEDP (from[i])) | 2528 | if (!UNSPECIFIEDP (from[i])) |
| @@ -2532,11 +2530,8 @@ merge_face_vectors (f, from, to, named_merge_points) | |||
| 2532 | if (i == LFACE_HEIGHT_INDEX && !INTEGERP (from[i])) | 2530 | if (i == LFACE_HEIGHT_INDEX && !INTEGERP (from[i])) |
| 2533 | { | 2531 | { |
| 2534 | to[i] = merge_face_heights (from[i], to[i], to[i]); | 2532 | to[i] = merge_face_heights (from[i], to[i], to[i]); |
| 2535 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2536 | font_clear_prop (to, FONT_SIZE_INDEX); | 2533 | font_clear_prop (to, FONT_SIZE_INDEX); |
| 2537 | #endif | ||
| 2538 | } | 2534 | } |
| 2539 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2540 | else if (i != LFACE_FONT_INDEX) | 2535 | else if (i != LFACE_FONT_INDEX) |
| 2541 | { | 2536 | { |
| 2542 | to[i] = from[i]; | 2537 | to[i] = from[i]; |
| @@ -2548,7 +2543,6 @@ merge_face_vectors (f, from, to, named_merge_points) | |||
| 2548 | : i == LFACE_WEIGHT_INDEX ? FONT_WEIGHT_INDEX | 2543 | : i == LFACE_WEIGHT_INDEX ? FONT_WEIGHT_INDEX |
| 2549 | : FONT_SLANT_INDEX)); | 2544 | : FONT_SLANT_INDEX)); |
| 2550 | } | 2545 | } |
| 2551 | #endif | ||
| 2552 | } | 2546 | } |
| 2553 | 2547 | ||
| 2554 | /* If `font' attribute is specified, reflect the font properties in | 2548 | /* If `font' attribute is specified, reflect the font properties in |
| @@ -2673,9 +2667,7 @@ merge_face_ref (f, face_ref, to, err_msgs, named_merge_points) | |||
| 2673 | if (STRINGP (value)) | 2667 | if (STRINGP (value)) |
| 2674 | { | 2668 | { |
| 2675 | to[LFACE_FAMILY_INDEX] = value; | 2669 | to[LFACE_FAMILY_INDEX] = value; |
| 2676 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2677 | font_clear_prop (to, FONT_FAMILY_INDEX); | 2670 | font_clear_prop (to, FONT_FAMILY_INDEX); |
| 2678 | #endif | ||
| 2679 | } | 2671 | } |
| 2680 | else | 2672 | else |
| 2681 | err = 1; | 2673 | err = 1; |
| @@ -2688,9 +2680,7 @@ merge_face_ref (f, face_ref, to, err_msgs, named_merge_points) | |||
| 2688 | if (! NILP (new_height)) | 2680 | if (! NILP (new_height)) |
| 2689 | { | 2681 | { |
| 2690 | to[LFACE_HEIGHT_INDEX] = new_height; | 2682 | to[LFACE_HEIGHT_INDEX] = new_height; |
| 2691 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2692 | font_clear_prop (to, FONT_SIZE_INDEX); | 2683 | font_clear_prop (to, FONT_SIZE_INDEX); |
| 2693 | #endif | ||
| 2694 | } | 2684 | } |
| 2695 | else | 2685 | else |
| 2696 | err = 1; | 2686 | err = 1; |
| @@ -2700,9 +2690,7 @@ merge_face_ref (f, face_ref, to, err_msgs, named_merge_points) | |||
| 2700 | if (SYMBOLP (value) && FONT_WEIGHT_NAME_NUMERIC (value) >= 0) | 2690 | if (SYMBOLP (value) && FONT_WEIGHT_NAME_NUMERIC (value) >= 0) |
| 2701 | { | 2691 | { |
| 2702 | to[LFACE_WEIGHT_INDEX] = value; | 2692 | to[LFACE_WEIGHT_INDEX] = value; |
| 2703 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2704 | font_clear_prop (to, FONT_WEIGHT_INDEX); | 2693 | font_clear_prop (to, FONT_WEIGHT_INDEX); |
| 2705 | #endif | ||
| 2706 | } | 2694 | } |
| 2707 | else | 2695 | else |
| 2708 | err = 1; | 2696 | err = 1; |
| @@ -2712,9 +2700,7 @@ merge_face_ref (f, face_ref, to, err_msgs, named_merge_points) | |||
| 2712 | if (SYMBOLP (value) && FONT_SLANT_NAME_NUMERIC (value) >= 0) | 2700 | if (SYMBOLP (value) && FONT_SLANT_NAME_NUMERIC (value) >= 0) |
| 2713 | { | 2701 | { |
| 2714 | to[LFACE_SLANT_INDEX] = value; | 2702 | to[LFACE_SLANT_INDEX] = value; |
| 2715 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2716 | font_clear_prop (to, FONT_SLANT_INDEX); | 2703 | font_clear_prop (to, FONT_SLANT_INDEX); |
| 2717 | #endif | ||
| 2718 | } | 2704 | } |
| 2719 | else | 2705 | else |
| 2720 | err = 1; | 2706 | err = 1; |
| @@ -2795,9 +2781,7 @@ merge_face_ref (f, face_ref, to, err_msgs, named_merge_points) | |||
| 2795 | if (SYMBOLP (value) && FONT_WIDTH_NAME_NUMERIC (value) >= 0) | 2781 | if (SYMBOLP (value) && FONT_WIDTH_NAME_NUMERIC (value) >= 0) |
| 2796 | { | 2782 | { |
| 2797 | to[LFACE_SWIDTH_INDEX] = value; | 2783 | to[LFACE_SWIDTH_INDEX] = value; |
| 2798 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2799 | font_clear_prop (to, FONT_WIDTH_INDEX); | 2784 | font_clear_prop (to, FONT_WIDTH_INDEX); |
| 2800 | #endif | ||
| 2801 | } | 2785 | } |
| 2802 | else | 2786 | else |
| 2803 | err = 1; | 2787 | err = 1; |
| @@ -3029,11 +3013,9 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3029 | { | 3013 | { |
| 3030 | Lisp_Object lface; | 3014 | Lisp_Object lface; |
| 3031 | Lisp_Object old_value = Qnil; | 3015 | Lisp_Object old_value = Qnil; |
| 3032 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3033 | /* Set one of enum font_property_index (> 0) if ATTR is one of | 3016 | /* Set one of enum font_property_index (> 0) if ATTR is one of |
| 3034 | font-related attributes other than QCfont and QCfontset. */ | 3017 | font-related attributes other than QCfont and QCfontset. */ |
| 3035 | enum font_property_index prop_index = 0; | 3018 | enum font_property_index prop_index = 0; |
| 3036 | #endif | ||
| 3037 | 3019 | ||
| 3038 | CHECK_SYMBOL (face); | 3020 | CHECK_SYMBOL (face); |
| 3039 | CHECK_SYMBOL (attr); | 3021 | CHECK_SYMBOL (attr); |
| @@ -3088,9 +3070,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3088 | } | 3070 | } |
| 3089 | old_value = LFACE_FAMILY (lface); | 3071 | old_value = LFACE_FAMILY (lface); |
| 3090 | LFACE_FAMILY (lface) = value; | 3072 | LFACE_FAMILY (lface) = value; |
| 3091 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3092 | prop_index = FONT_FAMILY_INDEX; | 3073 | prop_index = FONT_FAMILY_INDEX; |
| 3093 | #endif | ||
| 3094 | } | 3074 | } |
| 3095 | else if (EQ (attr, QCheight)) | 3075 | else if (EQ (attr, QCheight)) |
| 3096 | { | 3076 | { |
| @@ -3111,9 +3091,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3111 | 3091 | ||
| 3112 | old_value = LFACE_HEIGHT (lface); | 3092 | old_value = LFACE_HEIGHT (lface); |
| 3113 | LFACE_HEIGHT (lface) = value; | 3093 | LFACE_HEIGHT (lface) = value; |
| 3114 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3115 | prop_index = FONT_SIZE_INDEX; | 3094 | prop_index = FONT_SIZE_INDEX; |
| 3116 | #endif | ||
| 3117 | } | 3095 | } |
| 3118 | else if (EQ (attr, QCweight)) | 3096 | else if (EQ (attr, QCweight)) |
| 3119 | { | 3097 | { |
| @@ -3125,9 +3103,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3125 | } | 3103 | } |
| 3126 | old_value = LFACE_WEIGHT (lface); | 3104 | old_value = LFACE_WEIGHT (lface); |
| 3127 | LFACE_WEIGHT (lface) = value; | 3105 | LFACE_WEIGHT (lface) = value; |
| 3128 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3129 | prop_index = FONT_WEIGHT_INDEX; | 3106 | prop_index = FONT_WEIGHT_INDEX; |
| 3130 | #endif | ||
| 3131 | } | 3107 | } |
| 3132 | else if (EQ (attr, QCslant)) | 3108 | else if (EQ (attr, QCslant)) |
| 3133 | { | 3109 | { |
| @@ -3139,9 +3115,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3139 | } | 3115 | } |
| 3140 | old_value = LFACE_SLANT (lface); | 3116 | old_value = LFACE_SLANT (lface); |
| 3141 | LFACE_SLANT (lface) = value; | 3117 | LFACE_SLANT (lface) = value; |
| 3142 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3143 | prop_index = FONT_SLANT_INDEX; | 3118 | prop_index = FONT_SLANT_INDEX; |
| 3144 | #endif | ||
| 3145 | } | 3119 | } |
| 3146 | else if (EQ (attr, QCunderline)) | 3120 | else if (EQ (attr, QCunderline)) |
| 3147 | { | 3121 | { |
| @@ -3309,9 +3283,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3309 | } | 3283 | } |
| 3310 | old_value = LFACE_SWIDTH (lface); | 3284 | old_value = LFACE_SWIDTH (lface); |
| 3311 | LFACE_SWIDTH (lface) = value; | 3285 | LFACE_SWIDTH (lface) = value; |
| 3312 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3313 | prop_index = FONT_WIDTH_INDEX; | 3286 | prop_index = FONT_WIDTH_INDEX; |
| 3314 | #endif | ||
| 3315 | } | 3287 | } |
| 3316 | else if (EQ (attr, QCfont)) | 3288 | else if (EQ (attr, QCfont)) |
| 3317 | { | 3289 | { |
| @@ -3390,23 +3362,18 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3390 | { | 3362 | { |
| 3391 | old_value = LFACE_WEIGHT (lface); | 3363 | old_value = LFACE_WEIGHT (lface); |
| 3392 | LFACE_WEIGHT (lface) = NILP (value) ? Qnormal : Qbold; | 3364 | LFACE_WEIGHT (lface) = NILP (value) ? Qnormal : Qbold; |
| 3393 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3394 | prop_index = FONT_WEIGHT_INDEX; | 3365 | prop_index = FONT_WEIGHT_INDEX; |
| 3395 | #endif | ||
| 3396 | } | 3366 | } |
| 3397 | else if (EQ (attr, QCitalic)) | 3367 | else if (EQ (attr, QCitalic)) |
| 3398 | { | 3368 | { |
| 3399 | attr = QCslant; | 3369 | attr = QCslant; |
| 3400 | old_value = LFACE_SLANT (lface); | 3370 | old_value = LFACE_SLANT (lface); |
| 3401 | LFACE_SLANT (lface) = NILP (value) ? Qnormal : Qitalic; | 3371 | LFACE_SLANT (lface) = NILP (value) ? Qnormal : Qitalic; |
| 3402 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3403 | prop_index = FONT_SLANT_INDEX; | 3372 | prop_index = FONT_SLANT_INDEX; |
| 3404 | #endif | ||
| 3405 | } | 3373 | } |
| 3406 | else | 3374 | else |
| 3407 | signal_error ("Invalid face attribute name", attr); | 3375 | signal_error ("Invalid face attribute name", attr); |
| 3408 | 3376 | ||
| 3409 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 3410 | if (prop_index) | 3377 | if (prop_index) |
| 3411 | /* If a font-related attribute other than QCfont and QCfontset is | 3378 | /* If a font-related attribute other than QCfont and QCfontset is |
| 3412 | specified, and if the original QCfont attribute has a font | 3379 | specified, and if the original QCfont attribute has a font |
| @@ -3414,7 +3381,6 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3414 | the font to nil so that the font selector doesn't think that | 3381 | the font to nil so that the font selector doesn't think that |
| 3415 | the attribute is mandatory. */ | 3382 | the attribute is mandatory. */ |
| 3416 | font_clear_prop (XVECTOR (lface)->contents, prop_index); | 3383 | font_clear_prop (XVECTOR (lface)->contents, prop_index); |
| 3417 | #endif | ||
| 3418 | 3384 | ||
| 3419 | /* Changing a named face means that all realized faces depending on | 3385 | /* Changing a named face means that all realized faces depending on |
| 3420 | that face are invalid. Since we cannot tell which realized faces | 3386 | that face are invalid. Since we cannot tell which realized faces |