diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/font.c | 30 | ||||
| -rw-r--r-- | src/font.h | 4 | ||||
| -rw-r--r-- | src/fontset.c | 4 | ||||
| -rw-r--r-- | src/xfaces.c | 6 | ||||
| -rw-r--r-- | src/xfont.c | 2 |
6 files changed, 29 insertions, 23 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 43358338c4d..a794eb9eb90 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,11 @@ | |||
| 1 | 2011-04-11 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-04-11 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | font.c: Make copy_font_spec and merge_font_spec ordinary C functions. | ||
| 4 | * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it | ||
| 5 | was inaccessible from Lisp. | ||
| 6 | (merge_font_spec): Likewise, renaming from Fmerge_font_spec. | ||
| 7 | * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses. | ||
| 8 | |||
| 3 | alloc.c: Import and export fewer symbols, and remove unused items. | 9 | alloc.c: Import and export fewer symbols, and remove unused items. |
| 4 | * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING | 10 | * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING |
| 5 | is defined. | 11 | is defined. |
diff --git a/src/font.c b/src/font.c index 91cb0a2d52b..ace1b8442d4 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -2727,7 +2727,7 @@ font_list_entities (Lisp_Object frame, Lisp_Object spec) | |||
| 2727 | val = null_vector; | 2727 | val = null_vector; |
| 2728 | else | 2728 | else |
| 2729 | val = Fvconcat (1, &val); | 2729 | val = Fvconcat (1, &val); |
| 2730 | copy = Fcopy_font_spec (scratch_font_spec); | 2730 | copy = copy_font_spec (scratch_font_spec); |
| 2731 | ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); | 2731 | ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); |
| 2732 | XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); | 2732 | XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); |
| 2733 | } | 2733 | } |
| @@ -2755,7 +2755,7 @@ font_matching_entity (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec) | |||
| 2755 | struct font_driver_list *driver_list = f->font_driver_list; | 2755 | struct font_driver_list *driver_list = f->font_driver_list; |
| 2756 | Lisp_Object ftype, size, entity; | 2756 | Lisp_Object ftype, size, entity; |
| 2757 | Lisp_Object frame; | 2757 | Lisp_Object frame; |
| 2758 | Lisp_Object work = Fcopy_font_spec (spec); | 2758 | Lisp_Object work = copy_font_spec (spec); |
| 2759 | 2759 | ||
| 2760 | XSETFRAME (frame, f); | 2760 | XSETFRAME (frame, f); |
| 2761 | ftype = AREF (spec, FONT_TYPE_INDEX); | 2761 | ftype = AREF (spec, FONT_TYPE_INDEX); |
| @@ -2782,7 +2782,7 @@ font_matching_entity (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec) | |||
| 2782 | else | 2782 | else |
| 2783 | { | 2783 | { |
| 2784 | entity = driver_list->driver->match (frame, work); | 2784 | entity = driver_list->driver->match (frame, work); |
| 2785 | copy = Fcopy_font_spec (work); | 2785 | copy = copy_font_spec (work); |
| 2786 | ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); | 2786 | ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); |
| 2787 | XSETCDR (cache, Fcons (Fcons (copy, entity), XCDR (cache))); | 2787 | XSETCDR (cache, Fcons (Fcons (copy, entity), XCDR (cache))); |
| 2788 | } | 2788 | } |
| @@ -2976,7 +2976,7 @@ font_clear_prop (Lisp_Object *attrs, enum font_property_index prop) | |||
| 2976 | 2976 | ||
| 2977 | if (! NILP (Ffont_get (font, QCname))) | 2977 | if (! NILP (Ffont_get (font, QCname))) |
| 2978 | { | 2978 | { |
| 2979 | font = Fcopy_font_spec (font); | 2979 | font = copy_font_spec (font); |
| 2980 | font_put_extra (font, QCname, Qnil); | 2980 | font_put_extra (font, QCname, Qnil); |
| 2981 | } | 2981 | } |
| 2982 | 2982 | ||
| @@ -2987,7 +2987,7 @@ font_clear_prop (Lisp_Object *attrs, enum font_property_index prop) | |||
| 2987 | && prop != FONT_SIZE_INDEX) | 2987 | && prop != FONT_SIZE_INDEX) |
| 2988 | return; | 2988 | return; |
| 2989 | if (EQ (font, attrs[LFACE_FONT_INDEX])) | 2989 | if (EQ (font, attrs[LFACE_FONT_INDEX])) |
| 2990 | font = Fcopy_font_spec (font); | 2990 | font = copy_font_spec (font); |
| 2991 | ASET (font, prop, Qnil); | 2991 | ASET (font, prop, Qnil); |
| 2992 | if (prop == FONT_FAMILY_INDEX || prop == FONT_FOUNDRY_INDEX) | 2992 | if (prop == FONT_FAMILY_INDEX || prop == FONT_FOUNDRY_INDEX) |
| 2993 | { | 2993 | { |
| @@ -3098,7 +3098,7 @@ font_find_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec, int c) | |||
| 3098 | return Qnil; | 3098 | return Qnil; |
| 3099 | } | 3099 | } |
| 3100 | 3100 | ||
| 3101 | work = Fcopy_font_spec (spec); | 3101 | work = copy_font_spec (spec); |
| 3102 | ASET (work, FONT_TYPE_INDEX, AREF (spec, FONT_TYPE_INDEX)); | 3102 | ASET (work, FONT_TYPE_INDEX, AREF (spec, FONT_TYPE_INDEX)); |
| 3103 | XSETFRAME (frame, f); | 3103 | XSETFRAME (frame, f); |
| 3104 | pixel_size = font_pixel_size (f, spec); | 3104 | pixel_size = font_pixel_size (f, spec); |
| @@ -3868,9 +3868,9 @@ usage: (font-spec ARGS...) */) | |||
| 3868 | return spec; | 3868 | return spec; |
| 3869 | } | 3869 | } |
| 3870 | 3870 | ||
| 3871 | DEFUE ("copy-font-spec", Fcopy_font_spec, Scopy_font_spec, 1, 1, 0, | 3871 | /* Return a copy of FONT as a font-spec. */ |
| 3872 | doc: /* Return a copy of FONT as a font-spec. */) | 3872 | Lisp_Object |
| 3873 | (Lisp_Object font) | 3873 | copy_font_spec (Lisp_Object font) |
| 3874 | { | 3874 | { |
| 3875 | Lisp_Object new_spec, tail, prev, extra; | 3875 | Lisp_Object new_spec, tail, prev, extra; |
| 3876 | int i; | 3876 | int i; |
| @@ -3894,18 +3894,18 @@ DEFUE ("copy-font-spec", Fcopy_font_spec, Scopy_font_spec, 1, 1, 0, | |||
| 3894 | return new_spec; | 3894 | return new_spec; |
| 3895 | } | 3895 | } |
| 3896 | 3896 | ||
| 3897 | DEFUE ("merge-font-spec", Fmerge_font_spec, Smerge_font_spec, 2, 2, 0, | 3897 | /* Merge font-specs FROM and TO, and return a new font-spec. |
| 3898 | doc: /* Merge font-specs FROM and TO, and return a new font-spec. | 3898 | Every specified property in FROM overrides the corresponding |
| 3899 | Every specified properties in FROM override the corresponding | 3899 | property in TO. */ |
| 3900 | properties in TO. */) | 3900 | Lisp_Object |
| 3901 | (Lisp_Object from, Lisp_Object to) | 3901 | merge_font_spec (Lisp_Object from, Lisp_Object to) |
| 3902 | { | 3902 | { |
| 3903 | Lisp_Object extra, tail; | 3903 | Lisp_Object extra, tail; |
| 3904 | int i; | 3904 | int i; |
| 3905 | 3905 | ||
| 3906 | CHECK_FONT (from); | 3906 | CHECK_FONT (from); |
| 3907 | CHECK_FONT (to); | 3907 | CHECK_FONT (to); |
| 3908 | to = Fcopy_font_spec (to); | 3908 | to = copy_font_spec (to); |
| 3909 | for (i = 0; i < FONT_EXTRA_INDEX; i++) | 3909 | for (i = 0; i < FONT_EXTRA_INDEX; i++) |
| 3910 | ASET (to, i, AREF (from, i)); | 3910 | ASET (to, i, AREF (from, i)); |
| 3911 | extra = AREF (to, FONT_EXTRA_INDEX); | 3911 | extra = AREF (to, FONT_EXTRA_INDEX); |
diff --git a/src/font.h b/src/font.h index a9b58eb7c76..ead5223a6cb 100644 --- a/src/font.h +++ b/src/font.h | |||
| @@ -737,8 +737,8 @@ struct font_data_list | |||
| 737 | }; | 737 | }; |
| 738 | 738 | ||
| 739 | EXFUN (Ffont_spec, MANY); | 739 | EXFUN (Ffont_spec, MANY); |
| 740 | EXFUN (Fcopy_font_spec, 1); | 740 | extern Lisp_Object copy_font_spec (Lisp_Object); |
| 741 | EXFUN (Fmerge_font_spec, 2); | 741 | extern Lisp_Object merge_font_spec (Lisp_Object, Lisp_Object); |
| 742 | EXFUN (Ffont_get, 2); | 742 | EXFUN (Ffont_get, 2); |
| 743 | EXFUN (Ffont_put, 3); | 743 | EXFUN (Ffont_put, 3); |
| 744 | EXFUN (Flist_fonts, 4); | 744 | EXFUN (Flist_fonts, 4); |
diff --git a/src/fontset.c b/src/fontset.c index 4a9cc9393bf..c8452979eee 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -1709,7 +1709,7 @@ int | |||
| 1709 | fontset_from_font (Lisp_Object font_object) | 1709 | fontset_from_font (Lisp_Object font_object) |
| 1710 | { | 1710 | { |
| 1711 | Lisp_Object font_name = font_get_name (font_object); | 1711 | Lisp_Object font_name = font_get_name (font_object); |
| 1712 | Lisp_Object font_spec = Fcopy_font_spec (font_object); | 1712 | Lisp_Object font_spec = copy_font_spec (font_object); |
| 1713 | Lisp_Object registry = AREF (font_spec, FONT_REGISTRY_INDEX); | 1713 | Lisp_Object registry = AREF (font_spec, FONT_REGISTRY_INDEX); |
| 1714 | Lisp_Object fontset_spec, alias, name, fontset; | 1714 | Lisp_Object fontset_spec, alias, name, fontset; |
| 1715 | Lisp_Object val; | 1715 | Lisp_Object val; |
| @@ -1726,7 +1726,7 @@ fontset_from_font (Lisp_Object font_object) | |||
| 1726 | sprintf (temp, "fontset-auto%d", num_auto_fontsets - 1); | 1726 | sprintf (temp, "fontset-auto%d", num_auto_fontsets - 1); |
| 1727 | alias = intern (temp); | 1727 | alias = intern (temp); |
| 1728 | } | 1728 | } |
| 1729 | fontset_spec = Fcopy_font_spec (font_spec); | 1729 | fontset_spec = copy_font_spec (font_spec); |
| 1730 | ASET (fontset_spec, FONT_REGISTRY_INDEX, alias); | 1730 | ASET (fontset_spec, FONT_REGISTRY_INDEX, alias); |
| 1731 | name = Ffont_xlfd_name (fontset_spec, Qnil); | 1731 | name = Ffont_xlfd_name (fontset_spec, Qnil); |
| 1732 | if (NILP (name)) | 1732 | if (NILP (name)) |
diff --git a/src/xfaces.c b/src/xfaces.c index 920debf4dba..83f4268ad1e 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -1793,7 +1793,7 @@ the WIDTH times as wide as FACE on FRAME. */) | |||
| 1793 | { | 1793 | { |
| 1794 | /* This is a scalable font. For backward compatibility, | 1794 | /* This is a scalable font. For backward compatibility, |
| 1795 | we set the specified size. */ | 1795 | we set the specified size. */ |
| 1796 | font_entity = Fcopy_font_spec (font_entity); | 1796 | font_entity = copy_font_spec (font_entity); |
| 1797 | ASET (font_entity, FONT_SIZE_INDEX, | 1797 | ASET (font_entity, FONT_SIZE_INDEX, |
| 1798 | AREF (font_spec, FONT_SIZE_INDEX)); | 1798 | AREF (font_spec, FONT_SIZE_INDEX)); |
| 1799 | } | 1799 | } |
| @@ -2317,9 +2317,9 @@ merge_face_vectors (struct frame *f, Lisp_Object *from, Lisp_Object *to, struct | |||
| 2317 | if (!UNSPECIFIEDP (from[i])) | 2317 | if (!UNSPECIFIEDP (from[i])) |
| 2318 | { | 2318 | { |
| 2319 | if (!UNSPECIFIEDP (to[i])) | 2319 | if (!UNSPECIFIEDP (to[i])) |
| 2320 | to[i] = Fmerge_font_spec (from[i], to[i]); | 2320 | to[i] = merge_font_spec (from[i], to[i]); |
| 2321 | else | 2321 | else |
| 2322 | to[i] = Fcopy_font_spec (from[i]); | 2322 | to[i] = copy_font_spec (from[i]); |
| 2323 | if (! NILP (AREF (to[i], FONT_FOUNDRY_INDEX))) | 2323 | if (! NILP (AREF (to[i], FONT_FOUNDRY_INDEX))) |
| 2324 | to[LFACE_FOUNDRY_INDEX] = SYMBOL_NAME (AREF (to[i], FONT_FOUNDRY_INDEX)); | 2324 | to[LFACE_FOUNDRY_INDEX] = SYMBOL_NAME (AREF (to[i], FONT_FOUNDRY_INDEX)); |
| 2325 | if (! NILP (AREF (to[i], FONT_FAMILY_INDEX))) | 2325 | if (! NILP (AREF (to[i], FONT_FAMILY_INDEX))) |
diff --git a/src/xfont.c b/src/xfont.c index eaa1a3ea59b..5dd6aae3846 100644 --- a/src/xfont.c +++ b/src/xfont.c | |||
| @@ -739,7 +739,7 @@ xfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size) | |||
| 739 | So, we try again with wildcards in RESX and RESY. */ | 739 | So, we try again with wildcards in RESX and RESY. */ |
| 740 | Lisp_Object temp; | 740 | Lisp_Object temp; |
| 741 | 741 | ||
| 742 | temp = Fcopy_font_spec (entity); | 742 | temp = copy_font_spec (entity); |
| 743 | ASET (temp, FONT_DPI_INDEX, Qnil); | 743 | ASET (temp, FONT_DPI_INDEX, Qnil); |
| 744 | len = font_unparse_xlfd (temp, pixel_size, name, 512); | 744 | len = font_unparse_xlfd (temp, pixel_size, name, 512); |
| 745 | if (len <= 0 || (len = xfont_encode_coding_xlfd (name)) < 0) | 745 | if (len <= 0 || (len = xfont_encode_coding_xlfd (name)) < 0) |