font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
* font.c (copy_font_spec): Rename from Fcopy_font_spec, since it was inaccessible from Lisp. (merge_font_spec): Likewise, renaming from Fmerge_font_spec. * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
This commit is contained in:
parent
244ed9077f
commit
9247002884
6 changed files with 29 additions and 23 deletions
|
|
@ -1,5 +1,11 @@
|
|||
2011-04-11 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
|
||||
* font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
|
||||
was inaccessible from Lisp.
|
||||
(merge_font_spec): Likewise, renaming from Fmerge_font_spec.
|
||||
* font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
|
||||
|
||||
alloc.c: Import and export fewer symbols, and remove unused items.
|
||||
* lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
|
||||
is defined.
|
||||
|
|
|
|||
30
src/font.c
30
src/font.c
|
|
@ -2727,7 +2727,7 @@ font_list_entities (Lisp_Object frame, Lisp_Object spec)
|
|||
val = null_vector;
|
||||
else
|
||||
val = Fvconcat (1, &val);
|
||||
copy = Fcopy_font_spec (scratch_font_spec);
|
||||
copy = copy_font_spec (scratch_font_spec);
|
||||
ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
|
||||
XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
|
||||
}
|
||||
|
|
@ -2755,7 +2755,7 @@ font_matching_entity (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec)
|
|||
struct font_driver_list *driver_list = f->font_driver_list;
|
||||
Lisp_Object ftype, size, entity;
|
||||
Lisp_Object frame;
|
||||
Lisp_Object work = Fcopy_font_spec (spec);
|
||||
Lisp_Object work = copy_font_spec (spec);
|
||||
|
||||
XSETFRAME (frame, f);
|
||||
ftype = AREF (spec, FONT_TYPE_INDEX);
|
||||
|
|
@ -2782,7 +2782,7 @@ font_matching_entity (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec)
|
|||
else
|
||||
{
|
||||
entity = driver_list->driver->match (frame, work);
|
||||
copy = Fcopy_font_spec (work);
|
||||
copy = copy_font_spec (work);
|
||||
ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
|
||||
XSETCDR (cache, Fcons (Fcons (copy, entity), XCDR (cache)));
|
||||
}
|
||||
|
|
@ -2976,7 +2976,7 @@ font_clear_prop (Lisp_Object *attrs, enum font_property_index prop)
|
|||
|
||||
if (! NILP (Ffont_get (font, QCname)))
|
||||
{
|
||||
font = Fcopy_font_spec (font);
|
||||
font = copy_font_spec (font);
|
||||
font_put_extra (font, QCname, Qnil);
|
||||
}
|
||||
|
||||
|
|
@ -2987,7 +2987,7 @@ font_clear_prop (Lisp_Object *attrs, enum font_property_index prop)
|
|||
&& prop != FONT_SIZE_INDEX)
|
||||
return;
|
||||
if (EQ (font, attrs[LFACE_FONT_INDEX]))
|
||||
font = Fcopy_font_spec (font);
|
||||
font = copy_font_spec (font);
|
||||
ASET (font, prop, Qnil);
|
||||
if (prop == FONT_FAMILY_INDEX || prop == FONT_FOUNDRY_INDEX)
|
||||
{
|
||||
|
|
@ -3098,7 +3098,7 @@ font_find_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec, int c)
|
|||
return Qnil;
|
||||
}
|
||||
|
||||
work = Fcopy_font_spec (spec);
|
||||
work = copy_font_spec (spec);
|
||||
ASET (work, FONT_TYPE_INDEX, AREF (spec, FONT_TYPE_INDEX));
|
||||
XSETFRAME (frame, f);
|
||||
pixel_size = font_pixel_size (f, spec);
|
||||
|
|
@ -3868,9 +3868,9 @@ usage: (font-spec ARGS...) */)
|
|||
return spec;
|
||||
}
|
||||
|
||||
DEFUE ("copy-font-spec", Fcopy_font_spec, Scopy_font_spec, 1, 1, 0,
|
||||
doc: /* Return a copy of FONT as a font-spec. */)
|
||||
(Lisp_Object font)
|
||||
/* Return a copy of FONT as a font-spec. */
|
||||
Lisp_Object
|
||||
copy_font_spec (Lisp_Object font)
|
||||
{
|
||||
Lisp_Object new_spec, tail, prev, extra;
|
||||
int i;
|
||||
|
|
@ -3894,18 +3894,18 @@ DEFUE ("copy-font-spec", Fcopy_font_spec, Scopy_font_spec, 1, 1, 0,
|
|||
return new_spec;
|
||||
}
|
||||
|
||||
DEFUE ("merge-font-spec", Fmerge_font_spec, Smerge_font_spec, 2, 2, 0,
|
||||
doc: /* Merge font-specs FROM and TO, and return a new font-spec.
|
||||
Every specified properties in FROM override the corresponding
|
||||
properties in TO. */)
|
||||
(Lisp_Object from, Lisp_Object to)
|
||||
/* Merge font-specs FROM and TO, and return a new font-spec.
|
||||
Every specified property in FROM overrides the corresponding
|
||||
property in TO. */
|
||||
Lisp_Object
|
||||
merge_font_spec (Lisp_Object from, Lisp_Object to)
|
||||
{
|
||||
Lisp_Object extra, tail;
|
||||
int i;
|
||||
|
||||
CHECK_FONT (from);
|
||||
CHECK_FONT (to);
|
||||
to = Fcopy_font_spec (to);
|
||||
to = copy_font_spec (to);
|
||||
for (i = 0; i < FONT_EXTRA_INDEX; i++)
|
||||
ASET (to, i, AREF (from, i));
|
||||
extra = AREF (to, FONT_EXTRA_INDEX);
|
||||
|
|
|
|||
|
|
@ -737,8 +737,8 @@ struct font_data_list
|
|||
};
|
||||
|
||||
EXFUN (Ffont_spec, MANY);
|
||||
EXFUN (Fcopy_font_spec, 1);
|
||||
EXFUN (Fmerge_font_spec, 2);
|
||||
extern Lisp_Object copy_font_spec (Lisp_Object);
|
||||
extern Lisp_Object merge_font_spec (Lisp_Object, Lisp_Object);
|
||||
EXFUN (Ffont_get, 2);
|
||||
EXFUN (Ffont_put, 3);
|
||||
EXFUN (Flist_fonts, 4);
|
||||
|
|
|
|||
|
|
@ -1709,7 +1709,7 @@ int
|
|||
fontset_from_font (Lisp_Object font_object)
|
||||
{
|
||||
Lisp_Object font_name = font_get_name (font_object);
|
||||
Lisp_Object font_spec = Fcopy_font_spec (font_object);
|
||||
Lisp_Object font_spec = copy_font_spec (font_object);
|
||||
Lisp_Object registry = AREF (font_spec, FONT_REGISTRY_INDEX);
|
||||
Lisp_Object fontset_spec, alias, name, fontset;
|
||||
Lisp_Object val;
|
||||
|
|
@ -1726,7 +1726,7 @@ fontset_from_font (Lisp_Object font_object)
|
|||
sprintf (temp, "fontset-auto%d", num_auto_fontsets - 1);
|
||||
alias = intern (temp);
|
||||
}
|
||||
fontset_spec = Fcopy_font_spec (font_spec);
|
||||
fontset_spec = copy_font_spec (font_spec);
|
||||
ASET (fontset_spec, FONT_REGISTRY_INDEX, alias);
|
||||
name = Ffont_xlfd_name (fontset_spec, Qnil);
|
||||
if (NILP (name))
|
||||
|
|
|
|||
|
|
@ -1793,7 +1793,7 @@ the WIDTH times as wide as FACE on FRAME. */)
|
|||
{
|
||||
/* This is a scalable font. For backward compatibility,
|
||||
we set the specified size. */
|
||||
font_entity = Fcopy_font_spec (font_entity);
|
||||
font_entity = copy_font_spec (font_entity);
|
||||
ASET (font_entity, FONT_SIZE_INDEX,
|
||||
AREF (font_spec, FONT_SIZE_INDEX));
|
||||
}
|
||||
|
|
@ -2317,9 +2317,9 @@ merge_face_vectors (struct frame *f, Lisp_Object *from, Lisp_Object *to, struct
|
|||
if (!UNSPECIFIEDP (from[i]))
|
||||
{
|
||||
if (!UNSPECIFIEDP (to[i]))
|
||||
to[i] = Fmerge_font_spec (from[i], to[i]);
|
||||
to[i] = merge_font_spec (from[i], to[i]);
|
||||
else
|
||||
to[i] = Fcopy_font_spec (from[i]);
|
||||
to[i] = copy_font_spec (from[i]);
|
||||
if (! NILP (AREF (to[i], FONT_FOUNDRY_INDEX)))
|
||||
to[LFACE_FOUNDRY_INDEX] = SYMBOL_NAME (AREF (to[i], FONT_FOUNDRY_INDEX));
|
||||
if (! NILP (AREF (to[i], FONT_FAMILY_INDEX)))
|
||||
|
|
|
|||
|
|
@ -739,7 +739,7 @@ xfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
|
|||
So, we try again with wildcards in RESX and RESY. */
|
||||
Lisp_Object temp;
|
||||
|
||||
temp = Fcopy_font_spec (entity);
|
||||
temp = copy_font_spec (entity);
|
||||
ASET (temp, FONT_DPI_INDEX, Qnil);
|
||||
len = font_unparse_xlfd (temp, pixel_size, name, 512);
|
||||
if (len <= 0 || (len = xfont_encode_coding_xlfd (name)) < 0)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue