diff options
author | Kenichi Handa <handa@gnu.org> | 2012-11-13 23:24:26 +0900 |
---|---|---|
committer | Kenichi Handa <handa@gnu.org> | 2012-11-13 23:24:26 +0900 |
commit | 0cdbf84521791935fdfeabf2e84f585cc64db325 (patch) | |
tree | 68a169af3af4a8859685682ab07c05e8f9ff93b3 /src/font.c | |
parent | e1bf05c1fbf63087801c242208212df133921ed1 (diff) | |
parent | 5745cae6984ed60299a89485aaea8f2f3fb67382 (diff) | |
download | emacs-0cdbf84521791935fdfeabf2e84f585cc64db325.tar.gz |
merge trunk
Diffstat (limited to 'src/font.c')
-rw-r--r-- | src/font.c | 40 |
1 files changed, 12 insertions, 28 deletions
diff --git a/src/font.c b/src/font.c index 1ec5929506e..c57ca3ccec4 100644 --- a/src/font.c +++ b/src/font.c @@ -4006,16 +4006,11 @@ The optional argument FRAME specifies the frame that the face attributes are to be displayed on. If omitted, the selected frame is used. */) (Lisp_Object font, Lisp_Object frame) { - struct frame *f; + struct frame *f = decode_live_frame (frame); Lisp_Object plist[10]; Lisp_Object val; int n = 0; - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - f = XFRAME (frame); - if (STRINGP (font)) { int fontset = fs_query_fontset (font, 0); @@ -4165,18 +4160,15 @@ how close they are to PREFER. */) DEFUN ("font-family-list", Ffont_family_list, Sfont_family_list, 0, 1, 0, doc: /* List available font families on the current frame. -Optional argument FRAME, if non-nil, specifies the target frame. */) +If FRAME is omitted or nil, the selected frame is used. */) (Lisp_Object frame) { - FRAME_PTR f; + struct frame *f = decode_live_frame (frame); struct font_driver_list *driver_list; - Lisp_Object list; + Lisp_Object list = Qnil; + + XSETFRAME (frame, f); - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - f = XFRAME (frame); - list = Qnil; for (driver_list = f->font_driver_list; driver_list; driver_list = driver_list->next) if (driver_list->driver->list_family) @@ -4544,11 +4536,9 @@ DEFUN ("open-font", Fopen_font, Sopen_font, 1, 3, 0, (Lisp_Object font_entity, Lisp_Object size, Lisp_Object frame) { EMACS_INT isize; + struct frame *f = decode_live_frame (frame); CHECK_FONT_ENTITY (font_entity); - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); if (NILP (size)) isize = XINT (AREF (font_entity, FONT_SIZE_INDEX)); @@ -4556,7 +4546,7 @@ DEFUN ("open-font", Fopen_font, Sopen_font, 1, 3, 0, { CHECK_NUMBER_OR_FLOAT (size); if (FLOATP (size)) - isize = POINT_TO_PIXEL (XFLOAT_DATA (size), XFRAME (frame)->resy); + isize = POINT_TO_PIXEL (XFLOAT_DATA (size), f->resy); else isize = XINT (size); if (! (INT_MIN <= isize && isize <= INT_MAX)) @@ -4564,7 +4554,7 @@ DEFUN ("open-font", Fopen_font, Sopen_font, 1, 3, 0, if (isize == 0) isize = 120; } - return font_open_entity (XFRAME (frame), font_entity, isize); + return font_open_entity (f, font_entity, isize); } DEFUN ("close-font", Fclose_font, Sclose_font, 1, 2, 0, @@ -4572,10 +4562,7 @@ DEFUN ("close-font", Fclose_font, Sclose_font, 1, 2, 0, (Lisp_Object font_object, Lisp_Object frame) { CHECK_FONT_OBJECT (font_object); - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - font_close_object (XFRAME (frame), font_object); + font_close_object (decode_live_frame (frame), font_object); return Qnil; } @@ -4860,7 +4847,7 @@ where If the named font is not yet loaded, return nil. */) (Lisp_Object name, Lisp_Object frame) { - FRAME_PTR f; + struct frame *f; struct font *font; Lisp_Object info; Lisp_Object font_object; @@ -4869,10 +4856,7 @@ If the named font is not yet loaded, return nil. */) if (! FONTP (name)) CHECK_STRING (name); - if (NILP (frame)) - frame = selected_frame; - CHECK_LIVE_FRAME (frame); - f = XFRAME (frame); + f = decode_live_frame (frame); if (STRINGP (name)) { |