aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Antipov2013-08-03 07:29:03 +0400
committerDmitry Antipov2013-08-03 07:29:03 +0400
commita10c82694e253f891cdfa220ba75b59f5ed50ab3 (patch)
tree3dcdc0400f8fa190ac1e2408c38bb2b4e82f52ff
parent0372256bed8f8c1372579001ba42b21dbe5d2adb (diff)
downloademacs-a10c82694e253f891cdfa220ba75b59f5ed50ab3.tar.gz
emacs-a10c82694e253f891cdfa220ba75b59f5ed50ab3.zip
Drop FRAME_PTR typedef.
* composite.c, font.c, font.h, fontset.c, fontset.h, frame.c, frame.h: * ftfont.c, ftxfont.c, gtkutil.c, gtkutil.h, image.c, keyboard.c: * menu.c, menu.h, msdos.c, nsfns.m, nsfont.m, nsmenu.m, nsterm.h: * nsterm.m, scroll.c, term.c, w32fns.c, w32font.c, w32font.h: * w32inevt.c, w32inevt.h, w32menu.c, w32notify.c, w32term.c, w32term.h: * w32uniscribe.c, w32xfns.c, widget.c, window.c, xdisp.c, xfaces.c: * xfns.c, xfont.c, xftfont.c, xmenu.c, xselect.c, xterm.c: All related users changed.
-rw-r--r--src/ChangeLog12
-rw-r--r--src/composite.c2
-rw-r--r--src/font.c62
-rw-r--r--src/font.h50
-rw-r--r--src/fontset.c21
-rw-r--r--src/fontset.h6
-rw-r--r--src/frame.c10
-rw-r--r--src/frame.h4
-rw-r--r--src/ftfont.c12
-rw-r--r--src/ftxfont.c14
-rw-r--r--src/gtkutil.c126
-rw-r--r--src/gtkutil.h46
-rw-r--r--src/image.c14
-rw-r--r--src/keyboard.c12
-rw-r--r--src/menu.c9
-rw-r--r--src/menu.h10
-rw-r--r--src/msdos.c6
-rw-r--r--src/nsfns.m10
-rw-r--r--src/nsfont.m12
-rw-r--r--src/nsmenu.m6
-rw-r--r--src/nsterm.h10
-rw-r--r--src/nsterm.m2
-rw-r--r--src/scroll.c12
-rw-r--r--src/term.c4
-rw-r--r--src/w32fns.c26
-rw-r--r--src/w32font.c18
-rw-r--r--src/w32font.h6
-rw-r--r--src/w32inevt.c12
-rw-r--r--src/w32inevt.h2
-rw-r--r--src/w32menu.c28
-rw-r--r--src/w32notify.c2
-rw-r--r--src/w32term.c38
-rw-r--r--src/w32term.h2
-rw-r--r--src/w32uniscribe.c12
-rw-r--r--src/w32xfns.c8
-rw-r--r--src/widget.c2
-rw-r--r--src/window.c4
-rw-r--r--src/xdisp.c4
-rw-r--r--src/xfaces.c4
-rw-r--r--src/xfns.c35
-rw-r--r--src/xfont.c20
-rw-r--r--src/xftfont.c20
-rw-r--r--src/xmenu.c49
-rw-r--r--src/xselect.c4
-rw-r--r--src/xterm.c37
45 files changed, 410 insertions, 395 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c6e349010a7..a1685b85d9b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,15 @@
12013-08-03 Dmitry Antipov <dmantipov@yandex.ru>
2
3 Drop FRAME_PTR typedef.
4 * composite.c, font.c, font.h, fontset.c, fontset.h, frame.c, frame.h:
5 * ftfont.c, ftxfont.c, gtkutil.c, gtkutil.h, image.c, keyboard.c:
6 * menu.c, menu.h, msdos.c, nsfns.m, nsfont.m, nsmenu.m, nsterm.h:
7 * nsterm.m, scroll.c, term.c, w32fns.c, w32font.c, w32font.h:
8 * w32inevt.c, w32inevt.h, w32menu.c, w32notify.c, w32term.c, w32term.h:
9 * w32uniscribe.c, w32xfns.c, widget.c, window.c, xdisp.c, xfaces.c:
10 * xfns.c, xfont.c, xftfont.c, xmenu.c, xselect.c, xterm.c:
11 All related users changed.
12
12013-08-02 Stefan Monnier <monnier@iro.umontreal.ca> 132013-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
2 14
3 * eval.c (default_toplevel_binding): New function. 15 * eval.c (default_toplevel_binding): New function.
diff --git a/src/composite.c b/src/composite.c
index 99b5da22af5..5dbddba78bb 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -901,7 +901,7 @@ autocmp_chars (Lisp_Object rule, ptrdiff_t charpos, ptrdiff_t bytepos,
901 Lisp_Object string) 901 Lisp_Object string)
902{ 902{
903 ptrdiff_t count = SPECPDL_INDEX (); 903 ptrdiff_t count = SPECPDL_INDEX ();
904 FRAME_PTR f = XFRAME (win->frame); 904 struct frame *f = XFRAME (win->frame);
905 Lisp_Object pos = make_number (charpos); 905 Lisp_Object pos = make_number (charpos);
906 ptrdiff_t to; 906 ptrdiff_t to;
907 ptrdiff_t pt = PT, pt_byte = PT_BYTE; 907 ptrdiff_t pt = PT, pt_byte = PT_BYTE;
diff --git a/src/font.c b/src/font.c
index c9b9b5722a3..073487b540d 100644
--- a/src/font.c
+++ b/src/font.c
@@ -204,9 +204,9 @@ font_make_object (int size, Lisp_Object entity, int pixelsize)
204 204
205 205
206 206
207static int font_pixel_size (FRAME_PTR f, Lisp_Object); 207static int font_pixel_size (struct frame *f, Lisp_Object);
208static Lisp_Object font_open_entity (FRAME_PTR, Lisp_Object, int); 208static Lisp_Object font_open_entity (struct frame *, Lisp_Object, int);
209static Lisp_Object font_matching_entity (FRAME_PTR, Lisp_Object *, 209static Lisp_Object font_matching_entity (struct frame *, Lisp_Object *,
210 Lisp_Object); 210 Lisp_Object);
211static unsigned font_encode_char (Lisp_Object, int); 211static unsigned font_encode_char (Lisp_Object, int);
212 212
@@ -269,7 +269,7 @@ font_intern_prop (const char *str, ptrdiff_t len, bool force_symbol)
269/* Return a pixel size of font-spec SPEC on frame F. */ 269/* Return a pixel size of font-spec SPEC on frame F. */
270 270
271static int 271static int
272font_pixel_size (FRAME_PTR f, Lisp_Object spec) 272font_pixel_size (struct frame *f, Lisp_Object spec)
273{ 273{
274#ifdef HAVE_WINDOW_SYSTEM 274#ifdef HAVE_WINDOW_SYSTEM
275 Lisp_Object size = AREF (spec, FONT_SIZE_INDEX); 275 Lisp_Object size = AREF (spec, FONT_SIZE_INDEX);
@@ -2497,14 +2497,14 @@ font_match_p (Lisp_Object spec, Lisp_Object font)
2497 is a number frames sharing this cache, and FONT-CACHE-DATA is a 2497 is a number frames sharing this cache, and FONT-CACHE-DATA is a
2498 cons (FONT-SPEC FONT-ENTITY ...). */ 2498 cons (FONT-SPEC FONT-ENTITY ...). */
2499 2499
2500static void font_prepare_cache (FRAME_PTR, struct font_driver *); 2500static void font_prepare_cache (struct frame *, struct font_driver *);
2501static void font_finish_cache (FRAME_PTR, struct font_driver *); 2501static void font_finish_cache (struct frame *, struct font_driver *);
2502static Lisp_Object font_get_cache (FRAME_PTR, struct font_driver *); 2502static Lisp_Object font_get_cache (struct frame *, struct font_driver *);
2503static void font_clear_cache (FRAME_PTR, Lisp_Object, 2503static void font_clear_cache (struct frame *, Lisp_Object,
2504 struct font_driver *); 2504 struct font_driver *);
2505 2505
2506static void 2506static void
2507font_prepare_cache (FRAME_PTR f, struct font_driver *driver) 2507font_prepare_cache (struct frame *f, struct font_driver *driver)
2508{ 2508{
2509 Lisp_Object cache, val; 2509 Lisp_Object cache, val;
2510 2510
@@ -2526,7 +2526,7 @@ font_prepare_cache (FRAME_PTR f, struct font_driver *driver)
2526 2526
2527 2527
2528static void 2528static void
2529font_finish_cache (FRAME_PTR f, struct font_driver *driver) 2529font_finish_cache (struct frame *f, struct font_driver *driver)
2530{ 2530{
2531 Lisp_Object cache, val, tmp; 2531 Lisp_Object cache, val, tmp;
2532 2532
@@ -2547,7 +2547,7 @@ font_finish_cache (FRAME_PTR f, struct font_driver *driver)
2547 2547
2548 2548
2549static Lisp_Object 2549static Lisp_Object
2550font_get_cache (FRAME_PTR f, struct font_driver *driver) 2550font_get_cache (struct frame *f, struct font_driver *driver)
2551{ 2551{
2552 Lisp_Object val = driver->get_cache (f); 2552 Lisp_Object val = driver->get_cache (f);
2553 Lisp_Object type = driver->type; 2553 Lisp_Object type = driver->type;
@@ -2562,7 +2562,7 @@ font_get_cache (FRAME_PTR f, struct font_driver *driver)
2562 2562
2563 2563
2564static void 2564static void
2565font_clear_cache (FRAME_PTR f, Lisp_Object cache, struct font_driver *driver) 2565font_clear_cache (struct frame *f, Lisp_Object cache, struct font_driver *driver)
2566{ 2566{
2567 Lisp_Object tail, elt; 2567 Lisp_Object tail, elt;
2568 Lisp_Object tail2, entity; 2568 Lisp_Object tail2, entity;
@@ -2760,7 +2760,7 @@ font_list_entities (struct frame *f, Lisp_Object spec)
2760 font-related attributes. */ 2760 font-related attributes. */
2761 2761
2762static Lisp_Object 2762static Lisp_Object
2763font_matching_entity (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec) 2763font_matching_entity (struct frame *f, Lisp_Object *attrs, Lisp_Object spec)
2764{ 2764{
2765 struct font_driver_list *driver_list = f->font_driver_list; 2765 struct font_driver_list *driver_list = f->font_driver_list;
2766 Lisp_Object ftype, size, entity; 2766 Lisp_Object ftype, size, entity;
@@ -2806,7 +2806,7 @@ font_matching_entity (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec)
2806 opened font object. */ 2806 opened font object. */
2807 2807
2808static Lisp_Object 2808static Lisp_Object
2809font_open_entity (FRAME_PTR f, Lisp_Object entity, int pixel_size) 2809font_open_entity (struct frame *f, Lisp_Object entity, int pixel_size)
2810{ 2810{
2811 struct font_driver_list *driver_list; 2811 struct font_driver_list *driver_list;
2812 Lisp_Object objlist, size, val, font_object; 2812 Lisp_Object objlist, size, val, font_object;
@@ -2884,7 +2884,7 @@ font_open_entity (FRAME_PTR f, Lisp_Object entity, int pixel_size)
2884/* Close FONT_OBJECT that is opened on frame F. */ 2884/* Close FONT_OBJECT that is opened on frame F. */
2885 2885
2886static void 2886static void
2887font_close_object (FRAME_PTR f, Lisp_Object font_object) 2887font_close_object (struct frame *f, Lisp_Object font_object)
2888{ 2888{
2889 struct font *font = XFONT_OBJECT (font_object); 2889 struct font *font = XFONT_OBJECT (font_object);
2890 2890
@@ -2904,7 +2904,7 @@ font_close_object (FRAME_PTR f, Lisp_Object font_object)
2904 FONT is a font-entity and it must be opened to check. */ 2904 FONT is a font-entity and it must be opened to check. */
2905 2905
2906int 2906int
2907font_has_char (FRAME_PTR f, Lisp_Object font, int c) 2907font_has_char (struct frame *f, Lisp_Object font, int c)
2908{ 2908{
2909 struct font *fontp; 2909 struct font *fontp;
2910 2910
@@ -3075,7 +3075,7 @@ font_select_entity (struct frame *f, Lisp_Object entities,
3075 character that the entity must support. */ 3075 character that the entity must support. */
3076 3076
3077Lisp_Object 3077Lisp_Object
3078font_find_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec, int c) 3078font_find_for_lface (struct frame *f, Lisp_Object *attrs, Lisp_Object spec, int c)
3079{ 3079{
3080 Lisp_Object work; 3080 Lisp_Object work;
3081 Lisp_Object entities, val; 3081 Lisp_Object entities, val;
@@ -3222,7 +3222,7 @@ font_find_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec, int c)
3222 3222
3223 3223
3224Lisp_Object 3224Lisp_Object
3225font_open_for_lface (FRAME_PTR f, Lisp_Object entity, Lisp_Object *attrs, Lisp_Object spec) 3225font_open_for_lface (struct frame *f, Lisp_Object entity, Lisp_Object *attrs, Lisp_Object spec)
3226{ 3226{
3227 int size; 3227 int size;
3228 3228
@@ -3269,7 +3269,7 @@ font_open_for_lface (FRAME_PTR f, Lisp_Object entity, Lisp_Object *attrs, Lisp_O
3269 font-object. */ 3269 font-object. */
3270 3270
3271Lisp_Object 3271Lisp_Object
3272font_load_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec) 3272font_load_for_lface (struct frame *f, Lisp_Object *attrs, Lisp_Object spec)
3273{ 3273{
3274 Lisp_Object entity, name; 3274 Lisp_Object entity, name;
3275 3275
@@ -3298,7 +3298,7 @@ font_load_for_lface (FRAME_PTR f, Lisp_Object *attrs, Lisp_Object spec)
3298/* Make FACE on frame F ready to use the font opened for FACE. */ 3298/* Make FACE on frame F ready to use the font opened for FACE. */
3299 3299
3300void 3300void
3301font_prepare_for_face (FRAME_PTR f, struct face *face) 3301font_prepare_for_face (struct frame *f, struct face *face)
3302{ 3302{
3303 if (face->font->driver->prepare_face) 3303 if (face->font->driver->prepare_face)
3304 face->font->driver->prepare_face (f, face); 3304 face->font->driver->prepare_face (f, face);
@@ -3308,7 +3308,7 @@ font_prepare_for_face (FRAME_PTR f, struct face *face)
3308/* Make FACE on frame F stop using the font opened for FACE. */ 3308/* Make FACE on frame F stop using the font opened for FACE. */
3309 3309
3310void 3310void
3311font_done_for_face (FRAME_PTR f, struct face *face) 3311font_done_for_face (struct frame *f, struct face *face)
3312{ 3312{
3313 if (face->font->driver->done_face) 3313 if (face->font->driver->done_face)
3314 face->font->driver->done_face (f, face); 3314 face->font->driver->done_face (f, face);
@@ -3320,7 +3320,7 @@ font_done_for_face (FRAME_PTR f, struct face *face)
3320 font is found, return Qnil. */ 3320 font is found, return Qnil. */
3321 3321
3322Lisp_Object 3322Lisp_Object
3323font_open_by_spec (FRAME_PTR f, Lisp_Object spec) 3323font_open_by_spec (struct frame *f, Lisp_Object spec)
3324{ 3324{
3325 Lisp_Object attrs[LFACE_VECTOR_SIZE]; 3325 Lisp_Object attrs[LFACE_VECTOR_SIZE];
3326 3326
@@ -3344,7 +3344,7 @@ font_open_by_spec (FRAME_PTR f, Lisp_Object spec)
3344 found, return Qnil. */ 3344 found, return Qnil. */
3345 3345
3346Lisp_Object 3346Lisp_Object
3347font_open_by_name (FRAME_PTR f, Lisp_Object name) 3347font_open_by_name (struct frame *f, Lisp_Object name)
3348{ 3348{
3349 Lisp_Object args[2]; 3349 Lisp_Object args[2];
3350 Lisp_Object spec, ret; 3350 Lisp_Object spec, ret;
@@ -3374,7 +3374,7 @@ font_open_by_name (FRAME_PTR f, Lisp_Object name)
3374 (e.g. syms_of_xfont). */ 3374 (e.g. syms_of_xfont). */
3375 3375
3376void 3376void
3377register_font_driver (struct font_driver *driver, FRAME_PTR f) 3377register_font_driver (struct font_driver *driver, struct frame *f)
3378{ 3378{
3379 struct font_driver_list *root = f ? f->font_driver_list : font_driver_list; 3379 struct font_driver_list *root = f ? f->font_driver_list : font_driver_list;
3380 struct font_driver_list *prev, *list; 3380 struct font_driver_list *prev, *list;
@@ -3402,7 +3402,7 @@ register_font_driver (struct font_driver *driver, FRAME_PTR f)
3402} 3402}
3403 3403
3404void 3404void
3405free_font_driver_list (FRAME_PTR f) 3405free_font_driver_list (struct frame *f)
3406{ 3406{
3407 struct font_driver_list *list, *next; 3407 struct font_driver_list *list, *next;
3408 3408
@@ -3424,7 +3424,7 @@ free_font_driver_list (FRAME_PTR f)
3424 F. */ 3424 F. */
3425 3425
3426Lisp_Object 3426Lisp_Object
3427font_update_drivers (FRAME_PTR f, Lisp_Object new_drivers) 3427font_update_drivers (struct frame *f, Lisp_Object new_drivers)
3428{ 3428{
3429 Lisp_Object active_drivers = Qnil; 3429 Lisp_Object active_drivers = Qnil;
3430 struct font_driver_list *list; 3430 struct font_driver_list *list;
@@ -3513,7 +3513,7 @@ font_update_drivers (FRAME_PTR f, Lisp_Object new_drivers)
3513} 3513}
3514 3514
3515int 3515int
3516font_put_frame_data (FRAME_PTR f, struct font_driver *driver, void *data) 3516font_put_frame_data (struct frame *f, struct font_driver *driver, void *data)
3517{ 3517{
3518 struct font_data_list *list, *prev; 3518 struct font_data_list *list, *prev;
3519 3519
@@ -3547,7 +3547,7 @@ font_put_frame_data (FRAME_PTR f, struct font_driver *driver, void *data)
3547 3547
3548 3548
3549void * 3549void *
3550font_get_frame_data (FRAME_PTR f, struct font_driver *driver) 3550font_get_frame_data (struct frame *f, struct font_driver *driver)
3551{ 3551{
3552 struct font_data_list *list; 3552 struct font_data_list *list;
3553 3553
@@ -3621,7 +3621,7 @@ static Lisp_Object
3621font_at (int c, ptrdiff_t pos, struct face *face, struct window *w, 3621font_at (int c, ptrdiff_t pos, struct face *face, struct window *w,
3622 Lisp_Object string) 3622 Lisp_Object string)
3623{ 3623{
3624 FRAME_PTR f; 3624 struct frame *f;
3625 bool multibyte; 3625 bool multibyte;
3626 Lisp_Object font_object; 3626 Lisp_Object font_object;
3627 3627
@@ -4234,7 +4234,7 @@ DEFUN ("clear-font-cache", Fclear_font_cache, Sclear_font_cache, 0, 0, 0,
4234 4234
4235 FOR_EACH_FRAME (list, frame) 4235 FOR_EACH_FRAME (list, frame)
4236 { 4236 {
4237 FRAME_PTR f = XFRAME (frame); 4237 struct frame *f = XFRAME (frame);
4238 struct font_driver_list *driver_list = f->font_driver_list; 4238 struct font_driver_list *driver_list = f->font_driver_list;
4239 4239
4240 for (; driver_list; driver_list = driver_list->next) 4240 for (; driver_list; driver_list = driver_list->next)
@@ -4782,7 +4782,7 @@ Type C-l to recover what previously shown. */)
4782 (Lisp_Object font_object, Lisp_Object string) 4782 (Lisp_Object font_object, Lisp_Object string)
4783{ 4783{
4784 Lisp_Object frame = selected_frame; 4784 Lisp_Object frame = selected_frame;
4785 FRAME_PTR f = XFRAME (frame); 4785 struct frame *f = XFRAME (frame);
4786 struct font *font; 4786 struct font *font;
4787 struct face *face; 4787 struct face *face;
4788 int i, len, width; 4788 int i, len, width;
diff --git a/src/font.h b/src/font.h
index dfb58686182..daeb320c1ab 100644
--- a/src/font.h
+++ b/src/font.h
@@ -504,7 +504,7 @@ struct font_driver
504 504
505 /* Return a cache of font-entities on frame F. The cache must be a 505 /* Return a cache of font-entities on frame F. The cache must be a
506 cons whose cdr part is the actual cache area. */ 506 cons whose cdr part is the actual cache area. */
507 Lisp_Object (*get_cache) (FRAME_PTR F); 507 Lisp_Object (*get_cache) (struct frame *f);
508 508
509 /* List fonts exactly matching with FONT_SPEC on FRAME. The value 509 /* List fonts exactly matching with FONT_SPEC on FRAME. The value
510 is a list of font-entities. The font properties to be considered 510 is a list of font-entities. The font properties to be considered
@@ -549,21 +549,21 @@ struct font_driver
549 549
550 /* Open a font specified by FONT_ENTITY on frame F. If the font is 550 /* Open a font specified by FONT_ENTITY on frame F. If the font is
551 scalable, open it with PIXEL_SIZE. */ 551 scalable, open it with PIXEL_SIZE. */
552 Lisp_Object (*open) (FRAME_PTR f, Lisp_Object font_entity, 552 Lisp_Object (*open) (struct frame *f, Lisp_Object font_entity,
553 int pixel_size); 553 int pixel_size);
554 554
555 /* Close FONT on frame F. */ 555 /* Close FONT on frame F. */
556 void (*close) (FRAME_PTR f, struct font *font); 556 void (*close) (struct frame *f, struct font *font);
557 557
558 /* Optional (if FACE->extra is not used). 558 /* Optional (if FACE->extra is not used).
559 Prepare FACE for displaying characters by FONT on frame F by 559 Prepare FACE for displaying characters by FONT on frame F by
560 storing some data in FACE->extra. If successful, return 0. 560 storing some data in FACE->extra. If successful, return 0.
561 Otherwise, return -1. */ 561 Otherwise, return -1. */
562 int (*prepare_face) (FRAME_PTR f, struct face *face); 562 int (*prepare_face) (struct frame *f, struct face *face);
563 563
564 /* Optional. 564 /* Optional.
565 Done FACE for displaying characters by FACE->font on frame F. */ 565 Done FACE for displaying characters by FACE->font on frame F. */
566 void (*done_face) (FRAME_PTR f, struct face *face); 566 void (*done_face) (struct frame *f, struct face *face);
567 567
568 /* Optional. 568 /* Optional.
569 If FONT (FONT-ENTITY or FONT-OBJECT) has a glyph for character C 569 If FONT (FONT-ENTITY or FONT-OBJECT) has a glyph for character C
@@ -646,12 +646,12 @@ struct font_driver
646 Make the font driver ready for frame F. Usually this function 646 Make the font driver ready for frame F. Usually this function
647 makes some data specific to F and stores it in F by calling 647 makes some data specific to F and stores it in F by calling
648 font_put_frame_data (). */ 648 font_put_frame_data (). */
649 int (*start_for_frame) (FRAME_PTR f); 649 int (*start_for_frame) (struct frame *f);
650 650
651 /* Optional. 651 /* Optional.
652 End using the driver for frame F. Usually this function free 652 End using the driver for frame F. Usually this function free
653 some data stored for F. */ 653 some data stored for F. */
654 int (*end_for_frame) (FRAME_PTR f); 654 int (*end_for_frame) (struct frame *f);
655 655
656 /* Optional. 656 /* Optional.
657 657
@@ -674,7 +674,7 @@ struct font_driver
674 If FONT is usable on frame F, return 0. Otherwise return -1. 674 If FONT is usable on frame F, return 0. Otherwise return -1.
675 This method is used only for debugging. If this method is NULL, 675 This method is used only for debugging. If this method is NULL,
676 Emacs assumes that the font is usable on any frame. */ 676 Emacs assumes that the font is usable on any frame. */
677 int (*check) (FRAME_PTR F, struct font *font); 677 int (*check) (struct frame *f, struct font *font);
678 678
679 /* Optional. 679 /* Optional.
680 680
@@ -698,8 +698,8 @@ struct font_driver
698 698
699 699
700/* Chain of font drivers. There's one global font driver list 700/* Chain of font drivers. There's one global font driver list
701 (font_driver_list in font.c). In addition, each frame has its own 701 (font_driver_list in font.c). In addition, each frame has
702 font driver list at FRAME_PTR->font_driver_list. */ 702 its own font driver list at F->font_driver_list. */
703 703
704struct font_driver_list 704struct font_driver_list
705{ 705{
@@ -713,8 +713,8 @@ struct font_driver_list
713}; 713};
714 714
715 715
716/* Chain of arbitrary data specific to each font driver. Each frame 716/* Chain of arbitrary data specific to each font driver.
717 has its own font data list at FRAME_PTR->font_data_list. */ 717 Each frame has its own font data list at F->font_data_list. */
718 718
719struct font_data_list 719struct font_data_list
720{ 720{
@@ -747,22 +747,22 @@ extern Lisp_Object font_list_entities (struct frame *, Lisp_Object);
747extern Lisp_Object font_get_name (Lisp_Object font_object); 747extern Lisp_Object font_get_name (Lisp_Object font_object);
748extern Lisp_Object font_spec_from_name (Lisp_Object font_name); 748extern Lisp_Object font_spec_from_name (Lisp_Object font_name);
749extern Lisp_Object font_get_frame (Lisp_Object font_object); 749extern Lisp_Object font_get_frame (Lisp_Object font_object);
750extern int font_has_char (FRAME_PTR, Lisp_Object, int); 750extern int font_has_char (struct frame *, Lisp_Object, int);
751 751
752extern void font_clear_prop (Lisp_Object *attrs, 752extern void font_clear_prop (Lisp_Object *attrs,
753 enum font_property_index prop); 753 enum font_property_index prop);
754extern Lisp_Object font_find_for_lface (FRAME_PTR f, Lisp_Object *lface, 754extern Lisp_Object font_find_for_lface (struct frame *f, Lisp_Object *lface,
755 Lisp_Object spec, int c); 755 Lisp_Object spec, int c);
756extern Lisp_Object font_open_for_lface (FRAME_PTR f, Lisp_Object entity, 756extern Lisp_Object font_open_for_lface (struct frame *f, Lisp_Object entity,
757 Lisp_Object *lface, 757 Lisp_Object *lface,
758 Lisp_Object spec); 758 Lisp_Object spec);
759extern Lisp_Object font_load_for_lface (FRAME_PTR f, Lisp_Object *lface, 759extern Lisp_Object font_load_for_lface (struct frame *f, Lisp_Object *lface,
760 Lisp_Object spec); 760 Lisp_Object spec);
761extern void font_prepare_for_face (FRAME_PTR f, struct face *face); 761extern void font_prepare_for_face (struct frame *f, struct face *face);
762extern void font_done_for_face (FRAME_PTR f, struct face *face); 762extern void font_done_for_face (struct frame *f, struct face *face);
763 763
764extern Lisp_Object font_open_by_spec (FRAME_PTR f, Lisp_Object spec); 764extern Lisp_Object font_open_by_spec (struct frame *f, Lisp_Object spec);
765extern Lisp_Object font_open_by_name (FRAME_PTR f, Lisp_Object name); 765extern Lisp_Object font_open_by_name (struct frame *f, Lisp_Object name);
766 766
767extern Lisp_Object font_intern_prop (const char *str, ptrdiff_t len, 767extern Lisp_Object font_intern_prop (const char *str, ptrdiff_t len,
768 bool force_symbol); 768 bool force_symbol);
@@ -777,9 +777,9 @@ extern ptrdiff_t font_unparse_xlfd (Lisp_Object font, int pixel_size,
777 char *name, int bytes); 777 char *name, int bytes);
778extern int font_unparse_fcname (Lisp_Object font, int pixel_size, 778extern int font_unparse_fcname (Lisp_Object font, int pixel_size,
779 char *name, int bytes); 779 char *name, int bytes);
780extern void register_font_driver (struct font_driver *driver, FRAME_PTR f); 780extern void register_font_driver (struct font_driver *driver, struct frame *f);
781extern void free_font_driver_list (FRAME_PTR f); 781extern void free_font_driver_list (struct frame *f);
782extern Lisp_Object font_update_drivers (FRAME_PTR f, Lisp_Object list); 782extern Lisp_Object font_update_drivers (struct frame *f, Lisp_Object list);
783extern Lisp_Object font_range (ptrdiff_t, ptrdiff_t, ptrdiff_t *, 783extern Lisp_Object font_range (ptrdiff_t, ptrdiff_t, ptrdiff_t *,
784 struct window *, struct face *, 784 struct window *, struct face *,
785 Lisp_Object); 785 Lisp_Object);
@@ -788,10 +788,10 @@ extern void font_fill_lglyph_metrics (Lisp_Object, Lisp_Object);
788extern Lisp_Object font_put_extra (Lisp_Object font, Lisp_Object prop, 788extern Lisp_Object font_put_extra (Lisp_Object font, Lisp_Object prop,
789 Lisp_Object val); 789 Lisp_Object val);
790 790
791extern int font_put_frame_data (FRAME_PTR f, 791extern int font_put_frame_data (struct frame *f,
792 struct font_driver *driver, 792 struct font_driver *driver,
793 void *data); 793 void *data);
794extern void *font_get_frame_data (FRAME_PTR f, 794extern void *font_get_frame_data (struct frame *f,
795 struct font_driver *driver); 795 struct font_driver *driver);
796 796
797extern void font_filter_properties (Lisp_Object font, 797extern void font_filter_properties (Lisp_Object font,
diff --git a/src/fontset.c b/src/fontset.c
index 6a6a434add0..0bf716bf1b2 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -539,8 +539,9 @@ fontset_find_font (Lisp_Object fontset, int c, struct face *face, int id,
539{ 539{
540 Lisp_Object vec, font_group; 540 Lisp_Object vec, font_group;
541 int i, charset_matched = 0, found_index; 541 int i, charset_matched = 0, found_index;
542 FRAME_PTR f = (FRAMEP (FONTSET_FRAME (fontset)) 542 struct frame *f = (FRAMEP (FONTSET_FRAME (fontset))
543 ? XFRAME (FONTSET_FRAME (fontset)) : XFRAME (selected_frame)); 543 ? XFRAME (FONTSET_FRAME (fontset))
544 : XFRAME (selected_frame));
544 Lisp_Object rfont_def; 545 Lisp_Object rfont_def;
545 546
546 font_group = fontset_get_font_group (fontset, fallback ? -1 : c); 547 font_group = fontset_get_font_group (fontset, fallback ? -1 : c);
@@ -859,7 +860,7 @@ fontset_ascii (int id)
859} 860}
860 861
861static void 862static void
862free_realized_fontset (FRAME_PTR f, Lisp_Object fontset) 863free_realized_fontset (struct frame *f, Lisp_Object fontset)
863{ 864{
864#if 0 865#if 0
865 Lisp_Object tail; 866 Lisp_Object tail;
@@ -877,7 +878,7 @@ free_realized_fontset (FRAME_PTR f, Lisp_Object fontset)
877 free_realized_face. */ 878 free_realized_face. */
878 879
879void 880void
880free_face_fontset (FRAME_PTR f, struct face *face) 881free_face_fontset (struct frame *f, struct face *face)
881{ 882{
882 Lisp_Object fontset; 883 Lisp_Object fontset;
883 884
@@ -930,7 +931,7 @@ face_suitable_for_char_p (struct face *face, int c)
930 the macro FACE_FOR_CHAR. */ 931 the macro FACE_FOR_CHAR. */
931 932
932int 933int
933face_for_char (FRAME_PTR f, struct face *face, int c, int pos, Lisp_Object object) 934face_for_char (struct frame *f, struct face *face, int c, int pos, Lisp_Object object)
934{ 935{
935 Lisp_Object fontset, rfont_def, charset; 936 Lisp_Object fontset, rfont_def, charset;
936 int face_id; 937 int face_id;
@@ -1048,7 +1049,7 @@ font_for_char (struct face *face, int c, int pos, Lisp_Object object)
1048 Called from realize_x_face. */ 1049 Called from realize_x_face. */
1049 1050
1050int 1051int
1051make_fontset_for_ascii_face (FRAME_PTR f, int base_fontset_id, struct face *face) 1052make_fontset_for_ascii_face (struct frame *f, int base_fontset_id, struct face *face)
1052{ 1053{
1053 Lisp_Object base_fontset, fontset, frame; 1054 Lisp_Object base_fontset, fontset, frame;
1054 1055
@@ -1227,7 +1228,7 @@ If REGEXPP is non-nil, PATTERN is a regular expression. */)
1227/* Return a list of base fontset names matching PATTERN on frame F. */ 1228/* Return a list of base fontset names matching PATTERN on frame F. */
1228 1229
1229Lisp_Object 1230Lisp_Object
1230list_fontsets (FRAME_PTR f, Lisp_Object pattern, int size) 1231list_fontsets (struct frame *f, Lisp_Object pattern, int size)
1231{ 1232{
1232 Lisp_Object frame, regexp, val; 1233 Lisp_Object frame, regexp, val;
1233 int id; 1234 int id;
@@ -1284,7 +1285,7 @@ free_realized_fontsets (Lisp_Object base)
1284 for (tail = FONTSET_FACE_ALIST (this); CONSP (tail); 1285 for (tail = FONTSET_FACE_ALIST (this); CONSP (tail);
1285 tail = XCDR (tail)) 1286 tail = XCDR (tail))
1286 { 1287 {
1287 FRAME_PTR f = XFRAME (FONTSET_FRAME (this)); 1288 struct frame *f = XFRAME (FONTSET_FRAME (this));
1288 int face_id = XINT (XCDR (XCAR (tail))); 1289 int face_id = XINT (XCDR (XCAR (tail)));
1289 struct face *face = FACE_FROM_ID (f, face_id); 1290 struct face *face = FACE_FROM_ID (f, face_id);
1290 1291
@@ -1612,7 +1613,7 @@ appended. By default, FONT-SPEC overrides the previous settings. */)
1612 name = FONTSET_NAME (fontset); 1613 name = FONTSET_NAME (fontset);
1613 FOR_EACH_FRAME (tail, fr) 1614 FOR_EACH_FRAME (tail, fr)
1614 { 1615 {
1615 FRAME_PTR f = XFRAME (fr); 1616 struct frame *f = XFRAME (fr);
1616 Lisp_Object font_object; 1617 Lisp_Object font_object;
1617 struct face *face; 1618 struct face *face;
1618 1619
@@ -2140,7 +2141,7 @@ dump_fontset (Lisp_Object fontset)
2140 frame = FONTSET_FRAME (fontset); 2141 frame = FONTSET_FRAME (fontset);
2141 if (FRAMEP (frame)) 2142 if (FRAMEP (frame))
2142 { 2143 {
2143 FRAME_PTR f = XFRAME (frame); 2144 struct frame *f = XFRAME (frame);
2144 2145
2145 if (FRAME_LIVE_P (f)) 2146 if (FRAME_LIVE_P (f))
2146 ASET (vec, 1, 2147 ASET (vec, 1,
diff --git a/src/fontset.h b/src/fontset.h
index 926520c8001..fd16c7178f5 100644
--- a/src/fontset.h
+++ b/src/fontset.h
@@ -28,12 +28,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28 28
29struct face; 29struct face;
30 30
31extern void free_face_fontset (FRAME_PTR, struct face *); 31extern void free_face_fontset (struct frame *, struct face *);
32extern int face_for_char (FRAME_PTR, struct face *, int, 32extern int face_for_char (struct frame *, struct face *, int,
33 int, Lisp_Object); 33 int, Lisp_Object);
34extern Lisp_Object font_for_char (struct face *, int, int, Lisp_Object); 34extern Lisp_Object font_for_char (struct face *, int, int, Lisp_Object);
35 35
36extern int make_fontset_for_ascii_face (FRAME_PTR, int, struct face *); 36extern int make_fontset_for_ascii_face (struct frame *, int, struct face *);
37extern int fontset_from_font (Lisp_Object); 37extern int fontset_from_font (Lisp_Object);
38extern int fs_query_fontset (Lisp_Object, int); 38extern int fs_query_fontset (Lisp_Object, int);
39extern Lisp_Object list_fontsets (struct frame *, Lisp_Object, int); 39extern Lisp_Object list_fontsets (struct frame *, Lisp_Object, int);
diff --git a/src/frame.c b/src/frame.c
index f5d1971a2bf..14fc15c4717 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1093,7 +1093,7 @@ Otherwise, include all frames. */)
1093 (Exception: if F is the terminal frame, and we are using X, return 1.) */ 1093 (Exception: if F is the terminal frame, and we are using X, return 1.) */
1094 1094
1095static int 1095static int
1096other_visible_frames (FRAME_PTR f) 1096other_visible_frames (struct frame *f)
1097{ 1097{
1098 Lisp_Object frames, this; 1098 Lisp_Object frames, this;
1099 1099
@@ -1467,7 +1467,7 @@ passing the normal return value to that function as an argument,
1467and returns whatever that function returns. */) 1467and returns whatever that function returns. */)
1468 (void) 1468 (void)
1469{ 1469{
1470 FRAME_PTR f; 1470 struct frame *f;
1471 Lisp_Object lispy_dummy; 1471 Lisp_Object lispy_dummy;
1472 Lisp_Object x, y, retval; 1472 Lisp_Object x, y, retval;
1473 struct gcpro gcpro1; 1473 struct gcpro gcpro1;
@@ -1513,7 +1513,7 @@ to read the mouse position, it returns the selected frame for FRAME
1513and nil for X and Y. */) 1513and nil for X and Y. */)
1514 (void) 1514 (void)
1515{ 1515{
1516 FRAME_PTR f; 1516 struct frame *f;
1517 Lisp_Object lispy_dummy; 1517 Lisp_Object lispy_dummy;
1518 Lisp_Object x, y; 1518 Lisp_Object x, y;
1519 1519
@@ -2610,7 +2610,7 @@ x_fullscreen_adjust (struct frame *f, int *width, int *height, int *top_pos, int
2610 to store the new value in the parameter alist. */ 2610 to store the new value in the parameter alist. */
2611 2611
2612void 2612void
2613x_set_frame_parameters (FRAME_PTR f, Lisp_Object alist) 2613x_set_frame_parameters (struct frame *f, Lisp_Object alist)
2614{ 2614{
2615 Lisp_Object tail; 2615 Lisp_Object tail;
2616 2616
@@ -3348,7 +3348,7 @@ x_set_scroll_bar_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
3348/* Return non-nil if frame F wants a bitmap icon. */ 3348/* Return non-nil if frame F wants a bitmap icon. */
3349 3349
3350Lisp_Object 3350Lisp_Object
3351x_icon_type (FRAME_PTR f) 3351x_icon_type (struct frame *f)
3352{ 3352{
3353 Lisp_Object tem; 3353 Lisp_Object tem;
3354 3354
diff --git a/src/frame.h b/src/frame.h
index 723a943b90c..33e4bb71d7a 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -591,8 +591,6 @@ default_pixels_per_inch_y (void)
591/* Return a pointer to the image cache of frame F. */ 591/* Return a pointer to the image cache of frame F. */
592#define FRAME_IMAGE_CACHE(F) ((F)->terminal->image_cache) 592#define FRAME_IMAGE_CACHE(F) ((F)->terminal->image_cache)
593 593
594typedef struct frame *FRAME_PTR;
595
596#define XFRAME(p) \ 594#define XFRAME(p) \
597 (eassert (FRAMEP (p)), (struct frame *) XUNTAG (p, Lisp_Vectorlike)) 595 (eassert (FRAMEP (p)), (struct frame *) XUNTAG (p, Lisp_Vectorlike))
598#define XSETFRAME(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_FRAME)) 596#define XSETFRAME(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_FRAME))
@@ -1206,7 +1204,7 @@ extern Lisp_Object Qrun_hook_with_args;
1206 1204
1207extern void x_set_scroll_bar_default_width (struct frame *); 1205extern void x_set_scroll_bar_default_width (struct frame *);
1208extern void x_set_offset (struct frame *, int, int, int); 1206extern void x_set_offset (struct frame *, int, int, int);
1209extern void x_wm_set_size_hint (FRAME_PTR f, long flags, bool user_position); 1207extern void x_wm_set_size_hint (struct frame *f, long flags, bool user_position);
1210 1208
1211extern Lisp_Object x_new_font (struct frame *, Lisp_Object, int); 1209extern Lisp_Object x_new_font (struct frame *, Lisp_Object, int);
1212 1210
diff --git a/src/ftfont.c b/src/ftfont.c
index 14896e3f668..3636f86f5c4 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -493,12 +493,12 @@ ftfont_get_otf (struct ftfont_info *ftfont_info)
493} 493}
494#endif /* HAVE_LIBOTF */ 494#endif /* HAVE_LIBOTF */
495 495
496static Lisp_Object ftfont_get_cache (FRAME_PTR); 496static Lisp_Object ftfont_get_cache (struct frame *);
497static Lisp_Object ftfont_list (struct frame *, Lisp_Object); 497static Lisp_Object ftfont_list (struct frame *, Lisp_Object);
498static Lisp_Object ftfont_match (struct frame *, Lisp_Object); 498static Lisp_Object ftfont_match (struct frame *, Lisp_Object);
499static Lisp_Object ftfont_list_family (struct frame *); 499static Lisp_Object ftfont_list_family (struct frame *);
500static Lisp_Object ftfont_open (FRAME_PTR, Lisp_Object, int); 500static Lisp_Object ftfont_open (struct frame *, Lisp_Object, int);
501static void ftfont_close (FRAME_PTR, struct font *); 501static void ftfont_close (struct frame *, struct font *);
502static int ftfont_has_char (Lisp_Object, int); 502static int ftfont_has_char (Lisp_Object, int);
503static unsigned ftfont_encode_char (struct font *, int); 503static unsigned ftfont_encode_char (struct font *, int);
504static int ftfont_text_extents (struct font *, unsigned *, int, 504static int ftfont_text_extents (struct font *, unsigned *, int,
@@ -568,7 +568,7 @@ struct font_driver ftfont_driver =
568 }; 568 };
569 569
570static Lisp_Object 570static Lisp_Object
571ftfont_get_cache (FRAME_PTR f) 571ftfont_get_cache (struct frame *f)
572{ 572{
573 return freetype_font_cache; 573 return freetype_font_cache;
574} 574}
@@ -1173,7 +1173,7 @@ ftfont_list_family (struct frame *f)
1173 1173
1174 1174
1175static Lisp_Object 1175static Lisp_Object
1176ftfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size) 1176ftfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
1177{ 1177{
1178 struct ftfont_info *ftfont_info; 1178 struct ftfont_info *ftfont_info;
1179 struct font *font; 1179 struct font *font;
@@ -1317,7 +1317,7 @@ ftfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
1317} 1317}
1318 1318
1319static void 1319static void
1320ftfont_close (FRAME_PTR f, struct font *font) 1320ftfont_close (struct frame *f, struct font *font)
1321{ 1321{
1322 struct ftfont_info *ftfont_info = (struct ftfont_info *) font; 1322 struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
1323 Lisp_Object val, cache; 1323 Lisp_Object val, cache;
diff --git a/src/ftxfont.c b/src/ftxfont.c
index 9f9433e7183..63d03b0e244 100644
--- a/src/ftxfont.c
+++ b/src/ftxfont.c
@@ -57,7 +57,7 @@ struct ftxfont_frame_data
57/* Return an array of 6 GCs for antialiasing. */ 57/* Return an array of 6 GCs for antialiasing. */
58 58
59static GC * 59static GC *
60ftxfont_get_gcs (FRAME_PTR f, long unsigned int foreground, long unsigned int background) 60ftxfont_get_gcs (struct frame *f, long unsigned int foreground, long unsigned int background)
61{ 61{
62 XColor color; 62 XColor color;
63 XGCValues xgcv; 63 XGCValues xgcv;
@@ -134,7 +134,7 @@ ftxfont_get_gcs (FRAME_PTR f, long unsigned int foreground, long unsigned int ba
134} 134}
135 135
136static int 136static int
137ftxfont_draw_bitmap (FRAME_PTR f, GC gc_fore, GC *gcs, struct font *font, 137ftxfont_draw_bitmap (struct frame *f, GC gc_fore, GC *gcs, struct font *font,
138 unsigned int code, int x, int y, XPoint *p, int size, 138 unsigned int code, int x, int y, XPoint *p, int size,
139 int *n, bool flush) 139 int *n, bool flush)
140{ 140{
@@ -212,7 +212,7 @@ ftxfont_draw_bitmap (FRAME_PTR f, GC gc_fore, GC *gcs, struct font *font,
212} 212}
213 213
214static void 214static void
215ftxfont_draw_background (FRAME_PTR f, struct font *font, GC gc, int x, int y, 215ftxfont_draw_background (struct frame *f, struct font *font, GC gc, int x, int y,
216 int width) 216 int width)
217{ 217{
218 XGCValues xgcv; 218 XGCValues xgcv;
@@ -246,7 +246,7 @@ ftxfont_match (struct frame *f, Lisp_Object spec)
246} 246}
247 247
248static Lisp_Object 248static Lisp_Object
249ftxfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size) 249ftxfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
250{ 250{
251 Lisp_Object font_object; 251 Lisp_Object font_object;
252 struct font *font; 252 struct font *font;
@@ -260,7 +260,7 @@ ftxfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
260} 260}
261 261
262static void 262static void
263ftxfont_close (FRAME_PTR f, struct font *font) 263ftxfont_close (struct frame *f, struct font *font)
264{ 264{
265 ftfont_driver.close (f, font); 265 ftfont_driver.close (f, font);
266} 266}
@@ -269,7 +269,7 @@ static int
269ftxfont_draw (struct glyph_string *s, int from, int to, int x, int y, 269ftxfont_draw (struct glyph_string *s, int from, int to, int x, int y,
270 bool with_background) 270 bool with_background)
271{ 271{
272 FRAME_PTR f = s->f; 272 struct frame *f = s->f;
273 struct face *face = s->face; 273 struct face *face = s->face;
274 struct font *font = s->font; 274 struct font *font = s->font;
275 XPoint p[0x700]; 275 XPoint p[0x700];
@@ -338,7 +338,7 @@ ftxfont_draw (struct glyph_string *s, int from, int to, int x, int y,
338} 338}
339 339
340static int 340static int
341ftxfont_end_for_frame (FRAME_PTR f) 341ftxfont_end_for_frame (struct frame *f)
342{ 342{
343 struct ftxfont_frame_data *data = font_get_frame_data (f, &ftxfont_driver); 343 struct ftxfont_frame_data *data = font_get_frame_data (f, &ftxfont_driver);
344 344
diff --git a/src/gtkutil.c b/src/gtkutil.c
index f8ddf6a90f6..237d031295c 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -136,7 +136,7 @@ static GdkDisplay *gdpy_def;
136 W can be a GtkMenu or a GtkWindow widget. */ 136 W can be a GtkMenu or a GtkWindow widget. */
137 137
138static void 138static void
139xg_set_screen (GtkWidget *w, FRAME_PTR f) 139xg_set_screen (GtkWidget *w, struct frame *f)
140{ 140{
141 if (FRAME_X_DISPLAY (f) != DEFAULT_GDK_DISPLAY ()) 141 if (FRAME_X_DISPLAY (f) != DEFAULT_GDK_DISPLAY ())
142 { 142 {
@@ -280,7 +280,7 @@ xg_create_default_cursor (Display *dpy)
280} 280}
281 281
282static GdkPixbuf * 282static GdkPixbuf *
283xg_get_pixbuf_from_pixmap (FRAME_PTR f, Pixmap pix) 283xg_get_pixbuf_from_pixmap (struct frame *f, Pixmap pix)
284{ 284{
285 int iunused; 285 int iunused;
286 GdkPixbuf *tmp_buf; 286 GdkPixbuf *tmp_buf;
@@ -311,7 +311,7 @@ xg_get_pixbuf_from_pixmap (FRAME_PTR f, Pixmap pix)
311/* Apply GMASK to GPIX and return a GdkPixbuf with an alpha channel. */ 311/* Apply GMASK to GPIX and return a GdkPixbuf with an alpha channel. */
312 312
313static GdkPixbuf * 313static GdkPixbuf *
314xg_get_pixbuf_from_pix_and_mask (FRAME_PTR f, 314xg_get_pixbuf_from_pix_and_mask (struct frame *f,
315 Pixmap pix, 315 Pixmap pix,
316 Pixmap mask) 316 Pixmap mask)
317{ 317{
@@ -387,7 +387,7 @@ file_for_image (Lisp_Object image)
387 If OLD_WIDGET is not NULL, that widget is modified. */ 387 If OLD_WIDGET is not NULL, that widget is modified. */
388 388
389static GtkWidget * 389static GtkWidget *
390xg_get_image_for_pixmap (FRAME_PTR f, 390xg_get_image_for_pixmap (struct frame *f,
391 struct image *img, 391 struct image *img,
392 GtkWidget *widget, 392 GtkWidget *widget,
393 GtkImage *old_widget) 393 GtkImage *old_widget)
@@ -641,7 +641,7 @@ hierarchy_ch_cb (GtkWidget *widget,
641 GtkWidget *previous_toplevel, 641 GtkWidget *previous_toplevel,
642 gpointer user_data) 642 gpointer user_data)
643{ 643{
644 FRAME_PTR f = (FRAME_PTR) user_data; 644 struct frame *f = (struct frame *) user_data;
645 struct x_output *x = f->output_data.x; 645 struct x_output *x = f->output_data.x;
646 GtkWidget *top = gtk_widget_get_toplevel (x->ttip_lbl); 646 GtkWidget *top = gtk_widget_get_toplevel (x->ttip_lbl);
647 647
@@ -663,7 +663,7 @@ qttip_cb (GtkWidget *widget,
663 GtkTooltip *tooltip, 663 GtkTooltip *tooltip,
664 gpointer user_data) 664 gpointer user_data)
665{ 665{
666 FRAME_PTR f = (FRAME_PTR) user_data; 666 struct frame *f = (struct frame *) user_data;
667 struct x_output *x = f->output_data.x; 667 struct x_output *x = f->output_data.x;
668 if (x->ttip_widget == NULL) 668 if (x->ttip_widget == NULL)
669 { 669 {
@@ -707,7 +707,7 @@ qttip_cb (GtkWidget *widget,
707 Return true if a system tooltip is available. */ 707 Return true if a system tooltip is available. */
708 708
709bool 709bool
710xg_prepare_tooltip (FRAME_PTR f, 710xg_prepare_tooltip (struct frame *f,
711 Lisp_Object string, 711 Lisp_Object string,
712 int *width, 712 int *width,
713 int *height) 713 int *height)
@@ -764,7 +764,7 @@ xg_prepare_tooltip (FRAME_PTR f,
764 xg_prepare_tooltip must have been called before this function. */ 764 xg_prepare_tooltip must have been called before this function. */
765 765
766void 766void
767xg_show_tooltip (FRAME_PTR f, int root_x, int root_y) 767xg_show_tooltip (struct frame *f, int root_x, int root_y)
768{ 768{
769#ifdef USE_GTK_TOOLTIP 769#ifdef USE_GTK_TOOLTIP
770 struct x_output *x = f->output_data.x; 770 struct x_output *x = f->output_data.x;
@@ -783,7 +783,7 @@ xg_show_tooltip (FRAME_PTR f, int root_x, int root_y)
783 system tooltips). */ 783 system tooltips). */
784 784
785bool 785bool
786xg_hide_tooltip (FRAME_PTR f) 786xg_hide_tooltip (struct frame *f)
787{ 787{
788 bool ret = 0; 788 bool ret = 0;
789#ifdef USE_GTK_TOOLTIP 789#ifdef USE_GTK_TOOLTIP
@@ -827,7 +827,7 @@ my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
827 F is the frame we shall set geometry for. */ 827 F is the frame we shall set geometry for. */
828 828
829static void 829static void
830xg_set_geometry (FRAME_PTR f) 830xg_set_geometry (struct frame *f)
831{ 831{
832 if (f->size_hint_flags & (USPosition | PPosition)) 832 if (f->size_hint_flags & (USPosition | PPosition))
833 { 833 {
@@ -865,7 +865,7 @@ xg_set_geometry (FRAME_PTR f)
865 and use a GtkFixed widget, this doesn't happen automatically. */ 865 and use a GtkFixed widget, this doesn't happen automatically. */
866 866
867static void 867static void
868xg_clear_under_internal_border (FRAME_PTR f) 868xg_clear_under_internal_border (struct frame *f)
869{ 869{
870 if (FRAME_INTERNAL_BORDER_WIDTH (f) > 0) 870 if (FRAME_INTERNAL_BORDER_WIDTH (f) > 0)
871 { 871 {
@@ -903,7 +903,7 @@ xg_clear_under_internal_border (FRAME_PTR f)
903 PIXELWIDTH, PIXELHEIGHT is the new size in pixels. */ 903 PIXELWIDTH, PIXELHEIGHT is the new size in pixels. */
904 904
905void 905void
906xg_frame_resized (FRAME_PTR f, int pixelwidth, int pixelheight) 906xg_frame_resized (struct frame *f, int pixelwidth, int pixelheight)
907{ 907{
908 int rows, columns; 908 int rows, columns;
909 909
@@ -939,7 +939,7 @@ xg_frame_resized (FRAME_PTR f, int pixelwidth, int pixelheight)
939 COLUMNS/ROWS is the size the edit area shall have after the resize. */ 939 COLUMNS/ROWS is the size the edit area shall have after the resize. */
940 940
941void 941void
942xg_frame_set_char_size (FRAME_PTR f, int cols, int rows) 942xg_frame_set_char_size (struct frame *f, int cols, int rows)
943{ 943{
944 int pixelheight = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows) 944 int pixelheight = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows)
945 + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f); 945 + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
@@ -1002,7 +1002,7 @@ xg_frame_set_char_size (FRAME_PTR f, int cols, int rows)
1002 The policy is to keep the number of editable lines. */ 1002 The policy is to keep the number of editable lines. */
1003 1003
1004static void 1004static void
1005xg_height_or_width_changed (FRAME_PTR f) 1005xg_height_or_width_changed (struct frame *f)
1006{ 1006{
1007 gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), 1007 gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
1008 FRAME_TOTAL_PIXEL_WIDTH (f), 1008 FRAME_TOTAL_PIXEL_WIDTH (f),
@@ -1042,7 +1042,7 @@ xg_win_to_widget (Display *dpy, Window wdesc)
1042/* Set the background of widget W to PIXEL. */ 1042/* Set the background of widget W to PIXEL. */
1043 1043
1044static void 1044static void
1045xg_set_widget_bg (FRAME_PTR f, GtkWidget *w, long unsigned int pixel) 1045xg_set_widget_bg (struct frame *f, GtkWidget *w, long unsigned int pixel)
1046{ 1046{
1047#ifdef HAVE_GTK3 1047#ifdef HAVE_GTK3
1048 GdkRGBA bg; 1048 GdkRGBA bg;
@@ -1093,7 +1093,7 @@ style_changed_cb (GObject *go,
1093 Lisp_Object rest, frame; 1093 Lisp_Object rest, frame;
1094 FOR_EACH_FRAME (rest, frame) 1094 FOR_EACH_FRAME (rest, frame)
1095 { 1095 {
1096 FRAME_PTR f = XFRAME (frame); 1096 struct frame *f = XFRAME (frame);
1097 if (FRAME_LIVE_P (f) 1097 if (FRAME_LIVE_P (f)
1098 && FRAME_X_P (f) 1098 && FRAME_X_P (f)
1099 && FRAME_X_DISPLAY (f) == dpy) 1099 && FRAME_X_DISPLAY (f) == dpy)
@@ -1115,7 +1115,7 @@ delete_cb (GtkWidget *widget,
1115#ifdef HAVE_GTK3 1115#ifdef HAVE_GTK3
1116 /* The event doesn't arrive in the normal event loop. Send event 1116 /* The event doesn't arrive in the normal event loop. Send event
1117 here. */ 1117 here. */
1118 FRAME_PTR f = (FRAME_PTR) user_data; 1118 struct frame *f = (struct frame *) user_data;
1119 struct input_event ie; 1119 struct input_event ie;
1120 1120
1121 EVENT_INIT (ie); 1121 EVENT_INIT (ie);
@@ -1131,7 +1131,7 @@ delete_cb (GtkWidget *widget,
1131 Return true if creation succeeded. */ 1131 Return true if creation succeeded. */
1132 1132
1133bool 1133bool
1134xg_create_frame_widgets (FRAME_PTR f) 1134xg_create_frame_widgets (struct frame *f)
1135{ 1135{
1136 GtkWidget *wtop; 1136 GtkWidget *wtop;
1137 GtkWidget *wvbox, *whbox; 1137 GtkWidget *wvbox, *whbox;
@@ -1300,7 +1300,7 @@ xg_create_frame_widgets (FRAME_PTR f)
1300} 1300}
1301 1301
1302void 1302void
1303xg_free_frame_widgets (FRAME_PTR f) 1303xg_free_frame_widgets (struct frame *f)
1304{ 1304{
1305 if (FRAME_GTK_OUTER_WIDGET (f)) 1305 if (FRAME_GTK_OUTER_WIDGET (f))
1306 { 1306 {
@@ -1332,7 +1332,7 @@ xg_free_frame_widgets (FRAME_PTR f)
1332 flag (this is useful when FLAGS is 0). */ 1332 flag (this is useful when FLAGS is 0). */
1333 1333
1334void 1334void
1335x_wm_set_size_hint (FRAME_PTR f, long int flags, bool user_position) 1335x_wm_set_size_hint (struct frame *f, long int flags, bool user_position)
1336{ 1336{
1337 /* Must use GTK routines here, otherwise GTK resets the size hints 1337 /* Must use GTK routines here, otherwise GTK resets the size hints
1338 to its own defaults. */ 1338 to its own defaults. */
@@ -1432,7 +1432,7 @@ x_wm_set_size_hint (FRAME_PTR f, long int flags, bool user_position)
1432 BG is the pixel value to change to. */ 1432 BG is the pixel value to change to. */
1433 1433
1434void 1434void
1435xg_set_background_color (FRAME_PTR f, long unsigned int bg) 1435xg_set_background_color (struct frame *f, long unsigned int bg)
1436{ 1436{
1437 if (FRAME_GTK_WIDGET (f)) 1437 if (FRAME_GTK_WIDGET (f))
1438 { 1438 {
@@ -1447,7 +1447,7 @@ xg_set_background_color (FRAME_PTR f, long unsigned int bg)
1447 functions so GTK does not overwrite the icon. */ 1447 functions so GTK does not overwrite the icon. */
1448 1448
1449void 1449void
1450xg_set_frame_icon (FRAME_PTR f, Pixmap icon_pixmap, Pixmap icon_mask) 1450xg_set_frame_icon (struct frame *f, Pixmap icon_pixmap, Pixmap icon_mask)
1451{ 1451{
1452 GdkPixbuf *gp = xg_get_pixbuf_from_pix_and_mask (f, 1452 GdkPixbuf *gp = xg_get_pixbuf_from_pix_and_mask (f,
1453 icon_pixmap, 1453 icon_pixmap,
@@ -1693,7 +1693,7 @@ xg_maybe_add_timer (gpointer data)
1693 The dialog W is not destroyed when this function returns. */ 1693 The dialog W is not destroyed when this function returns. */
1694 1694
1695static int 1695static int
1696xg_dialog_run (FRAME_PTR f, GtkWidget *w) 1696xg_dialog_run (struct frame *f, GtkWidget *w)
1697{ 1697{
1698 ptrdiff_t count = SPECPDL_INDEX (); 1698 ptrdiff_t count = SPECPDL_INDEX ();
1699 struct xg_dialog_data dd; 1699 struct xg_dialog_data dd;
@@ -1813,7 +1813,7 @@ xg_toggle_notify_cb (GObject *gobject, GParamSpec *arg1, gpointer user_data)
1813 Returns the created widget. */ 1813 Returns the created widget. */
1814 1814
1815static GtkWidget * 1815static GtkWidget *
1816xg_get_file_with_chooser (FRAME_PTR f, 1816xg_get_file_with_chooser (struct frame *f,
1817 char *prompt, 1817 char *prompt,
1818 char *default_filename, 1818 char *default_filename,
1819 bool mustmatch_p, bool only_dir_p, 1819 bool mustmatch_p, bool only_dir_p,
@@ -1935,7 +1935,7 @@ xg_get_file_name_from_selector (GtkWidget *w)
1935 Returns the created widget. */ 1935 Returns the created widget. */
1936 1936
1937static GtkWidget * 1937static GtkWidget *
1938xg_get_file_with_selection (FRAME_PTR f, 1938xg_get_file_with_selection (struct frame *f,
1939 char *prompt, 1939 char *prompt,
1940 char *default_filename, 1940 char *default_filename,
1941 bool mustmatch_p, bool only_dir_p, 1941 bool mustmatch_p, bool only_dir_p,
@@ -1977,7 +1977,7 @@ xg_get_file_with_selection (FRAME_PTR f,
1977 The returned string must be freed by the caller. */ 1977 The returned string must be freed by the caller. */
1978 1978
1979char * 1979char *
1980xg_get_file_name (FRAME_PTR f, 1980xg_get_file_name (struct frame *f,
1981 char *prompt, 1981 char *prompt,
1982 char *default_filename, 1982 char *default_filename,
1983 bool mustmatch_p, 1983 bool mustmatch_p,
@@ -2051,7 +2051,7 @@ extern Lisp_Object Qxft;
2051 DEFAULT_NAME, if non-zero, is the default font name. */ 2051 DEFAULT_NAME, if non-zero, is the default font name. */
2052 2052
2053Lisp_Object 2053Lisp_Object
2054xg_get_font (FRAME_PTR f, const char *default_name) 2054xg_get_font (struct frame *f, const char *default_name)
2055{ 2055{
2056 GtkWidget *w; 2056 GtkWidget *w;
2057 int done = 0; 2057 int done = 0;
@@ -2169,7 +2169,7 @@ static xg_list_node xg_menu_item_cb_list;
2169 allocated xg_menu_cb_data if CL_DATA is NULL. */ 2169 allocated xg_menu_cb_data if CL_DATA is NULL. */
2170 2170
2171static xg_menu_cb_data * 2171static xg_menu_cb_data *
2172make_cl_data (xg_menu_cb_data *cl_data, FRAME_PTR f, GCallback highlight_cb) 2172make_cl_data (xg_menu_cb_data *cl_data, struct frame *f, GCallback highlight_cb)
2173{ 2173{
2174 if (! cl_data) 2174 if (! cl_data)
2175 { 2175 {
@@ -2201,7 +2201,7 @@ make_cl_data (xg_menu_cb_data *cl_data, FRAME_PTR f, GCallback highlight_cb)
2201 2201
2202static void 2202static void
2203update_cl_data (xg_menu_cb_data *cl_data, 2203update_cl_data (xg_menu_cb_data *cl_data,
2204 FRAME_PTR f, 2204 struct frame *f,
2205 GCallback highlight_cb) 2205 GCallback highlight_cb)
2206{ 2206{
2207 if (cl_data) 2207 if (cl_data)
@@ -2251,7 +2251,7 @@ xg_mark_data (void)
2251 2251
2252 FOR_EACH_FRAME (rest, frame) 2252 FOR_EACH_FRAME (rest, frame)
2253 { 2253 {
2254 FRAME_PTR f = XFRAME (frame); 2254 struct frame *f = XFRAME (frame);
2255 2255
2256 if (FRAME_X_P (f) && FRAME_GTK_OUTER_WIDGET (f)) 2256 if (FRAME_X_P (f) && FRAME_GTK_OUTER_WIDGET (f))
2257 { 2257 {
@@ -2480,7 +2480,7 @@ xg_have_tear_offs (void)
2480 2480
2481static GtkWidget * 2481static GtkWidget *
2482xg_create_one_menuitem (widget_value *item, 2482xg_create_one_menuitem (widget_value *item,
2483 FRAME_PTR f, 2483 struct frame *f,
2484 GCallback select_cb, 2484 GCallback select_cb,
2485 GCallback highlight_cb, 2485 GCallback highlight_cb,
2486 xg_menu_cb_data *cl_data, 2486 xg_menu_cb_data *cl_data,
@@ -2551,7 +2551,7 @@ xg_create_one_menuitem (widget_value *item,
2551 2551
2552static GtkWidget * 2552static GtkWidget *
2553create_menus (widget_value *data, 2553create_menus (widget_value *data,
2554 FRAME_PTR f, 2554 struct frame *f,
2555 GCallback select_cb, 2555 GCallback select_cb,
2556 GCallback deactivate_cb, 2556 GCallback deactivate_cb,
2557 GCallback highlight_cb, 2557 GCallback highlight_cb,
@@ -2694,9 +2694,9 @@ create_menus (widget_value *data,
2694 Returns the widget created. */ 2694 Returns the widget created. */
2695 2695
2696GtkWidget * 2696GtkWidget *
2697xg_create_widget (const char *type, const char *name, FRAME_PTR f, widget_value *val, 2697xg_create_widget (const char *type, const char *name, struct frame *f,
2698 GCallback select_cb, GCallback deactivate_cb, 2698 widget_value *val, GCallback select_cb,
2699 GCallback highlight_cb) 2699 GCallback deactivate_cb, GCallback highlight_cb)
2700{ 2700{
2701 GtkWidget *w = 0; 2701 GtkWidget *w = 0;
2702 bool menu_bar_p = strcmp (type, "menubar") == 0; 2702 bool menu_bar_p = strcmp (type, "menubar") == 0;
@@ -2802,7 +2802,7 @@ xg_destroy_widgets (GList *list)
2802 2802
2803static void 2803static void
2804xg_update_menubar (GtkWidget *menubar, 2804xg_update_menubar (GtkWidget *menubar,
2805 FRAME_PTR f, 2805 struct frame *f,
2806 GList **list, 2806 GList **list,
2807 GList *iter, 2807 GList *iter,
2808 int pos, 2808 int pos,
@@ -3119,7 +3119,7 @@ xg_update_radio_item (widget_value *val, GtkWidget *w)
3119 3119
3120static GtkWidget * 3120static GtkWidget *
3121xg_update_submenu (GtkWidget *submenu, 3121xg_update_submenu (GtkWidget *submenu,
3122 FRAME_PTR f, 3122 struct frame *f,
3123 widget_value *val, 3123 widget_value *val,
3124 GCallback select_cb, 3124 GCallback select_cb,
3125 GCallback deactivate_cb, 3125 GCallback deactivate_cb,
@@ -3261,8 +3261,8 @@ xg_update_submenu (GtkWidget *submenu,
3261 HIGHLIGHT_CB is the callback to call when entering/leaving menu items. */ 3261 HIGHLIGHT_CB is the callback to call when entering/leaving menu items. */
3262 3262
3263void 3263void
3264xg_modify_menubar_widgets (GtkWidget *menubar, FRAME_PTR f, widget_value *val, 3264xg_modify_menubar_widgets (GtkWidget *menubar, struct frame *f,
3265 bool deep_p, 3265 widget_value *val, bool deep_p,
3266 GCallback select_cb, GCallback deactivate_cb, 3266 GCallback select_cb, GCallback deactivate_cb,
3267 GCallback highlight_cb) 3267 GCallback highlight_cb)
3268{ 3268{
@@ -3336,7 +3336,7 @@ static void
3336menubar_map_cb (GtkWidget *w, gpointer user_data) 3336menubar_map_cb (GtkWidget *w, gpointer user_data)
3337{ 3337{
3338 GtkRequisition req; 3338 GtkRequisition req;
3339 FRAME_PTR f = (FRAME_PTR) user_data; 3339 struct frame *f = (struct frame *) user_data;
3340 gtk_widget_get_preferred_size (w, NULL, &req); 3340 gtk_widget_get_preferred_size (w, NULL, &req);
3341 if (FRAME_MENUBAR_HEIGHT (f) != req.height) 3341 if (FRAME_MENUBAR_HEIGHT (f) != req.height)
3342 { 3342 {
@@ -3349,7 +3349,7 @@ menubar_map_cb (GtkWidget *w, gpointer user_data)
3349 changed. */ 3349 changed. */
3350 3350
3351void 3351void
3352xg_update_frame_menubar (FRAME_PTR f) 3352xg_update_frame_menubar (struct frame *f)
3353{ 3353{
3354 struct x_output *x = f->output_data.x; 3354 struct x_output *x = f->output_data.x;
3355 GtkRequisition req; 3355 GtkRequisition req;
@@ -3387,7 +3387,7 @@ xg_update_frame_menubar (FRAME_PTR f)
3387 This is used when deleting a frame, and when turning off the menu bar. */ 3387 This is used when deleting a frame, and when turning off the menu bar. */
3388 3388
3389void 3389void
3390free_frame_menubar (FRAME_PTR f) 3390free_frame_menubar (struct frame *f)
3391{ 3391{
3392 struct x_output *x = f->output_data.x; 3392 struct x_output *x = f->output_data.x;
3393 3393
@@ -3406,7 +3406,7 @@ free_frame_menubar (FRAME_PTR f)
3406} 3406}
3407 3407
3408bool 3408bool
3409xg_event_is_for_menubar (FRAME_PTR f, XEvent *event) 3409xg_event_is_for_menubar (struct frame *f, XEvent *event)
3410{ 3410{
3411 struct x_output *x = f->output_data.x; 3411 struct x_output *x = f->output_data.x;
3412 GList *iter; 3412 GList *iter;
@@ -3619,7 +3619,7 @@ xg_gtk_scroll_destroy (GtkWidget *widget, gpointer data)
3619 to set resources for the widget. */ 3619 to set resources for the widget. */
3620 3620
3621void 3621void
3622xg_create_scroll_bar (FRAME_PTR f, 3622xg_create_scroll_bar (struct frame *f,
3623 struct scroll_bar *bar, 3623 struct scroll_bar *bar,
3624 GCallback scroll_callback, 3624 GCallback scroll_callback,
3625 GCallback end_callback, 3625 GCallback end_callback,
@@ -3681,7 +3681,7 @@ xg_create_scroll_bar (FRAME_PTR f,
3681/* Remove the scroll bar represented by SCROLLBAR_ID from the frame F. */ 3681/* Remove the scroll bar represented by SCROLLBAR_ID from the frame F. */
3682 3682
3683void 3683void
3684xg_remove_scroll_bar (FRAME_PTR f, ptrdiff_t scrollbar_id) 3684xg_remove_scroll_bar (struct frame *f, ptrdiff_t scrollbar_id)
3685{ 3685{
3686 GtkWidget *w = xg_get_widget_from_map (scrollbar_id); 3686 GtkWidget *w = xg_get_widget_from_map (scrollbar_id);
3687 if (w) 3687 if (w)
@@ -3699,7 +3699,7 @@ xg_remove_scroll_bar (FRAME_PTR f, ptrdiff_t scrollbar_id)
3699 WIDTH, HEIGHT is the size in pixels the bar shall have. */ 3699 WIDTH, HEIGHT is the size in pixels the bar shall have. */
3700 3700
3701void 3701void
3702xg_update_scrollbar_pos (FRAME_PTR f, 3702xg_update_scrollbar_pos (struct frame *f,
3703 ptrdiff_t scrollbar_id, 3703 ptrdiff_t scrollbar_id,
3704 int top, 3704 int top,
3705 int left, 3705 int left,
@@ -3781,7 +3781,7 @@ xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar,
3781{ 3781{
3782 GtkWidget *wscroll = xg_get_widget_from_map (bar->x_window); 3782 GtkWidget *wscroll = xg_get_widget_from_map (bar->x_window);
3783 3783
3784 FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); 3784 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
3785 3785
3786 if (wscroll && NILP (bar->dragging)) 3786 if (wscroll && NILP (bar->dragging))
3787 { 3787 {
@@ -3861,7 +3861,7 @@ xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar,
3861 frame. This function does additional checks. */ 3861 frame. This function does additional checks. */
3862 3862
3863bool 3863bool
3864xg_event_is_for_scrollbar (FRAME_PTR f, XEvent *event) 3864xg_event_is_for_scrollbar (struct frame *f, XEvent *event)
3865{ 3865{
3866 bool retval = 0; 3866 bool retval = 0;
3867 3867
@@ -3946,7 +3946,8 @@ xg_tool_bar_callback (GtkWidget *w, gpointer client_data)
3946 gpointer gmod = g_object_get_data (G_OBJECT (w), XG_TOOL_BAR_LAST_MODIFIER); 3946 gpointer gmod = g_object_get_data (G_OBJECT (w), XG_TOOL_BAR_LAST_MODIFIER);
3947 intptr_t mod = (intptr_t) gmod; 3947 intptr_t mod = (intptr_t) gmod;
3948 3948
3949 FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (w), XG_FRAME_DATA); 3949 struct frame *f = (struct frame *) g_object_get_data (G_OBJECT (w),
3950 XG_FRAME_DATA);
3950 Lisp_Object key, frame; 3951 Lisp_Object key, frame;
3951 struct input_event event; 3952 struct input_event event;
3952 EVENT_INIT (event); 3953 EVENT_INIT (event);
@@ -4149,7 +4150,7 @@ xg_tool_bar_detach_callback (GtkHandleBox *wbox,
4149 GtkWidget *w, 4150 GtkWidget *w,
4150 gpointer client_data) 4151 gpointer client_data)
4151{ 4152{
4152 FRAME_PTR f = (FRAME_PTR) client_data; 4153 struct frame *f = (struct frame *) client_data;
4153 4154
4154 g_object_set (G_OBJECT (w), "show-arrow", !x_gtk_whole_detached_tool_bar, 4155 g_object_set (G_OBJECT (w), "show-arrow", !x_gtk_whole_detached_tool_bar,
4155 NULL); 4156 NULL);
@@ -4186,7 +4187,7 @@ xg_tool_bar_attach_callback (GtkHandleBox *wbox,
4186 GtkWidget *w, 4187 GtkWidget *w,
4187 gpointer client_data) 4188 gpointer client_data)
4188{ 4189{
4189 FRAME_PTR f = (FRAME_PTR) client_data; 4190 struct frame *f = (struct frame *) client_data;
4190 g_object_set (G_OBJECT (w), "show-arrow", TRUE, NULL); 4191 g_object_set (G_OBJECT (w), "show-arrow", TRUE, NULL);
4191 4192
4192 if (f) 4193 if (f)
@@ -4224,7 +4225,8 @@ xg_tool_bar_help_callback (GtkWidget *w,
4224 gpointer client_data) 4225 gpointer client_data)
4225{ 4226{
4226 intptr_t idx = (intptr_t) client_data; 4227 intptr_t idx = (intptr_t) client_data;
4227 FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (w), XG_FRAME_DATA); 4228 struct frame *f = (struct frame *) g_object_get_data (G_OBJECT (w),
4229 XG_FRAME_DATA);
4228 Lisp_Object help, frame; 4230 Lisp_Object help, frame;
4229 4231
4230 if (! f || ! f->n_tool_bar_items || NILP (f->tool_bar_items)) 4232 if (! f || ! f->n_tool_bar_items || NILP (f->tool_bar_items))
@@ -4297,7 +4299,7 @@ xg_tool_bar_item_expose_callback (GtkWidget *w,
4297/* Attach a tool bar to frame F. */ 4299/* Attach a tool bar to frame F. */
4298 4300
4299static void 4301static void
4300xg_pack_tool_bar (FRAME_PTR f, Lisp_Object pos) 4302xg_pack_tool_bar (struct frame *f, Lisp_Object pos)
4301{ 4303{
4302 struct x_output *x = f->output_data.x; 4304 struct x_output *x = f->output_data.x;
4303 bool into_hbox = EQ (pos, Qleft) || EQ (pos, Qright); 4305 bool into_hbox = EQ (pos, Qleft) || EQ (pos, Qright);
@@ -4354,7 +4356,7 @@ xg_pack_tool_bar (FRAME_PTR f, Lisp_Object pos)
4354 x->toolbar_is_packed = true; 4356 x->toolbar_is_packed = true;
4355} 4357}
4356 4358
4357static bool xg_update_tool_bar_sizes (FRAME_PTR f); 4359static bool xg_update_tool_bar_sizes (struct frame *f);
4358 4360
4359static void 4361static void
4360tb_size_cb (GtkWidget *widget, 4362tb_size_cb (GtkWidget *widget,
@@ -4364,7 +4366,7 @@ tb_size_cb (GtkWidget *widget,
4364 /* When tool bar is created it has one preferred size. But when size is 4366 /* When tool bar is created it has one preferred size. But when size is
4365 allocated between widgets, it may get another. So we must update 4367 allocated between widgets, it may get another. So we must update
4366 size hints if tool bar size changes. Seen on Fedora 18 at least. */ 4368 size hints if tool bar size changes. Seen on Fedora 18 at least. */
4367 FRAME_PTR f = (FRAME_PTR) user_data; 4369 struct frame *f = (struct frame *) user_data;
4368 if (xg_update_tool_bar_sizes (f)) 4370 if (xg_update_tool_bar_sizes (f))
4369 x_wm_set_size_hint (f, 0, 0); 4371 x_wm_set_size_hint (f, 0, 0);
4370} 4372}
@@ -4372,7 +4374,7 @@ tb_size_cb (GtkWidget *widget,
4372/* Create a tool bar for frame F. */ 4374/* Create a tool bar for frame F. */
4373 4375
4374static void 4376static void
4375xg_create_tool_bar (FRAME_PTR f) 4377xg_create_tool_bar (struct frame *f)
4376{ 4378{
4377 struct x_output *x = f->output_data.x; 4379 struct x_output *x = f->output_data.x;
4378#if GTK_CHECK_VERSION (3, 3, 6) 4380#if GTK_CHECK_VERSION (3, 3, 6)
@@ -4415,7 +4417,7 @@ xg_create_tool_bar (FRAME_PTR f)
4415 Returns IMAGE if RTL is not found. */ 4417 Returns IMAGE if RTL is not found. */
4416 4418
4417static Lisp_Object 4419static Lisp_Object
4418find_rtl_image (FRAME_PTR f, Lisp_Object image, Lisp_Object rtl) 4420find_rtl_image (struct frame *f, Lisp_Object image, Lisp_Object rtl)
4419{ 4421{
4420 int i; 4422 int i;
4421 Lisp_Object file, rtl_name; 4423 Lisp_Object file, rtl_name;
@@ -4443,7 +4445,7 @@ find_rtl_image (FRAME_PTR f, Lisp_Object image, Lisp_Object rtl)
4443} 4445}
4444 4446
4445static GtkToolItem * 4447static GtkToolItem *
4446xg_make_tool_item (FRAME_PTR f, 4448xg_make_tool_item (struct frame *f,
4447 GtkWidget *wimage, 4449 GtkWidget *wimage,
4448 GtkWidget **wbutton, 4450 GtkWidget **wbutton,
4449 const char *label, 4451 const char *label,
@@ -4606,7 +4608,7 @@ xg_tool_item_stale_p (GtkWidget *wbutton, const char *stock_name,
4606} 4608}
4607 4609
4608static bool 4610static bool
4609xg_update_tool_bar_sizes (FRAME_PTR f) 4611xg_update_tool_bar_sizes (struct frame *f)
4610{ 4612{
4611 struct x_output *x = f->output_data.x; 4613 struct x_output *x = f->output_data.x;
4612 GtkRequisition req; 4614 GtkRequisition req;
@@ -4654,7 +4656,7 @@ xg_update_tool_bar_sizes (FRAME_PTR f)
4654/* Update the tool bar for frame F. Add new buttons and remove old. */ 4656/* Update the tool bar for frame F. Add new buttons and remove old. */
4655 4657
4656void 4658void
4657update_frame_tool_bar (FRAME_PTR f) 4659update_frame_tool_bar (struct frame *f)
4658{ 4660{
4659 int i, j; 4661 int i, j;
4660 struct x_output *x = f->output_data.x; 4662 struct x_output *x = f->output_data.x;
@@ -4929,7 +4931,7 @@ update_frame_tool_bar (FRAME_PTR f)
4929 Remove the tool bar. */ 4931 Remove the tool bar. */
4930 4932
4931void 4933void
4932free_frame_tool_bar (FRAME_PTR f) 4934free_frame_tool_bar (struct frame *f)
4933{ 4935{
4934 struct x_output *x = f->output_data.x; 4936 struct x_output *x = f->output_data.x;
4935 4937
@@ -4976,7 +4978,7 @@ free_frame_tool_bar (FRAME_PTR f)
4976} 4978}
4977 4979
4978void 4980void
4979xg_change_toolbar_position (FRAME_PTR f, Lisp_Object pos) 4981xg_change_toolbar_position (struct frame *f, Lisp_Object pos)
4980{ 4982{
4981 struct x_output *x = f->output_data.x; 4983 struct x_output *x = f->output_data.x;
4982 GtkWidget *top_widget = TOOLBAR_TOP_WIDGET (x); 4984 GtkWidget *top_widget = TOOLBAR_TOP_WIDGET (x);
diff --git a/src/gtkutil.h b/src/gtkutil.h
index 288b3e99299..482331a8934 100644
--- a/src/gtkutil.h
+++ b/src/gtkutil.h
@@ -55,7 +55,7 @@ typedef struct xg_menu_cb_data_
55{ 55{
56 xg_list_node ptrs; 56 xg_list_node ptrs;
57 57
58 FRAME_PTR f; 58 struct frame *f;
59 Lisp_Object menu_bar_vector; 59 Lisp_Object menu_bar_vector;
60 int menu_bar_items_used; 60 int menu_bar_items_used;
61 GCallback highlight_cb; 61 GCallback highlight_cb;
@@ -81,46 +81,46 @@ extern void free_widget_value (struct _widget_value *);
81 81
82extern bool xg_uses_old_file_dialog (void) ATTRIBUTE_CONST; 82extern bool xg_uses_old_file_dialog (void) ATTRIBUTE_CONST;
83 83
84extern char *xg_get_file_name (FRAME_PTR f, 84extern char *xg_get_file_name (struct frame *f,
85 char *prompt, 85 char *prompt,
86 char *default_filename, 86 char *default_filename,
87 bool mustmatch_p, 87 bool mustmatch_p,
88 bool only_dir_p); 88 bool only_dir_p);
89 89
90extern Lisp_Object xg_get_font (FRAME_PTR f, const char *); 90extern Lisp_Object xg_get_font (struct frame *f, const char *);
91 91
92extern GtkWidget *xg_create_widget (const char *type, 92extern GtkWidget *xg_create_widget (const char *type,
93 const char *name, 93 const char *name,
94 FRAME_PTR f, 94 struct frame *f,
95 struct _widget_value *val, 95 struct _widget_value *val,
96 GCallback select_cb, 96 GCallback select_cb,
97 GCallback deactivate_cb, 97 GCallback deactivate_cb,
98 GCallback highlight_cb); 98 GCallback highlight_cb);
99 99
100extern void xg_modify_menubar_widgets (GtkWidget *menubar, 100extern void xg_modify_menubar_widgets (GtkWidget *menubar,
101 FRAME_PTR f, 101 struct frame *f,
102 struct _widget_value *val, 102 struct _widget_value *val,
103 bool deep_p, 103 bool deep_p,
104 GCallback select_cb, 104 GCallback select_cb,
105 GCallback deactivate_cb, 105 GCallback deactivate_cb,
106 GCallback highlight_cb); 106 GCallback highlight_cb);
107 107
108extern void xg_update_frame_menubar (FRAME_PTR f); 108extern void xg_update_frame_menubar (struct frame *f);
109 109
110extern bool xg_event_is_for_menubar (FRAME_PTR f, XEvent *event); 110extern bool xg_event_is_for_menubar (struct frame *f, XEvent *event);
111 111
112extern bool xg_have_tear_offs (void); 112extern bool xg_have_tear_offs (void);
113 113
114extern ptrdiff_t xg_get_scroll_id_for_window (Display *dpy, Window wid); 114extern ptrdiff_t xg_get_scroll_id_for_window (Display *dpy, Window wid);
115 115
116extern void xg_create_scroll_bar (FRAME_PTR f, 116extern void xg_create_scroll_bar (struct frame *f,
117 struct scroll_bar *bar, 117 struct scroll_bar *bar,
118 GCallback scroll_callback, 118 GCallback scroll_callback,
119 GCallback end_callback, 119 GCallback end_callback,
120 const char *scroll_bar_name); 120 const char *scroll_bar_name);
121extern void xg_remove_scroll_bar (FRAME_PTR f, ptrdiff_t scrollbar_id); 121extern void xg_remove_scroll_bar (struct frame *f, ptrdiff_t scrollbar_id);
122 122
123extern void xg_update_scrollbar_pos (FRAME_PTR f, 123extern void xg_update_scrollbar_pos (struct frame *f,
124 ptrdiff_t scrollbar_id, 124 ptrdiff_t scrollbar_id,
125 int top, 125 int top,
126 int left, 126 int left,
@@ -131,40 +131,40 @@ extern void xg_set_toolkit_scroll_bar_thumb (struct scroll_bar *bar,
131 int portion, 131 int portion,
132 int position, 132 int position,
133 int whole); 133 int whole);
134extern bool xg_event_is_for_scrollbar (FRAME_PTR f, XEvent *event); 134extern bool xg_event_is_for_scrollbar (struct frame *f, XEvent *event);
135extern int xg_get_default_scrollbar_width (void); 135extern int xg_get_default_scrollbar_width (void);
136 136
137extern void update_frame_tool_bar (FRAME_PTR f); 137extern void update_frame_tool_bar (struct frame *f);
138extern void free_frame_tool_bar (FRAME_PTR f); 138extern void free_frame_tool_bar (struct frame *f);
139extern void xg_change_toolbar_position (FRAME_PTR f, Lisp_Object pos); 139extern void xg_change_toolbar_position (struct frame *f, Lisp_Object pos);
140 140
141extern void xg_frame_resized (FRAME_PTR f, 141extern void xg_frame_resized (struct frame *f,
142 int pixelwidth, 142 int pixelwidth,
143 int pixelheight); 143 int pixelheight);
144extern void xg_frame_set_char_size (FRAME_PTR f, int cols, int rows); 144extern void xg_frame_set_char_size (struct frame *f, int cols, int rows);
145extern GtkWidget * xg_win_to_widget (Display *dpy, Window wdesc); 145extern GtkWidget * xg_win_to_widget (Display *dpy, Window wdesc);
146 146
147extern void xg_display_open (char *display_name, Display **dpy); 147extern void xg_display_open (char *display_name, Display **dpy);
148extern void xg_display_close (Display *dpy); 148extern void xg_display_close (Display *dpy);
149extern GdkCursor * xg_create_default_cursor (Display *dpy); 149extern GdkCursor * xg_create_default_cursor (Display *dpy);
150 150
151extern bool xg_create_frame_widgets (FRAME_PTR f); 151extern bool xg_create_frame_widgets (struct frame *f);
152extern void xg_free_frame_widgets (FRAME_PTR f); 152extern void xg_free_frame_widgets (struct frame *f);
153extern void xg_set_background_color (FRAME_PTR f, unsigned long bg); 153extern void xg_set_background_color (struct frame *f, unsigned long bg);
154extern bool xg_check_special_colors (struct frame *f, 154extern bool xg_check_special_colors (struct frame *f,
155 const char *color_name, 155 const char *color_name,
156 XColor *color); 156 XColor *color);
157 157
158extern void xg_set_frame_icon (FRAME_PTR f, 158extern void xg_set_frame_icon (struct frame *f,
159 Pixmap icon_pixmap, 159 Pixmap icon_pixmap,
160 Pixmap icon_mask); 160 Pixmap icon_mask);
161 161
162extern bool xg_prepare_tooltip (FRAME_PTR f, 162extern bool xg_prepare_tooltip (struct frame *f,
163 Lisp_Object string, 163 Lisp_Object string,
164 int *width, 164 int *width,
165 int *height); 165 int *height);
166extern void xg_show_tooltip (FRAME_PTR f, int root_x, int root_y); 166extern void xg_show_tooltip (struct frame *f, int root_x, int root_y);
167extern bool xg_hide_tooltip (FRAME_PTR f); 167extern bool xg_hide_tooltip (struct frame *f);
168 168
169 169
170/* Mark all callback data that are Lisp_object:s during GC. */ 170/* Mark all callback data that are Lisp_object:s during GC. */
diff --git a/src/image.c b/src/image.c
index 1f8cb520dca..911ca8e6681 100644
--- a/src/image.c
+++ b/src/image.c
@@ -164,20 +164,20 @@ XPutPixel (XImagePtr ximage, int x, int y, unsigned long pixel)
164/* Functions to access the contents of a bitmap, given an id. */ 164/* Functions to access the contents of a bitmap, given an id. */
165 165
166int 166int
167x_bitmap_height (FRAME_PTR f, ptrdiff_t id) 167x_bitmap_height (struct frame *f, ptrdiff_t id)
168{ 168{
169 return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].height; 169 return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].height;
170} 170}
171 171
172int 172int
173x_bitmap_width (FRAME_PTR f, ptrdiff_t id) 173x_bitmap_width (struct frame *f, ptrdiff_t id)
174{ 174{
175 return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].width; 175 return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].width;
176} 176}
177 177
178#if defined (HAVE_X_WINDOWS) || defined (HAVE_NTGUI) 178#if defined (HAVE_X_WINDOWS) || defined (HAVE_NTGUI)
179ptrdiff_t 179ptrdiff_t
180x_bitmap_pixmap (FRAME_PTR f, ptrdiff_t id) 180x_bitmap_pixmap (struct frame *f, ptrdiff_t id)
181{ 181{
182 /* HAVE_NTGUI needs the explicit cast here. */ 182 /* HAVE_NTGUI needs the explicit cast here. */
183 return (ptrdiff_t) FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].pixmap; 183 return (ptrdiff_t) FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].pixmap;
@@ -186,7 +186,7 @@ x_bitmap_pixmap (FRAME_PTR f, ptrdiff_t id)
186 186
187#ifdef HAVE_X_WINDOWS 187#ifdef HAVE_X_WINDOWS
188int 188int
189x_bitmap_mask (FRAME_PTR f, ptrdiff_t id) 189x_bitmap_mask (struct frame *f, ptrdiff_t id)
190{ 190{
191 return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].mask; 191 return FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].mask;
192} 192}
@@ -195,7 +195,7 @@ x_bitmap_mask (FRAME_PTR f, ptrdiff_t id)
195/* Allocate a new bitmap record. Returns index of new record. */ 195/* Allocate a new bitmap record. Returns index of new record. */
196 196
197static ptrdiff_t 197static ptrdiff_t
198x_allocate_bitmap_record (FRAME_PTR f) 198x_allocate_bitmap_record (struct frame *f)
199{ 199{
200 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); 200 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
201 ptrdiff_t i; 201 ptrdiff_t i;
@@ -216,7 +216,7 @@ x_allocate_bitmap_record (FRAME_PTR f)
216/* Add one reference to the reference count of the bitmap with id ID. */ 216/* Add one reference to the reference count of the bitmap with id ID. */
217 217
218void 218void
219x_reference_bitmap (FRAME_PTR f, ptrdiff_t id) 219x_reference_bitmap (struct frame *f, ptrdiff_t id)
220{ 220{
221 ++FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].refcount; 221 ++FRAME_X_DISPLAY_INFO (f)->bitmaps[id - 1].refcount;
222} 222}
@@ -384,7 +384,7 @@ free_bitmap_record (Display_Info *dpyinfo, Bitmap_Record *bm)
384/* Remove reference to bitmap with id number ID. */ 384/* Remove reference to bitmap with id number ID. */
385 385
386void 386void
387x_destroy_bitmap (FRAME_PTR f, ptrdiff_t id) 387x_destroy_bitmap (struct frame *f, ptrdiff_t id)
388{ 388{
389 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); 389 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
390 390
diff --git a/src/keyboard.c b/src/keyboard.c
index 830f70bc1f5..c026b16e689 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1281,7 +1281,7 @@ static
1281#endif 1281#endif
1282bool ignore_mouse_drag_p; 1282bool ignore_mouse_drag_p;
1283 1283
1284static FRAME_PTR 1284static struct frame *
1285some_mouse_moved (void) 1285some_mouse_moved (void)
1286{ 1286{
1287 Lisp_Object tail, frame; 1287 Lisp_Object tail, frame;
@@ -2163,7 +2163,7 @@ show_help_echo (Lisp_Object help, Lisp_Object window, Lisp_Object object,
2163 This causes trouble if we are trying to read a mouse motion 2163 This causes trouble if we are trying to read a mouse motion
2164 event (i.e., if we are inside a `track-mouse' form), so we 2164 event (i.e., if we are inside a `track-mouse' form), so we
2165 restore the mouse_moved flag. */ 2165 restore the mouse_moved flag. */
2166 FRAME_PTR f = NILP (do_mouse_tracking) ? NULL : some_mouse_moved (); 2166 struct frame *f = NILP (do_mouse_tracking) ? NULL : some_mouse_moved ();
2167 help = call1 (Qmouse_fixup_help_message, help); 2167 help = call1 (Qmouse_fixup_help_message, help);
2168 if (f) 2168 if (f)
2169 f->mouse_moved = 1; 2169 f->mouse_moved = 1;
@@ -4152,7 +4152,7 @@ kbd_buffer_get_event (KBOARD **kbp,
4152 /* Try generating a mouse motion event. */ 4152 /* Try generating a mouse motion event. */
4153 else if (!NILP (do_mouse_tracking) && some_mouse_moved ()) 4153 else if (!NILP (do_mouse_tracking) && some_mouse_moved ())
4154 { 4154 {
4155 FRAME_PTR f = some_mouse_moved (); 4155 struct frame *f = some_mouse_moved ();
4156 Lisp_Object bar_window; 4156 Lisp_Object bar_window;
4157 enum scroll_bar_part part; 4157 enum scroll_bar_part part;
4158 Lisp_Object x, y; 4158 Lisp_Object x, y;
@@ -5898,7 +5898,7 @@ make_lispy_event (struct input_event *event)
5898 5898
5899 case DRAG_N_DROP_EVENT: 5899 case DRAG_N_DROP_EVENT:
5900 { 5900 {
5901 FRAME_PTR f; 5901 struct frame *f;
5902 Lisp_Object head, position; 5902 Lisp_Object head, position;
5903 Lisp_Object files; 5903 Lisp_Object files;
5904 5904
@@ -5977,7 +5977,7 @@ make_lispy_event (struct input_event *event)
5977#ifdef HAVE_GPM 5977#ifdef HAVE_GPM
5978 case GPM_CLICK_EVENT: 5978 case GPM_CLICK_EVENT:
5979 { 5979 {
5980 FRAME_PTR f = XFRAME (event->frame_or_window); 5980 struct frame *f = XFRAME (event->frame_or_window);
5981 Lisp_Object head, position; 5981 Lisp_Object head, position;
5982 Lisp_Object *start_pos_ptr; 5982 Lisp_Object *start_pos_ptr;
5983 Lisp_Object start_pos; 5983 Lisp_Object start_pos;
@@ -6031,7 +6031,7 @@ make_lispy_event (struct input_event *event)
6031} 6031}
6032 6032
6033static Lisp_Object 6033static Lisp_Object
6034make_lispy_movement (FRAME_PTR frame, Lisp_Object bar_window, enum scroll_bar_part part, 6034make_lispy_movement (struct frame *frame, Lisp_Object bar_window, enum scroll_bar_part part,
6035 Lisp_Object x, Lisp_Object y, Time t) 6035 Lisp_Object x, Lisp_Object y, Time t)
6036{ 6036{
6037 /* Is it a scroll bar movement? */ 6037 /* Is it a scroll bar movement? */
diff --git a/src/menu.c b/src/menu.c
index 6b4a22d3052..6fce5b91caf 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -867,7 +867,8 @@ update_submenu_strings (widget_value *first_wv)
867 VECTOR is an array of menu events for the whole menu. */ 867 VECTOR is an array of menu events for the whole menu. */
868 868
869void 869void
870find_and_call_menu_selection (FRAME_PTR f, int menu_bar_items_used, Lisp_Object vector, void *client_data) 870find_and_call_menu_selection (struct frame *f, int menu_bar_items_used,
871 Lisp_Object vector, void *client_data)
871{ 872{
872 Lisp_Object prefix, entry; 873 Lisp_Object prefix, entry;
873 Lisp_Object *subprefix_stack; 874 Lisp_Object *subprefix_stack;
@@ -950,7 +951,7 @@ find_and_call_menu_selection (FRAME_PTR f, int menu_bar_items_used, Lisp_Object
950/* As above, but return the menu selection instead of storing in kb buffer. 951/* As above, but return the menu selection instead of storing in kb buffer.
951 If KEYMAPS, return full prefixes to selection. */ 952 If KEYMAPS, return full prefixes to selection. */
952Lisp_Object 953Lisp_Object
953find_and_return_menu_selection (FRAME_PTR f, bool keymaps, void *client_data) 954find_and_return_menu_selection (struct frame *f, bool keymaps, void *client_data)
954{ 955{
955 Lisp_Object prefix, entry; 956 Lisp_Object prefix, entry;
956 int i; 957 int i;
@@ -1060,7 +1061,7 @@ no quit occurs and `x-popup-menu' returns nil. */)
1060 Lisp_Object title; 1061 Lisp_Object title;
1061 const char *error_name = NULL; 1062 const char *error_name = NULL;
1062 Lisp_Object selection = Qnil; 1063 Lisp_Object selection = Qnil;
1063 FRAME_PTR f = NULL; 1064 struct frame *f = NULL;
1064 Lisp_Object x, y, window; 1065 Lisp_Object x, y, window;
1065 bool keymaps = 0; 1066 bool keymaps = 0;
1066 bool for_click = 0; 1067 bool for_click = 0;
@@ -1116,7 +1117,7 @@ no quit occurs and `x-popup-menu' returns nil. */)
1116 if (get_current_pos_p) 1117 if (get_current_pos_p)
1117 { 1118 {
1118 /* Use the mouse's current position. */ 1119 /* Use the mouse's current position. */
1119 FRAME_PTR new_f = SELECTED_FRAME (); 1120 struct frame *new_f = SELECTED_FRAME ();
1120#ifdef HAVE_X_WINDOWS 1121#ifdef HAVE_X_WINDOWS
1121 /* Can't use mouse_position_hook for X since it returns 1122 /* Can't use mouse_position_hook for X since it returns
1122 coordinates relative to the window the mouse is in, 1123 coordinates relative to the window the mouse is in,
diff --git a/src/menu.h b/src/menu.h
index f60873eadb3..0f94ad8000b 100644
--- a/src/menu.h
+++ b/src/menu.h
@@ -35,20 +35,20 @@ extern void list_of_panes (Lisp_Object);
35 || defined (HAVE_NS) 35 || defined (HAVE_NS)
36extern void free_menubar_widget_value_tree (widget_value *); 36extern void free_menubar_widget_value_tree (widget_value *);
37extern void update_submenu_strings (widget_value *); 37extern void update_submenu_strings (widget_value *);
38extern void find_and_call_menu_selection (FRAME_PTR, int, 38extern void find_and_call_menu_selection (struct frame *, int,
39 Lisp_Object, void *); 39 Lisp_Object, void *);
40extern widget_value *xmalloc_widget_value (void); 40extern widget_value *xmalloc_widget_value (void);
41extern widget_value *digest_single_submenu (int, int, bool); 41extern widget_value *digest_single_submenu (int, int, bool);
42#endif 42#endif
43 43
44#ifdef HAVE_X_WINDOWS 44#ifdef HAVE_X_WINDOWS
45extern void mouse_position_for_popup (FRAME_PTR f, int *x, int *y); 45extern void mouse_position_for_popup (struct frame *f, int *x, int *y);
46#endif 46#endif
47 47
48extern Lisp_Object w32_menu_show (FRAME_PTR, int, int, int, int, 48extern Lisp_Object w32_menu_show (struct frame *, int, int, int, int,
49 Lisp_Object, const char **); 49 Lisp_Object, const char **);
50extern Lisp_Object ns_menu_show (FRAME_PTR, int, int, bool, bool, 50extern Lisp_Object ns_menu_show (struct frame *, int, int, bool, bool,
51 Lisp_Object, const char **); 51 Lisp_Object, const char **);
52extern Lisp_Object xmenu_show (FRAME_PTR, int, int, bool, bool, 52extern Lisp_Object xmenu_show (struct frame *, int, int, bool, bool,
53 Lisp_Object, const char **, Time); 53 Lisp_Object, const char **, Time);
54#endif /* MENU_H */ 54#endif /* MENU_H */
diff --git a/src/msdos.c b/src/msdos.c
index 16308d06c85..88a2eb60726 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -298,7 +298,7 @@ mouse_button_depressed (int b, int *xp, int *yp)
298} 298}
299 299
300void 300void
301mouse_get_pos (FRAME_PTR *f, int insist, Lisp_Object *bar_window, 301mouse_get_pos (struct frame **f, int insist, Lisp_Object *bar_window,
302 enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y, 302 enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y,
303 Time *time) 303 Time *time)
304{ 304{
@@ -1158,7 +1158,7 @@ IT_display_cursor (int on)
1158 to put the cursor at the end of the text displayed there. */ 1158 to put the cursor at the end of the text displayed there. */
1159 1159
1160static void 1160static void
1161IT_cmgoto (FRAME_PTR f) 1161IT_cmgoto (struct frame *f)
1162{ 1162{
1163 /* Only set the cursor to where it should be if the display is 1163 /* Only set the cursor to where it should be if the display is
1164 already in sync with the window contents. */ 1164 already in sync with the window contents. */
@@ -1760,7 +1760,7 @@ IT_set_frame_parameters (struct frame *f, Lisp_Object alist)
1760 } 1760 }
1761} 1761}
1762 1762
1763extern void init_frame_faces (FRAME_PTR); 1763extern void init_frame_faces (struct frame *);
1764 1764
1765#endif /* !HAVE_X_WINDOWS */ 1765#endif /* !HAVE_X_WINDOWS */
1766 1766
diff --git a/src/nsfns.m b/src/nsfns.m
index 3a4d95360c4..3f43afde787 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -143,7 +143,7 @@ check_ns_display_info (Lisp_Object object)
143 dpyinfo = ns_display_info_for_name (object); 143 dpyinfo = ns_display_info_for_name (object);
144 else 144 else
145 { 145 {
146 FRAME_PTR f = decode_window_system_frame (object); 146 struct frame *f = decode_window_system_frame (object);
147 dpyinfo = FRAME_NS_DISPLAY_INFO (f); 147 dpyinfo = FRAME_NS_DISPLAY_INFO (f);
148 } 148 }
149 149
@@ -431,7 +431,7 @@ x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
431} 431}
432 432
433static void 433static void
434ns_set_name_internal (FRAME_PTR f, Lisp_Object name) 434ns_set_name_internal (struct frame *f, Lisp_Object name)
435{ 435{
436 struct gcpro gcpro1; 436 struct gcpro gcpro1;
437 Lisp_Object encoded_name, encoded_icon_name; 437 Lisp_Object encoded_name, encoded_icon_name;
@@ -503,7 +503,7 @@ ns_set_name (struct frame *f, Lisp_Object name, int explicit)
503 specified a name for the frame; the name will override any set by the 503 specified a name for the frame; the name will override any set by the
504 redisplay code. */ 504 redisplay code. */
505static void 505static void
506x_explicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 506x_explicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
507{ 507{
508 NSTRACE (x_explicitly_set_name); 508 NSTRACE (x_explicitly_set_name);
509 ns_set_name (f, arg, 1); 509 ns_set_name (f, arg, 1);
@@ -514,7 +514,7 @@ x_explicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval)
514 name; names set this way will never override names set by the user's 514 name; names set this way will never override names set by the user's
515 lisp code. */ 515 lisp code. */
516void 516void
517x_implicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 517x_implicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
518{ 518{
519 NSTRACE (x_implicitly_set_name); 519 NSTRACE (x_implicitly_set_name);
520 520
@@ -857,7 +857,7 @@ ns_cursor_type_to_lisp (int arg)
857 857
858/* This is the same as the xfns.c definition. */ 858/* This is the same as the xfns.c definition. */
859static void 859static void
860x_set_cursor_type (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 860x_set_cursor_type (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
861{ 861{
862 set_frame_cursor_types (f, arg); 862 set_frame_cursor_types (f, arg);
863 863
diff --git a/src/nsfont.m b/src/nsfont.m
index 26a80624f7c..ad169d7ddae 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -619,13 +619,13 @@ ns_findfonts (Lisp_Object font_spec, BOOL isMatch)
619 ========================================================================== */ 619 ========================================================================== */
620 620
621 621
622static Lisp_Object nsfont_get_cache (FRAME_PTR frame); 622static Lisp_Object nsfont_get_cache (struct frame *frame);
623static Lisp_Object nsfont_list (struct frame *, Lisp_Object); 623static Lisp_Object nsfont_list (struct frame *, Lisp_Object);
624static Lisp_Object nsfont_match (struct frame *, Lisp_Object); 624static Lisp_Object nsfont_match (struct frame *, Lisp_Object);
625static Lisp_Object nsfont_list_family (struct frame *); 625static Lisp_Object nsfont_list_family (struct frame *);
626static Lisp_Object nsfont_open (FRAME_PTR f, Lisp_Object font_entity, 626static Lisp_Object nsfont_open (struct frame *f, Lisp_Object font_entity,
627 int pixel_size); 627 int pixel_size);
628static void nsfont_close (FRAME_PTR f, struct font *font); 628static void nsfont_close (struct frame *f, struct font *font);
629static int nsfont_has_char (Lisp_Object entity, int c); 629static int nsfont_has_char (Lisp_Object entity, int c);
630static unsigned int nsfont_encode_char (struct font *font, int c); 630static unsigned int nsfont_encode_char (struct font *font, int c);
631static int nsfont_text_extents (struct font *font, unsigned int *code, 631static int nsfont_text_extents (struct font *font, unsigned int *code,
@@ -659,7 +659,7 @@ struct font_driver nsfont_driver =
659/* Return a cache of font-entities on FRAME. The cache must be a 659/* Return a cache of font-entities on FRAME. The cache must be a
660 cons whose cdr part is the actual cache area. */ 660 cons whose cdr part is the actual cache area. */
661static Lisp_Object 661static Lisp_Object
662nsfont_get_cache (FRAME_PTR frame) 662nsfont_get_cache (struct frame *frame)
663{ 663{
664 Display_Info *dpyinfo = FRAME_NS_DISPLAY_INFO (frame); 664 Display_Info *dpyinfo = FRAME_NS_DISPLAY_INFO (frame);
665 return (dpyinfo->name_list_element); 665 return (dpyinfo->name_list_element);
@@ -724,7 +724,7 @@ nsfont_list_family (struct frame *f)
724/* Open a font specified by FONT_ENTITY on frame F. If the font is 724/* Open a font specified by FONT_ENTITY on frame F. If the font is
725 scalable, open it with PIXEL_SIZE. */ 725 scalable, open it with PIXEL_SIZE. */
726static Lisp_Object 726static Lisp_Object
727nsfont_open (FRAME_PTR f, Lisp_Object font_entity, int pixel_size) 727nsfont_open (struct frame *f, Lisp_Object font_entity, int pixel_size)
728{ 728{
729 BOOL synthItal; 729 BOOL synthItal;
730 unsigned int traits = 0; 730 unsigned int traits = 0;
@@ -931,7 +931,7 @@ nsfont_open (FRAME_PTR f, Lisp_Object font_entity, int pixel_size)
931 931
932/* Close FONT on frame F. */ 932/* Close FONT on frame F. */
933static void 933static void
934nsfont_close (FRAME_PTR f, struct font *font) 934nsfont_close (struct frame *f, struct font *font)
935{ 935{
936 struct nsfont_info *font_info = (struct nsfont_info *)font; 936 struct nsfont_info *font_info = (struct nsfont_info *)font;
937 int i; 937 int i;
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 02fe0b04ca0..464be89c524 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -806,7 +806,7 @@ extern NSString *NSMenuDidBeginTrackingNotification;
806 ========================================================================== */ 806 ========================================================================== */
807 807
808Lisp_Object 808Lisp_Object
809ns_menu_show (FRAME_PTR f, int x, int y, bool for_click, bool keymaps, 809ns_menu_show (struct frame *f, int x, int y, bool for_click, bool keymaps,
810 Lisp_Object title, const char **error) 810 Lisp_Object title, const char **error)
811{ 811{
812 EmacsMenu *pmenu; 812 EmacsMenu *pmenu;
@@ -1028,7 +1028,7 @@ ns_menu_show (FRAME_PTR f, int x, int y, bool for_click, bool keymaps,
1028 ========================================================================== */ 1028 ========================================================================== */
1029 1029
1030void 1030void
1031free_frame_tool_bar (FRAME_PTR f) 1031free_frame_tool_bar (struct frame *f)
1032/* -------------------------------------------------------------------------- 1032/* --------------------------------------------------------------------------
1033 Under NS we just hide the toolbar until it might be needed again. 1033 Under NS we just hide the toolbar until it might be needed again.
1034 -------------------------------------------------------------------------- */ 1034 -------------------------------------------------------------------------- */
@@ -1040,7 +1040,7 @@ free_frame_tool_bar (FRAME_PTR f)
1040} 1040}
1041 1041
1042void 1042void
1043update_frame_tool_bar (FRAME_PTR f) 1043update_frame_tool_bar (struct frame *f)
1044/* -------------------------------------------------------------------------- 1044/* --------------------------------------------------------------------------
1045 Update toolbar contents 1045 Update toolbar contents
1046 -------------------------------------------------------------------------- */ 1046 -------------------------------------------------------------------------- */
diff --git a/src/nsterm.h b/src/nsterm.h
index 065cc8d4bb7..1303a475547 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -781,7 +781,7 @@ void ns_dump_glyphstring (struct glyph_string *s);
781 781
782/* Implemented in nsterm, published in or needed from nsfns. */ 782/* Implemented in nsterm, published in or needed from nsfns. */
783extern Lisp_Object Qfontsize; 783extern Lisp_Object Qfontsize;
784extern Lisp_Object ns_list_fonts (FRAME_PTR f, Lisp_Object pattern, 784extern Lisp_Object ns_list_fonts (struct frame *f, Lisp_Object pattern,
785 int size, int maxnames); 785 int size, int maxnames);
786extern void ns_clear_frame (struct frame *f); 786extern void ns_clear_frame (struct frame *f);
787 787
@@ -827,11 +827,11 @@ extern void ns_release_autorelease_pool (void *);
827extern const char *ns_get_defaults_value (const char *key); 827extern const char *ns_get_defaults_value (const char *key);
828 828
829/* in nsmenu */ 829/* in nsmenu */
830extern void update_frame_tool_bar (FRAME_PTR f); 830extern void update_frame_tool_bar (struct frame *f);
831extern void free_frame_tool_bar (FRAME_PTR f); 831extern void free_frame_tool_bar (struct frame *f);
832extern void find_and_call_menu_selection (FRAME_PTR f, 832extern void find_and_call_menu_selection (struct frame *f,
833 int menu_bar_items_used, Lisp_Object vector, void *client_data); 833 int menu_bar_items_used, Lisp_Object vector, void *client_data);
834extern Lisp_Object find_and_return_menu_selection (FRAME_PTR f, 834extern Lisp_Object find_and_return_menu_selection (struct frame *f,
835 bool keymaps, 835 bool keymaps,
836 void *client_data); 836 void *client_data);
837extern Lisp_Object ns_popup_dialog (Lisp_Object position, Lisp_Object contents, 837extern Lisp_Object ns_popup_dialog (Lisp_Object position, Lisp_Object contents,
diff --git a/src/nsterm.m b/src/nsterm.m
index be2de274c9e..3672c7656da 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -1353,7 +1353,7 @@ x_set_window_size (struct frame *f, int change_grav, int cols, int rows)
1353 1353
1354 1354
1355static void 1355static void
1356ns_fullscreen_hook (FRAME_PTR f) 1356ns_fullscreen_hook (struct frame *f)
1357{ 1357{
1358 EmacsView *view = (EmacsView *)FRAME_NS_VIEW (f); 1358 EmacsView *view = (EmacsView *)FRAME_NS_VIEW (f);
1359 1359
diff --git a/src/scroll.c b/src/scroll.c
index 037e338c696..3e296068e8f 100644
--- a/src/scroll.c
+++ b/src/scroll.c
@@ -86,7 +86,7 @@ static void do_scrolling (struct frame *,
86 new contents appears. */ 86 new contents appears. */
87 87
88static void 88static void
89calculate_scrolling (FRAME_PTR frame, 89calculate_scrolling (struct frame *frame,
90 /* matrix is of size window_size + 1 on each side. */ 90 /* matrix is of size window_size + 1 on each side. */
91 struct matrix_elt *matrix, 91 struct matrix_elt *matrix,
92 int window_size, int lines_below, 92 int window_size, int lines_below,
@@ -422,7 +422,7 @@ do_scrolling (struct frame *frame, struct glyph_matrix *current_matrix,
422 is the equivalent of draw_cost for the old line contents */ 422 is the equivalent of draw_cost for the old line contents */
423 423
424static void 424static void
425calculate_direct_scrolling (FRAME_PTR frame, 425calculate_direct_scrolling (struct frame *frame,
426 /* matrix is of size window_size + 1 on each side. */ 426 /* matrix is of size window_size + 1 on each side. */
427 struct matrix_elt *matrix, 427 struct matrix_elt *matrix,
428 int window_size, int lines_below, 428 int window_size, int lines_below,
@@ -793,7 +793,7 @@ do_direct_scrolling (struct frame *frame, struct glyph_matrix *current_matrix,
793 793
794 794
795void 795void
796scrolling_1 (FRAME_PTR frame, int window_size, int unchanged_at_top, 796scrolling_1 (struct frame *frame, int window_size, int unchanged_at_top,
797 int unchanged_at_bottom, int *draw_cost, int *old_draw_cost, 797 int unchanged_at_bottom, int *draw_cost, int *old_draw_cost,
798 int *old_hash, int *new_hash, int free_at_end) 798 int *old_hash, int *new_hash, int free_at_end)
799{ 799{
@@ -883,7 +883,7 @@ scrolling_max_lines_saved (int start, int end,
883 overhead and multiply factor values */ 883 overhead and multiply factor values */
884 884
885static void 885static void
886line_ins_del (FRAME_PTR frame, int ov1, int pf1, int ovn, int pfn, 886line_ins_del (struct frame *frame, int ov1, int pf1, int ovn, int pfn,
887 register int *ov, register int *mf) 887 register int *ov, register int *mf)
888{ 888{
889 register int i; 889 register int i;
@@ -901,7 +901,7 @@ line_ins_del (FRAME_PTR frame, int ov1, int pf1, int ovn, int pfn,
901} 901}
902 902
903static void 903static void
904ins_del_costs (FRAME_PTR frame, 904ins_del_costs (struct frame *frame,
905 const char *one_line_string, const char *multi_string, 905 const char *one_line_string, const char *multi_string,
906 const char *setup_string, const char *cleanup_string, 906 const char *setup_string, const char *cleanup_string,
907 int *costvec, int *ncostvec, 907 int *costvec, int *ncostvec,
@@ -957,7 +957,7 @@ ins_del_costs (FRAME_PTR frame,
957 */ 957 */
958 958
959void 959void
960do_line_insertion_deletion_costs (FRAME_PTR frame, 960do_line_insertion_deletion_costs (struct frame *frame,
961 const char *ins_line_string, 961 const char *ins_line_string,
962 const char *multi_ins_string, 962 const char *multi_ins_string,
963 const char *del_line_string, 963 const char *del_line_string,
diff --git a/src/term.c b/src/term.c
index f5f4882161e..fb69aefbe7a 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2522,7 +2522,7 @@ tty_draw_row_with_mouse_face (struct window *w, struct glyph_row *row,
2522} 2522}
2523 2523
2524static bool 2524static bool
2525term_mouse_movement (FRAME_PTR frame, Gpm_Event *event) 2525term_mouse_movement (struct frame *frame, Gpm_Event *event)
2526{ 2526{
2527 /* Has the mouse moved off the glyph it was on at the last sighting? */ 2527 /* Has the mouse moved off the glyph it was on at the last sighting? */
2528 if (event->x != last_mouse_x || event->y != last_mouse_y) 2528 if (event->x != last_mouse_x || event->y != last_mouse_y)
@@ -2563,7 +2563,7 @@ timeval_to_Time (struct timeval const *t)
2563 This clears mouse_moved until the next motion 2563 This clears mouse_moved until the next motion
2564 event arrives. */ 2564 event arrives. */
2565static void 2565static void
2566term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, 2566term_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window,
2567 enum scroll_bar_part *part, Lisp_Object *x, 2567 enum scroll_bar_part *part, Lisp_Object *x,
2568 Lisp_Object *y, Time *timeptr) 2568 Lisp_Object *y, Time *timeptr)
2569{ 2569{
diff --git a/src/w32fns.c b/src/w32fns.c
index 458013da093..dff35de0973 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -285,7 +285,7 @@ check_x_display_info (Lisp_Object frame)
285 return x_display_info_for_name (frame); 285 return x_display_info_for_name (frame);
286 else 286 else
287 { 287 {
288 FRAME_PTR f; 288 struct frame *f;
289 289
290 CHECK_LIVE_FRAME (frame); 290 CHECK_LIVE_FRAME (frame);
291 f = XFRAME (frame); 291 f = XFRAME (frame);
@@ -344,7 +344,7 @@ void x_set_tool_bar_lines (struct frame *, Lisp_Object, Lisp_Object);
344 not Emacs's own window. */ 344 not Emacs's own window. */
345 345
346void 346void
347x_real_positions (FRAME_PTR f, int *xptr, int *yptr) 347x_real_positions (struct frame *f, int *xptr, int *yptr)
348{ 348{
349 POINT pt; 349 POINT pt;
350 RECT rect; 350 RECT rect;
@@ -1019,7 +1019,7 @@ x_to_w32_color (const char * colorname)
1019} 1019}
1020 1020
1021void 1021void
1022w32_regenerate_palette (FRAME_PTR f) 1022w32_regenerate_palette (struct frame *f)
1023{ 1023{
1024 struct w32_palette_entry * list; 1024 struct w32_palette_entry * list;
1025 LOGPALETTE * log_palette; 1025 LOGPALETTE * log_palette;
@@ -1069,7 +1069,7 @@ w32_regenerate_palette (FRAME_PTR f)
1069#if 0 1069#if 0
1070/* Keep these around in case we ever want to track color usage. */ 1070/* Keep these around in case we ever want to track color usage. */
1071void 1071void
1072w32_map_color (FRAME_PTR f, COLORREF color) 1072w32_map_color (struct frame *f, COLORREF color)
1073{ 1073{
1074 struct w32_palette_entry * list = FRAME_W32_DISPLAY_INFO (f)->color_list; 1074 struct w32_palette_entry * list = FRAME_W32_DISPLAY_INFO (f)->color_list;
1075 1075
@@ -1100,7 +1100,7 @@ w32_map_color (FRAME_PTR f, COLORREF color)
1100} 1100}
1101 1101
1102void 1102void
1103w32_unmap_color (FRAME_PTR f, COLORREF color) 1103w32_unmap_color (struct frame *f, COLORREF color)
1104{ 1104{
1105 struct w32_palette_entry * list = FRAME_W32_DISPLAY_INFO (f)->color_list; 1105 struct w32_palette_entry * list = FRAME_W32_DISPLAY_INFO (f)->color_list;
1106 struct w32_palette_entry **prev = &FRAME_W32_DISPLAY_INFO (f)->color_list; 1106 struct w32_palette_entry **prev = &FRAME_W32_DISPLAY_INFO (f)->color_list;
@@ -1153,7 +1153,7 @@ gamma_correct (struct frame *f, COLORREF *color)
1153 If ALLOC is nonzero, allocate a new colormap cell. */ 1153 If ALLOC is nonzero, allocate a new colormap cell. */
1154 1154
1155int 1155int
1156w32_defined_color (FRAME_PTR f, const char *color, XColor *color_def, int alloc) 1156w32_defined_color (struct frame *f, const char *color, XColor *color_def, int alloc)
1157{ 1157{
1158 register Lisp_Object tem; 1158 register Lisp_Object tem;
1159 COLORREF w32_color_ref; 1159 COLORREF w32_color_ref;
@@ -1224,7 +1224,7 @@ w32_defined_color (FRAME_PTR f, const char *color, XColor *color_def, int alloc)
1224 ARG says. */ 1224 ARG says. */
1225 1225
1226int 1226int
1227x_decode_color (FRAME_PTR f, Lisp_Object arg, int def) 1227x_decode_color (struct frame *f, Lisp_Object arg, int def)
1228{ 1228{
1229 XColor cdef; 1229 XColor cdef;
1230 1230
@@ -1525,7 +1525,7 @@ x_set_border_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1525 1525
1526 1526
1527void 1527void
1528x_set_cursor_type (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 1528x_set_cursor_type (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1529{ 1529{
1530 set_frame_cursor_types (f, arg); 1530 set_frame_cursor_types (f, arg);
1531 1531
@@ -1787,7 +1787,7 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
1787 specified a name for the frame; the name will override any set by the 1787 specified a name for the frame; the name will override any set by the
1788 redisplay code. */ 1788 redisplay code. */
1789void 1789void
1790x_explicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 1790x_explicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1791{ 1791{
1792 x_set_name (f, arg, 1); 1792 x_set_name (f, arg, 1);
1793} 1793}
@@ -1796,7 +1796,7 @@ x_explicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval)
1796 name; names set this way will never override names set by the user's 1796 name; names set this way will never override names set by the user's
1797 lisp code. */ 1797 lisp code. */
1798void 1798void
1799x_implicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 1799x_implicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1800{ 1800{
1801 x_set_name (f, arg, 0); 1801 x_set_name (f, arg, 0);
1802} 1802}
@@ -4645,7 +4645,7 @@ DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
4645 (Lisp_Object color, Lisp_Object frame) 4645 (Lisp_Object color, Lisp_Object frame)
4646{ 4646{
4647 XColor foo; 4647 XColor foo;
4648 FRAME_PTR f = decode_window_system_frame (frame); 4648 struct frame *f = decode_window_system_frame (frame);
4649 4649
4650 CHECK_STRING (color); 4650 CHECK_STRING (color);
4651 4651
@@ -4660,7 +4660,7 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
4660 (Lisp_Object color, Lisp_Object frame) 4660 (Lisp_Object color, Lisp_Object frame)
4661{ 4661{
4662 XColor foo; 4662 XColor foo;
4663 FRAME_PTR f = decode_window_system_frame (frame); 4663 struct frame *f = decode_window_system_frame (frame);
4664 4664
4665 CHECK_STRING (color); 4665 CHECK_STRING (color);
4666 4666
@@ -6610,7 +6610,7 @@ screen saver if defined.
6610If optional parameter FRAME is not specified, use selected frame. */) 6610If optional parameter FRAME is not specified, use selected frame. */)
6611 (Lisp_Object command, Lisp_Object frame) 6611 (Lisp_Object command, Lisp_Object frame)
6612{ 6612{
6613 FRAME_PTR f = decode_window_system_frame (frame); 6613 struct frame *f = decode_window_system_frame (frame);
6614 6614
6615 CHECK_NUMBER (command); 6615 CHECK_NUMBER (command);
6616 6616
diff --git a/src/w32font.c b/src/w32font.c
index eb5163b7414..4a97fd90a4e 100644
--- a/src/w32font.c
+++ b/src/w32font.c
@@ -99,7 +99,7 @@ static Lisp_Object Qw32_charset_thai, Qw32_charset_johab, Qw32_charset_mac;
99/* Font spacing symbols - defined in font.c. */ 99/* Font spacing symbols - defined in font.c. */
100extern Lisp_Object Qc, Qp, Qm; 100extern Lisp_Object Qc, Qp, Qm;
101 101
102static void fill_in_logfont (FRAME_PTR, LOGFONT *, Lisp_Object); 102static void fill_in_logfont (struct frame *, LOGFONT *, Lisp_Object);
103 103
104static BYTE w32_antialias_type (Lisp_Object); 104static BYTE w32_antialias_type (Lisp_Object);
105static Lisp_Object lispy_antialias_type (BYTE); 105static Lisp_Object lispy_antialias_type (BYTE);
@@ -297,7 +297,7 @@ intern_font_name (char * string)
297 Return a cache of font-entities on FRAME. The cache must be a 297 Return a cache of font-entities on FRAME. The cache must be a
298 cons whose cdr part is the actual cache area. */ 298 cons whose cdr part is the actual cache area. */
299Lisp_Object 299Lisp_Object
300w32font_get_cache (FRAME_PTR f) 300w32font_get_cache (struct frame *f)
301{ 301{
302 struct w32_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); 302 struct w32_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
303 303
@@ -355,7 +355,7 @@ w32font_list_family (struct frame *f)
355 Open a font specified by FONT_ENTITY on frame F. 355 Open a font specified by FONT_ENTITY on frame F.
356 If the font is scalable, open it with PIXEL_SIZE. */ 356 If the font is scalable, open it with PIXEL_SIZE. */
357static Lisp_Object 357static Lisp_Object
358w32font_open (FRAME_PTR f, Lisp_Object font_entity, int pixel_size) 358w32font_open (struct frame *f, Lisp_Object font_entity, int pixel_size)
359{ 359{
360 Lisp_Object font_object 360 Lisp_Object font_object
361 = font_make_object (VECSIZE (struct w32font_info), 361 = font_make_object (VECSIZE (struct w32font_info),
@@ -379,7 +379,7 @@ w32font_open (FRAME_PTR f, Lisp_Object font_entity, int pixel_size)
379/* w32 implementation of close for font_backend. 379/* w32 implementation of close for font_backend.
380 Close FONT on frame F. */ 380 Close FONT on frame F. */
381void 381void
382w32font_close (FRAME_PTR f, struct font *font) 382w32font_close (struct frame *f, struct font *font)
383{ 383{
384 int i; 384 int i;
385 struct w32font_info *w32_font = (struct w32font_info *) font; 385 struct w32font_info *w32_font = (struct w32font_info *) font;
@@ -731,13 +731,13 @@ w32font_free_entity (Lisp_Object entity);
731 storing some data in FACE->extra. If successful, return 0. 731 storing some data in FACE->extra. If successful, return 0.
732 Otherwise, return -1. 732 Otherwise, return -1.
733static int 733static int
734w32font_prepare_face (FRAME_PTR f, struct face *face); 734w32font_prepare_face (struct frame *f, struct face *face);
735 */ 735 */
736/* w32 implementation of done_face for font backend. 736/* w32 implementation of done_face for font backend.
737 Optional. 737 Optional.
738 Done FACE for displaying characters by FACE->font on frame F. 738 Done FACE for displaying characters by FACE->font on frame F.
739static void 739static void
740w32font_done_face (FRAME_PTR f, struct face *face); */ 740w32font_done_face (struct frame *f, struct face *face); */
741 741
742/* w32 implementation of get_bitmap for font backend. 742/* w32 implementation of get_bitmap for font backend.
743 Optional. 743 Optional.
@@ -889,7 +889,7 @@ w32font_match_internal (struct frame *f, Lisp_Object font_spec, int opentype_onl
889} 889}
890 890
891int 891int
892w32font_open_internal (FRAME_PTR f, Lisp_Object font_entity, 892w32font_open_internal (struct frame *f, Lisp_Object font_entity,
893 int pixel_size, Lisp_Object font_object) 893 int pixel_size, Lisp_Object font_object)
894{ 894{
895 int len, size; 895 int len, size;
@@ -1961,7 +1961,7 @@ w32_to_fc_weight (int n)
1961 1961
1962/* Fill in all the available details of LOGFONT from FONT_SPEC. */ 1962/* Fill in all the available details of LOGFONT from FONT_SPEC. */
1963static void 1963static void
1964fill_in_logfont (FRAME_PTR f, LOGFONT *logfont, Lisp_Object font_spec) 1964fill_in_logfont (struct frame *f, LOGFONT *logfont, Lisp_Object font_spec)
1965{ 1965{
1966 Lisp_Object tmp, extra; 1966 Lisp_Object tmp, extra;
1967 int dpi = FRAME_RES_Y (f); 1967 int dpi = FRAME_RES_Y (f);
@@ -2464,7 +2464,7 @@ If EXCLUDE-PROPORTIONAL is non-nil, exclude proportional fonts
2464in the font selection dialog. */) 2464in the font selection dialog. */)
2465 (Lisp_Object frame, Lisp_Object exclude_proportional) 2465 (Lisp_Object frame, Lisp_Object exclude_proportional)
2466{ 2466{
2467 FRAME_PTR f = decode_window_system_frame (frame); 2467 struct frame *f = decode_window_system_frame (frame);
2468 CHOOSEFONT cf; 2468 CHOOSEFONT cf;
2469 LOGFONT lf; 2469 LOGFONT lf;
2470 TEXTMETRIC tm; 2470 TEXTMETRIC tm;
diff --git a/src/w32font.h b/src/w32font.h
index a195749bbe8..56220860863 100644
--- a/src/w32font.h
+++ b/src/w32font.h
@@ -63,16 +63,16 @@ struct w32font_info
63 63
64#define CACHE_BLOCKSIZE 128 64#define CACHE_BLOCKSIZE 128
65 65
66Lisp_Object w32font_get_cache (FRAME_PTR fe); 66Lisp_Object w32font_get_cache (struct frame *fe);
67Lisp_Object w32font_list_internal (struct frame *f, 67Lisp_Object w32font_list_internal (struct frame *f,
68 Lisp_Object font_spec, 68 Lisp_Object font_spec,
69 int opentype_only); 69 int opentype_only);
70Lisp_Object w32font_match_internal (struct frame *f, 70Lisp_Object w32font_match_internal (struct frame *f,
71 Lisp_Object font_spec, 71 Lisp_Object font_spec,
72 int opentype_only); 72 int opentype_only);
73int w32font_open_internal (FRAME_PTR f, Lisp_Object font_entity, 73int w32font_open_internal (struct frame *f, Lisp_Object font_entity,
74 int pixel_size, Lisp_Object font_object); 74 int pixel_size, Lisp_Object font_object);
75void w32font_close (FRAME_PTR f, struct font *font); 75void w32font_close (struct frame *f, struct font *font);
76int w32font_has_char (Lisp_Object entity, int c); 76int w32font_has_char (Lisp_Object entity, int c);
77int w32font_text_extents (struct font *font, unsigned *code, int nglyphs, 77int w32font_text_extents (struct font *font, unsigned *code, int nglyphs,
78 struct font_metrics *metrics); 78 struct font_metrics *metrics);
diff --git a/src/w32inevt.c b/src/w32inevt.c
index 88a3f9739cd..ce36f291b00 100644
--- a/src/w32inevt.c
+++ b/src/w32inevt.c
@@ -103,10 +103,10 @@ fill_queue (BOOL block)
103} 103}
104 104
105/* In a generic, multi-frame world this should take a console handle 105/* In a generic, multi-frame world this should take a console handle
106 and return the frame for it 106 and return the frame for it.
107 107
108 Right now, there's only one frame so return it. */ 108 Right now, there's only one frame so return it. */
109static FRAME_PTR 109static struct frame *
110get_frame (void) 110get_frame (void)
111{ 111{
112 return SELECTED_FRAME (); 112 return SELECTED_FRAME ();
@@ -394,7 +394,7 @@ key_event (KEY_EVENT_RECORD *event, struct input_event *emacs_ev, int *isdead)
394 394
395/* Mouse position hook. */ 395/* Mouse position hook. */
396void 396void
397w32_console_mouse_position (FRAME_PTR *f, 397w32_console_mouse_position (struct frame **f,
398 int insist, 398 int insist,
399 Lisp_Object *bar_window, 399 Lisp_Object *bar_window,
400 enum scroll_bar_part *part, 400 enum scroll_bar_part *part,
@@ -461,7 +461,7 @@ do_mouse_event (MOUSE_EVENT_RECORD *event,
461 461
462 if (event->dwEventFlags == MOUSE_MOVED) 462 if (event->dwEventFlags == MOUSE_MOVED)
463 { 463 {
464 FRAME_PTR f = SELECTED_FRAME (); 464 struct frame *f = SELECTED_FRAME ();
465 Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f); 465 Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
466 int mx = event->dwMousePosition.X, my = event->dwMousePosition.Y; 466 int mx = event->dwMousePosition.X, my = event->dwMousePosition.Y;
467 467
@@ -555,7 +555,7 @@ do_mouse_event (MOUSE_EVENT_RECORD *event,
555static void 555static void
556resize_event (WINDOW_BUFFER_SIZE_RECORD *event) 556resize_event (WINDOW_BUFFER_SIZE_RECORD *event)
557{ 557{
558 FRAME_PTR f = get_frame (); 558 struct frame *f = get_frame ();
559 559
560 change_frame_size (f, event->dwSize.Y, event->dwSize.X, 0, 1, 0); 560 change_frame_size (f, event->dwSize.Y, event->dwSize.X, 0, 1, 0);
561 SET_FRAME_GARBAGED (f); 561 SET_FRAME_GARBAGED (f);
@@ -565,7 +565,7 @@ static void
565maybe_generate_resize_event (void) 565maybe_generate_resize_event (void)
566{ 566{
567 CONSOLE_SCREEN_BUFFER_INFO info; 567 CONSOLE_SCREEN_BUFFER_INFO info;
568 FRAME_PTR f = get_frame (); 568 struct frame *f = get_frame ();
569 569
570 GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), &info); 570 GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), &info);
571 571
diff --git a/src/w32inevt.h b/src/w32inevt.h
index 8a7e4fed06a..070d1ad7b03 100644
--- a/src/w32inevt.h
+++ b/src/w32inevt.h
@@ -23,7 +23,7 @@ extern int w32_console_unicode_input;
23 23
24extern int w32_console_read_socket (struct terminal *term, 24extern int w32_console_read_socket (struct terminal *term,
25 struct input_event *hold_quit); 25 struct input_event *hold_quit);
26extern void w32_console_mouse_position (FRAME_PTR *f, int insist, 26extern void w32_console_mouse_position (struct frame **f, int insist,
27 Lisp_Object *bar_window, 27 Lisp_Object *bar_window,
28 enum scroll_bar_part *part, 28 enum scroll_bar_part *part,
29 Lisp_Object *x, Lisp_Object *y, 29 Lisp_Object *x, Lisp_Object *y,
diff --git a/src/w32menu.c b/src/w32menu.c
index aa13f26383f..34020fa61d2 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -100,13 +100,13 @@ MessageBoxW_Proc unicode_message_box = NULL;
100 100
101Lisp_Object Qdebug_on_next_call; 101Lisp_Object Qdebug_on_next_call;
102 102
103void set_frame_menubar (FRAME_PTR, bool, bool); 103void set_frame_menubar (struct frame *, bool, bool);
104 104
105#ifdef HAVE_DIALOGS 105#ifdef HAVE_DIALOGS
106static Lisp_Object w32_dialog_show (FRAME_PTR, int, Lisp_Object, char**); 106static Lisp_Object w32_dialog_show (struct frame *, int, Lisp_Object, char**);
107#else 107#else
108static int is_simple_dialog (Lisp_Object); 108static int is_simple_dialog (Lisp_Object);
109static Lisp_Object simple_dialog_show (FRAME_PTR, Lisp_Object, Lisp_Object); 109static Lisp_Object simple_dialog_show (struct frame *, Lisp_Object, Lisp_Object);
110#endif 110#endif
111 111
112static void utf8to16 (unsigned char *, int, WCHAR *); 112static void utf8to16 (unsigned char *, int, WCHAR *);
@@ -137,7 +137,7 @@ If HEADER is non-nil, the frame title for the box is "Information",
137otherwise it is "Question". */) 137otherwise it is "Question". */)
138 (Lisp_Object position, Lisp_Object contents, Lisp_Object header) 138 (Lisp_Object position, Lisp_Object contents, Lisp_Object header)
139{ 139{
140 FRAME_PTR f = NULL; 140 struct frame *f = NULL;
141 Lisp_Object window; 141 Lisp_Object window;
142 142
143 /* Decode the first argument: find the window or frame to use. */ 143 /* Decode the first argument: find the window or frame to use. */
@@ -147,7 +147,7 @@ otherwise it is "Question". */)
147 { 147 {
148#if 0 /* Using the frame the mouse is on may not be right. */ 148#if 0 /* Using the frame the mouse is on may not be right. */
149 /* Use the mouse's current position. */ 149 /* Use the mouse's current position. */
150 FRAME_PTR new_f = SELECTED_FRAME (); 150 struct frame *new_f = SELECTED_FRAME ();
151 Lisp_Object bar_window; 151 Lisp_Object bar_window;
152 enum scroll_bar_part part; 152 enum scroll_bar_part part;
153 Time time; 153 Time time;
@@ -252,7 +252,7 @@ otherwise it is "Question". */)
252 This way we can safely execute Lisp code. */ 252 This way we can safely execute Lisp code. */
253 253
254void 254void
255x_activate_menubar (FRAME_PTR f) 255x_activate_menubar (struct frame *f)
256{ 256{
257 set_frame_menubar (f, 0, 1); 257 set_frame_menubar (f, 0, 1);
258 258
@@ -269,7 +269,7 @@ x_activate_menubar (FRAME_PTR f)
269 and put the appropriate events into the keyboard buffer. */ 269 and put the appropriate events into the keyboard buffer. */
270 270
271void 271void
272menubar_selection_callback (FRAME_PTR f, void * client_data) 272menubar_selection_callback (struct frame *f, void * client_data)
273{ 273{
274 Lisp_Object prefix, entry; 274 Lisp_Object prefix, entry;
275 Lisp_Object vector; 275 Lisp_Object vector;
@@ -361,7 +361,7 @@ menubar_selection_callback (FRAME_PTR f, void * client_data)
361 it is set the first time this is called, from initialize_frame_menubar. */ 361 it is set the first time this is called, from initialize_frame_menubar. */
362 362
363void 363void
364set_frame_menubar (FRAME_PTR f, bool first_time, bool deep_p) 364set_frame_menubar (struct frame *f, bool first_time, bool deep_p)
365{ 365{
366 HMENU menubar_widget = f->output_data.w32->menubar_widget; 366 HMENU menubar_widget = f->output_data.w32->menubar_widget;
367 Lisp_Object items; 367 Lisp_Object items;
@@ -613,7 +613,7 @@ set_frame_menubar (FRAME_PTR f, bool first_time, bool deep_p)
613 is visible. */ 613 is visible. */
614 614
615void 615void
616initialize_frame_menubar (FRAME_PTR f) 616initialize_frame_menubar (struct frame *f)
617{ 617{
618 /* This function is called before the first chance to redisplay 618 /* This function is called before the first chance to redisplay
619 the frame. It has to be, so the frame will have the right size. */ 619 the frame. It has to be, so the frame will have the right size. */
@@ -625,7 +625,7 @@ initialize_frame_menubar (FRAME_PTR f)
625 This is used when deleting a frame, and when turning off the menu bar. */ 625 This is used when deleting a frame, and when turning off the menu bar. */
626 626
627void 627void
628free_frame_menubar (FRAME_PTR f) 628free_frame_menubar (struct frame *f)
629{ 629{
630 block_input (); 630 block_input ();
631 631
@@ -656,7 +656,7 @@ free_frame_menubar (FRAME_PTR f)
656 (We return nil on failure, but the value doesn't actually matter.) */ 656 (We return nil on failure, but the value doesn't actually matter.) */
657 657
658Lisp_Object 658Lisp_Object
659w32_menu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps, 659w32_menu_show (struct frame *f, int x, int y, int for_click, int keymaps,
660 Lisp_Object title, const char **error) 660 Lisp_Object title, const char **error)
661{ 661{
662 int i; 662 int i;
@@ -983,7 +983,7 @@ static char * button_names [] = {
983 "button6", "button7", "button8", "button9", "button10" }; 983 "button6", "button7", "button8", "button9", "button10" };
984 984
985static Lisp_Object 985static Lisp_Object
986w32_dialog_show (FRAME_PTR f, int keymaps, 986w32_dialog_show (struct frame *f, int keymaps,
987 Lisp_Object title, Lisp_Object header, 987 Lisp_Object title, Lisp_Object header,
988 char **error) 988 char **error)
989{ 989{
@@ -1219,7 +1219,7 @@ is_simple_dialog (Lisp_Object contents)
1219} 1219}
1220 1220
1221static Lisp_Object 1221static Lisp_Object
1222simple_dialog_show (FRAME_PTR f, Lisp_Object contents, Lisp_Object header) 1222simple_dialog_show (struct frame *f, Lisp_Object contents, Lisp_Object header)
1223{ 1223{
1224 int answer; 1224 int answer;
1225 UINT type; 1225 UINT type;
@@ -1699,7 +1699,7 @@ DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_
1699 (void) 1699 (void)
1700{ 1700{
1701#ifdef HAVE_MENUS 1701#ifdef HAVE_MENUS
1702 FRAME_PTR f; 1702 struct frame *f;
1703 f = SELECTED_FRAME (); 1703 f = SELECTED_FRAME ();
1704 return (f->output_data.w32->menubar_active > 0) ? Qt : Qnil; 1704 return (f->output_data.w32->menubar_active > 0) ? Qt : Qnil;
1705#else 1705#else
diff --git a/src/w32notify.c b/src/w32notify.c
index 95ab298f2d3..a48a83daf53 100644
--- a/src/w32notify.c
+++ b/src/w32notify.c
@@ -129,7 +129,7 @@ send_notifications (BYTE *info, DWORD info_size, void *desc,
129 volatile int *terminate) 129 volatile int *terminate)
130{ 130{
131 int done = 0; 131 int done = 0;
132 FRAME_PTR f = SELECTED_FRAME (); 132 struct frame *f = SELECTED_FRAME ();
133 133
134 /* A single buffer is used to communicate all notifications to the 134 /* A single buffer is used to communicate all notifications to the
135 main thread. Since both the main thread and several watcher 135 main thread. Since both the main thread and several watcher
diff --git a/src/w32term.c b/src/w32term.c
index aab6c27e665..59cfdee86b0 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -181,7 +181,7 @@ int w32_keyboard_codepage;
181 181
182/* Where the mouse was last time we reported a mouse event. */ 182/* Where the mouse was last time we reported a mouse event. */
183static RECT last_mouse_glyph; 183static RECT last_mouse_glyph;
184static FRAME_PTR last_mouse_glyph_frame; 184static struct frame *last_mouse_glyph_frame;
185 185
186/* The scroll bar in which the last motion event occurred. 186/* The scroll bar in which the last motion event occurred.
187 187
@@ -249,7 +249,7 @@ static void my_set_focus (struct frame *, HWND);
249#endif 249#endif
250static void my_set_foreground_window (HWND); 250static void my_set_foreground_window (HWND);
251static void my_destroy_window (struct frame *, HWND); 251static void my_destroy_window (struct frame *, HWND);
252static void w32fullscreen_hook (FRAME_PTR); 252static void w32fullscreen_hook (struct frame *);
253 253
254#ifdef GLYPH_DEBUG 254#ifdef GLYPH_DEBUG
255static void x_check_font (struct frame *, struct font *); 255static void x_check_font (struct frame *, struct font *);
@@ -450,7 +450,7 @@ w32_draw_rectangle (HDC hdc, XGCValues *gc, int x, int y,
450 450
451/* Draw a filled rectangle at the specified position. */ 451/* Draw a filled rectangle at the specified position. */
452void 452void
453w32_fill_rect (FRAME_PTR f, HDC hdc, COLORREF pix, RECT *lprect) 453w32_fill_rect (struct frame *f, HDC hdc, COLORREF pix, RECT *lprect)
454{ 454{
455 HBRUSH hb; 455 HBRUSH hb;
456 456
@@ -460,7 +460,7 @@ w32_fill_rect (FRAME_PTR f, HDC hdc, COLORREF pix, RECT *lprect)
460} 460}
461 461
462void 462void
463w32_clear_window (FRAME_PTR f) 463w32_clear_window (struct frame *f)
464{ 464{
465 RECT rect; 465 RECT rect;
466 HDC hdc = get_frame_dc (f); 466 HDC hdc = get_frame_dc (f);
@@ -3370,7 +3370,7 @@ static MSG last_mouse_motion_event;
3370static Lisp_Object last_mouse_motion_frame; 3370static Lisp_Object last_mouse_motion_frame;
3371 3371
3372static int 3372static int
3373note_mouse_movement (FRAME_PTR frame, MSG *msg) 3373note_mouse_movement (struct frame *frame, MSG *msg)
3374{ 3374{
3375 int mouse_x = LOWORD (msg->lParam); 3375 int mouse_x = LOWORD (msg->lParam);
3376 int mouse_y = HIWORD (msg->lParam); 3376 int mouse_y = HIWORD (msg->lParam);
@@ -3419,7 +3419,7 @@ note_mouse_movement (FRAME_PTR frame, MSG *msg)
3419 ************************************************************************/ 3419 ************************************************************************/
3420 3420
3421static struct scroll_bar *x_window_to_scroll_bar (Window); 3421static struct scroll_bar *x_window_to_scroll_bar (Window);
3422static void x_scroll_bar_report_motion (FRAME_PTR *, Lisp_Object *, 3422static void x_scroll_bar_report_motion (struct frame **, Lisp_Object *,
3423 enum scroll_bar_part *, 3423 enum scroll_bar_part *,
3424 Lisp_Object *, Lisp_Object *, 3424 Lisp_Object *, Lisp_Object *,
3425 unsigned long *); 3425 unsigned long *);
@@ -3461,11 +3461,11 @@ w32_define_cursor (Window window, Cursor cursor)
3461 movement. */ 3461 movement. */
3462 3462
3463static void 3463static void
3464w32_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, 3464w32_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window,
3465 enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y, 3465 enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y,
3466 unsigned long *time) 3466 unsigned long *time)
3467{ 3467{
3468 FRAME_PTR f1; 3468 struct frame *f1;
3469 3469
3470 block_input (); 3470 block_input ();
3471 3471
@@ -3696,7 +3696,7 @@ my_create_scrollbar (struct frame * f, struct scroll_bar * bar)
3696/*#define ATTACH_THREADS*/ 3696/*#define ATTACH_THREADS*/
3697 3697
3698static BOOL 3698static BOOL
3699my_show_window (FRAME_PTR f, HWND hwnd, int how) 3699my_show_window (struct frame *f, HWND hwnd, int how)
3700{ 3700{
3701#ifndef ATTACH_THREADS 3701#ifndef ATTACH_THREADS
3702 return SendMessage (FRAME_W32_WINDOW (f), WM_EMACS_SHOWWINDOW, 3702 return SendMessage (FRAME_W32_WINDOW (f), WM_EMACS_SHOWWINDOW,
@@ -3816,7 +3816,7 @@ x_scroll_bar_create (struct window *w, int top, int left, int width, int height)
3816static void 3816static void
3817x_scroll_bar_remove (struct scroll_bar *bar) 3817x_scroll_bar_remove (struct scroll_bar *bar)
3818{ 3818{
3819 FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); 3819 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
3820 3820
3821 block_input (); 3821 block_input ();
3822 3822
@@ -3979,7 +3979,7 @@ w32_set_vertical_scroll_bar (struct window *w,
3979 `*redeem_scroll_bar_hook' is applied to its window before the judgment. */ 3979 `*redeem_scroll_bar_hook' is applied to its window before the judgment. */
3980 3980
3981static void 3981static void
3982w32_condemn_scroll_bars (FRAME_PTR frame) 3982w32_condemn_scroll_bars (struct frame *frame)
3983{ 3983{
3984 /* Transfer all the scroll bars to FRAME_CONDEMNED_SCROLL_BARS. */ 3984 /* Transfer all the scroll bars to FRAME_CONDEMNED_SCROLL_BARS. */
3985 while (! NILP (FRAME_SCROLL_BARS (frame))) 3985 while (! NILP (FRAME_SCROLL_BARS (frame)))
@@ -4047,7 +4047,7 @@ w32_redeem_scroll_bar (struct window *window)
4047 last call to `*condemn_scroll_bars_hook'. */ 4047 last call to `*condemn_scroll_bars_hook'. */
4048 4048
4049static void 4049static void
4050w32_judge_scroll_bars (FRAME_PTR f) 4050w32_judge_scroll_bars (struct frame *f)
4051{ 4051{
4052 Lisp_Object bar, next; 4052 Lisp_Object bar, next;
4053 4053
@@ -4185,14 +4185,14 @@ w32_scroll_bar_handle_click (struct scroll_bar *bar, W32Msg *msg,
4185 on the scroll bar. */ 4185 on the scroll bar. */
4186 4186
4187static void 4187static void
4188x_scroll_bar_report_motion (FRAME_PTR *fp, Lisp_Object *bar_window, 4188x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window,
4189 enum scroll_bar_part *part, 4189 enum scroll_bar_part *part,
4190 Lisp_Object *x, Lisp_Object *y, 4190 Lisp_Object *x, Lisp_Object *y,
4191 unsigned long *time) 4191 unsigned long *time)
4192{ 4192{
4193 struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); 4193 struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar);
4194 Window w = SCROLL_BAR_W32_WINDOW (bar); 4194 Window w = SCROLL_BAR_W32_WINDOW (bar);
4195 FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); 4195 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
4196 int pos; 4196 int pos;
4197 int top_range = VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height)); 4197 int top_range = VERTICAL_SCROLL_BAR_TOP_RANGE (f, XINT (bar->height));
4198 SCROLLINFO si; 4198 SCROLLINFO si;
@@ -4244,7 +4244,7 @@ x_scroll_bar_report_motion (FRAME_PTR *fp, Lisp_Object *bar_window,
4244 redraw them. */ 4244 redraw them. */
4245 4245
4246void 4246void
4247x_scroll_bar_clear (FRAME_PTR f) 4247x_scroll_bar_clear (struct frame *f)
4248{ 4248{
4249 Lisp_Object bar; 4249 Lisp_Object bar;
4250 4250
@@ -4974,7 +4974,7 @@ w32_read_socket (struct terminal *terminal,
4974 if (f) 4974 if (f)
4975 { 4975 {
4976 extern void menubar_selection_callback 4976 extern void menubar_selection_callback
4977 (FRAME_PTR f, void * client_data); 4977 (struct frame *f, void * client_data);
4978 menubar_selection_callback (f, (void *)msg.msg.wParam); 4978 menubar_selection_callback (f, (void *)msg.msg.wParam);
4979 } 4979 }
4980 4980
@@ -5071,7 +5071,7 @@ w32_read_socket (struct terminal *terminal,
5071 5071
5072 FOR_EACH_FRAME (tail, frame) 5072 FOR_EACH_FRAME (tail, frame)
5073 { 5073 {
5074 FRAME_PTR f = XFRAME (frame); 5074 struct frame *f = XFRAME (frame);
5075 /* The tooltip has been drawn already. Avoid the 5075 /* The tooltip has been drawn already. Avoid the
5076 SET_FRAME_GARBAGED below. */ 5076 SET_FRAME_GARBAGED below. */
5077 if (EQ (frame, tip_frame)) 5077 if (EQ (frame, tip_frame))
@@ -5692,7 +5692,7 @@ x_check_fullscreen (struct frame *f)
5692} 5692}
5693 5693
5694static void 5694static void
5695w32fullscreen_hook (FRAME_PTR f) 5695w32fullscreen_hook (struct frame *f)
5696{ 5696{
5697 if (FRAME_VISIBLE_P (f)) 5697 if (FRAME_VISIBLE_P (f))
5698 { 5698 {
@@ -5964,7 +5964,7 @@ x_lower_frame (struct frame *f)
5964} 5964}
5965 5965
5966static void 5966static void
5967w32_frame_raise_lower (FRAME_PTR f, int raise_flag) 5967w32_frame_raise_lower (struct frame *f, int raise_flag)
5968{ 5968{
5969 if (! FRAME_W32_P (f)) 5969 if (! FRAME_W32_P (f))
5970 return; 5970 return;
diff --git a/src/w32term.h b/src/w32term.h
index 032047a2751..3c9cce35221 100644
--- a/src/w32term.h
+++ b/src/w32term.h
@@ -205,7 +205,7 @@ extern void x_focus_on_frame (struct frame *f);
205 205
206extern struct w32_display_info *w32_term_init (Lisp_Object, 206extern struct w32_display_info *w32_term_init (Lisp_Object,
207 char *, char *); 207 char *, char *);
208extern int w32_defined_color (FRAME_PTR f, const char *color, 208extern int w32_defined_color (struct frame *f, const char *color,
209 XColor *color_def, int alloc); 209 XColor *color_def, int alloc);
210extern void x_set_window_size (struct frame *f, int change_grav, 210extern void x_set_window_size (struct frame *f, int change_grav,
211 int cols, int rows); 211 int cols, int rows);
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c
index cff8885de7f..b31baa0e65c 100644
--- a/src/w32uniscribe.c
+++ b/src/w32uniscribe.c
@@ -106,7 +106,7 @@ uniscribe_list_family (struct frame *f)
106} 106}
107 107
108static Lisp_Object 108static Lisp_Object
109uniscribe_open (FRAME_PTR f, Lisp_Object font_entity, int pixel_size) 109uniscribe_open (struct frame *f, Lisp_Object font_entity, int pixel_size)
110{ 110{
111 Lisp_Object font_object 111 Lisp_Object font_object
112 = font_make_object (VECSIZE (struct uniscribe_font_info), 112 = font_make_object (VECSIZE (struct uniscribe_font_info),
@@ -135,7 +135,7 @@ uniscribe_open (FRAME_PTR f, Lisp_Object font_entity, int pixel_size)
135} 135}
136 136
137static void 137static void
138uniscribe_close (FRAME_PTR f, struct font *font) 138uniscribe_close (struct frame *f, struct font *font)
139{ 139{
140 struct uniscribe_font_info *uniscribe_font 140 struct uniscribe_font_info *uniscribe_font
141 = (struct uniscribe_font_info *) font; 141 = (struct uniscribe_font_info *) font;
@@ -599,8 +599,8 @@ uniscribe_encode_char (struct font *font, int c)
599 int x, int y, int with_background); 599 int x, int y, int with_background);
600 600
601 Unused: 601 Unused:
602 int uniscribe_prepare_face (FRAME_PTR f, struct face *face); 602 int uniscribe_prepare_face (struct frame *f, struct face *face);
603 void uniscribe_done_face (FRAME_PTR f, struct face *face); 603 void uniscribe_done_face (struct frame *f, struct face *face);
604 int uniscribe_get_bitmap (struct font *font, unsigned code, 604 int uniscribe_get_bitmap (struct font *font, unsigned code,
605 struct font_bitmap *bitmap, int bits_per_pixel); 605 struct font_bitmap *bitmap, int bits_per_pixel);
606 void uniscribe_free_bitmap (struct font *font, struct font_bitmap *bitmap); 606 void uniscribe_free_bitmap (struct font *font, struct font_bitmap *bitmap);
@@ -608,8 +608,8 @@ uniscribe_encode_char (struct font *font, int c)
608 void uniscribe_free_outline (struct font *font, void *outline); 608 void uniscribe_free_outline (struct font *font, void *outline);
609 int uniscribe_anchor_point (struct font *font, unsigned code, 609 int uniscribe_anchor_point (struct font *font, unsigned code,
610 int index, int *x, int *y); 610 int index, int *x, int *y);
611 int uniscribe_start_for_frame (FRAME_PTR f); 611 int uniscribe_start_for_frame (struct frame *f);
612 int uniscribe_end_for_frame (FRAME_PTR f); 612 int uniscribe_end_for_frame (struct frame *f);
613 613
614*/ 614*/
615 615
diff --git a/src/w32xfns.c b/src/w32xfns.c
index 03611e19768..19c6b72bf89 100644
--- a/src/w32xfns.c
+++ b/src/w32xfns.c
@@ -90,7 +90,7 @@ signal_quit (void)
90} 90}
91 91
92void 92void
93select_palette (FRAME_PTR f, HDC hdc) 93select_palette (struct frame *f, HDC hdc)
94{ 94{
95 struct w32_display_info *display_info = FRAME_W32_DISPLAY_INFO (f); 95 struct w32_display_info *display_info = FRAME_W32_DISPLAY_INFO (f);
96 96
@@ -117,7 +117,7 @@ select_palette (FRAME_PTR f, HDC hdc)
117} 117}
118 118
119void 119void
120deselect_palette (FRAME_PTR f, HDC hdc) 120deselect_palette (struct frame *f, HDC hdc)
121{ 121{
122 if (f->output_data.w32->old_palette) 122 if (f->output_data.w32->old_palette)
123 SelectPalette (hdc, f->output_data.w32->old_palette, FALSE); 123 SelectPalette (hdc, f->output_data.w32->old_palette, FALSE);
@@ -126,7 +126,7 @@ deselect_palette (FRAME_PTR f, HDC hdc)
126/* Get a DC for frame and select palette for drawing; force an update of 126/* Get a DC for frame and select palette for drawing; force an update of
127 all frames if palette's mapping changes. */ 127 all frames if palette's mapping changes. */
128HDC 128HDC
129get_frame_dc (FRAME_PTR f) 129get_frame_dc (struct frame *f)
130{ 130{
131 HDC hdc; 131 HDC hdc;
132 132
@@ -146,7 +146,7 @@ get_frame_dc (FRAME_PTR f)
146} 146}
147 147
148int 148int
149release_frame_dc (FRAME_PTR f, HDC hdc) 149release_frame_dc (struct frame *f, HDC hdc)
150{ 150{
151 int ret; 151 int ret;
152 152
diff --git a/src/widget.c b/src/widget.c
index f66ec0b80ec..ec0b506046b 100644
--- a/src/widget.c
+++ b/src/widget.c
@@ -806,7 +806,7 @@ void
806widget_store_internal_border (Widget widget) 806widget_store_internal_border (Widget widget)
807{ 807{
808 EmacsFrame ew = (EmacsFrame) widget; 808 EmacsFrame ew = (EmacsFrame) widget;
809 FRAME_PTR f = ew->emacs_frame.frame; 809 struct frame *f = ew->emacs_frame.frame;
810 810
811 ew->emacs_frame.internal_border_width = f->internal_border_width; 811 ew->emacs_frame.internal_border_width = f->internal_border_width;
812} 812}
diff --git a/src/window.c b/src/window.c
index 6fd6849c6c3..1b288368884 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3019,7 +3019,7 @@ replace_buffer_in_windows_safely (Lisp_Object buffer)
3019 minimum allowable size. */ 3019 minimum allowable size. */
3020 3020
3021void 3021void
3022check_frame_size (FRAME_PTR frame, int *rows, int *cols) 3022check_frame_size (struct frame *frame, int *rows, int *cols)
3023{ 3023{
3024 /* For height, we have to see: 3024 /* For height, we have to see:
3025 how many windows the frame has at minimum (one or two), 3025 how many windows the frame has at minimum (one or two),
@@ -5516,7 +5516,7 @@ the return value is nil. Otherwise the value is t. */)
5516 struct Lisp_Vector *saved_windows; 5516 struct Lisp_Vector *saved_windows;
5517 Lisp_Object new_current_buffer; 5517 Lisp_Object new_current_buffer;
5518 Lisp_Object frame; 5518 Lisp_Object frame;
5519 FRAME_PTR f; 5519 struct frame *f;
5520 ptrdiff_t old_point = -1; 5520 ptrdiff_t old_point = -1;
5521 5521
5522 CHECK_WINDOW_CONFIGURATION (configuration); 5522 CHECK_WINDOW_CONFIGURATION (configuration);
diff --git a/src/xdisp.c b/src/xdisp.c
index 1da7de5759c..e73d629b153 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -1854,7 +1854,7 @@ estimate_mode_line_height (struct frame *f, enum face_id face_id)
1854 not force the value into range. */ 1854 not force the value into range. */
1855 1855
1856void 1856void
1857pixel_to_glyph_coords (FRAME_PTR f, register int pix_x, register int pix_y, 1857pixel_to_glyph_coords (struct frame *f, register int pix_x, register int pix_y,
1858 int *x, int *y, NativeRectangle *bounds, int noclip) 1858 int *x, int *y, NativeRectangle *bounds, int noclip)
1859{ 1859{
1860 1860
@@ -11449,7 +11449,7 @@ x_cursor_to (int vpos, int hpos, int y, int x)
11449 11449
11450/* Where the mouse was last time we reported a mouse event. */ 11450/* Where the mouse was last time we reported a mouse event. */
11451 11451
11452FRAME_PTR last_mouse_frame; 11452struct frame *last_mouse_frame;
11453 11453
11454/* Tool-bar item index of the item on which a mouse button was pressed 11454/* Tool-bar item index of the item on which a mouse button was pressed
11455 or -1. */ 11455 or -1. */
diff --git a/src/xfaces.c b/src/xfaces.c
index b187193fc70..acd2d2b1116 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -869,7 +869,7 @@ the pixmap. Bits are stored row by row, each row occupies
869 if these pointers are not null. */ 869 if these pointers are not null. */
870 870
871static ptrdiff_t 871static ptrdiff_t
872load_pixmap (FRAME_PTR f, Lisp_Object name, unsigned int *w_ptr, 872load_pixmap (struct frame *f, Lisp_Object name, unsigned int *w_ptr,
873 unsigned int *h_ptr) 873 unsigned int *h_ptr)
874{ 874{
875 ptrdiff_t bitmap_id; 875 ptrdiff_t bitmap_id;
@@ -3075,7 +3075,7 @@ FRAME 0 means change the face on all frames, and change the default
3075 { 3075 {
3076 if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) 3076 if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value))
3077 { 3077 {
3078 FRAME_PTR f; 3078 struct frame *f;
3079 3079
3080 old_value = LFACE_FONT (lface); 3080 old_value = LFACE_FONT (lface);
3081 if (! FONTP (value)) 3081 if (! FONTP (value))
diff --git a/src/xfns.c b/src/xfns.c
index afae67d6327..a1e9e916aba 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -176,7 +176,7 @@ check_x_display_info (Lisp_Object object)
176 dpyinfo = x_display_info_for_name (object); 176 dpyinfo = x_display_info_for_name (object);
177 else 177 else
178 { 178 {
179 FRAME_PTR f = decode_window_system_frame (object); 179 struct frame *f = decode_window_system_frame (object);
180 dpyinfo = FRAME_X_DISPLAY_INFO (f); 180 dpyinfo = FRAME_X_DISPLAY_INFO (f);
181 } 181 }
182 182
@@ -369,7 +369,7 @@ x_top_window_to_frame (struct x_display_info *dpyinfo, int wdesc)
369 not Emacs's own window. */ 369 not Emacs's own window. */
370 370
371void 371void
372x_real_positions (FRAME_PTR f, int *xptr, int *yptr) 372x_real_positions (struct frame *f, int *xptr, int *yptr)
373{ 373{
374 int win_x, win_y, outer_x IF_LINT (= 0), outer_y IF_LINT (= 0); 374 int win_x, win_y, outer_x IF_LINT (= 0), outer_y IF_LINT (= 0);
375 int real_x = 0, real_y = 0; 375 int real_x = 0, real_y = 0;
@@ -565,7 +565,7 @@ x_defined_color (struct frame *f, const char *color_name,
565 Signal an error if color can't be allocated. */ 565 Signal an error if color can't be allocated. */
566 566
567static int 567static int
568x_decode_color (FRAME_PTR f, Lisp_Object color_name, int mono_color) 568x_decode_color (struct frame *f, Lisp_Object color_name, int mono_color)
569{ 569{
570 XColor cdef; 570 XColor cdef;
571 571
@@ -626,7 +626,7 @@ x_set_tool_bar_position (struct frame *f,
626 may be any format that GdkPixbuf knows about, i.e. not just bitmaps. */ 626 may be any format that GdkPixbuf knows about, i.e. not just bitmaps. */
627 627
628int 628int
629xg_set_icon (FRAME_PTR f, Lisp_Object file) 629xg_set_icon (struct frame *f, Lisp_Object file)
630{ 630{
631 int result = 0; 631 int result = 0;
632 Lisp_Object found; 632 Lisp_Object found;
@@ -660,7 +660,7 @@ xg_set_icon (FRAME_PTR f, Lisp_Object file)
660} 660}
661 661
662int 662int
663xg_set_icon_from_xpm_data (FRAME_PTR f, const char **data) 663xg_set_icon_from_xpm_data (struct frame *f, const char **data)
664{ 664{
665 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data (data); 665 GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data (data);
666 666
@@ -1050,7 +1050,7 @@ x_set_border_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1050 1050
1051 1051
1052static void 1052static void
1053x_set_cursor_type (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 1053x_set_cursor_type (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1054{ 1054{
1055 set_frame_cursor_types (f, arg); 1055 set_frame_cursor_types (f, arg);
1056 1056
@@ -1449,7 +1449,7 @@ x_encode_text (Lisp_Object string, Lisp_Object coding_system, int selectionp,
1449 icon name to NAME. */ 1449 icon name to NAME. */
1450 1450
1451static void 1451static void
1452x_set_name_internal (FRAME_PTR f, Lisp_Object name) 1452x_set_name_internal (struct frame *f, Lisp_Object name)
1453{ 1453{
1454 if (FRAME_X_WINDOW (f)) 1454 if (FRAME_X_WINDOW (f))
1455 { 1455 {
@@ -1608,7 +1608,7 @@ x_set_name (struct frame *f, Lisp_Object name, int explicit)
1608 specified a name for the frame; the name will override any set by the 1608 specified a name for the frame; the name will override any set by the
1609 redisplay code. */ 1609 redisplay code. */
1610static void 1610static void
1611x_explicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 1611x_explicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1612{ 1612{
1613 x_set_name (f, arg, 1); 1613 x_set_name (f, arg, 1);
1614} 1614}
@@ -1617,7 +1617,7 @@ x_explicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval)
1617 name; names set this way will never override names set by the user's 1617 name; names set this way will never override names set by the user's
1618 lisp code. */ 1618 lisp code. */
1619void 1619void
1620x_implicitly_set_name (FRAME_PTR f, Lisp_Object arg, Lisp_Object oldval) 1620x_implicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
1621{ 1621{
1622 x_set_name (f, arg, 0); 1622 x_set_name (f, arg, 0);
1623} 1623}
@@ -1730,7 +1730,7 @@ x_default_scroll_bar_color_parameter (struct frame *f,
1730 for example, but Xt doesn't). */ 1730 for example, but Xt doesn't). */
1731 1731
1732static void 1732static void
1733hack_wm_protocols (FRAME_PTR f, Widget widget) 1733hack_wm_protocols (struct frame *f, Widget widget)
1734{ 1734{
1735 Display *dpy = XtDisplay (widget); 1735 Display *dpy = XtDisplay (widget);
1736 Window w = XtWindow (widget); 1736 Window w = XtWindow (widget);
@@ -2538,7 +2538,7 @@ x_window (struct frame *f, long window_prompting, int minibuffer_only)
2538#else /* not USE_X_TOOLKIT */ 2538#else /* not USE_X_TOOLKIT */
2539#ifdef USE_GTK 2539#ifdef USE_GTK
2540static void 2540static void
2541x_window (FRAME_PTR f) 2541x_window (struct frame *f)
2542{ 2542{
2543 if (! xg_create_frame_widgets (f)) 2543 if (! xg_create_frame_widgets (f))
2544 error ("Unable to create window"); 2544 error ("Unable to create window");
@@ -3485,7 +3485,7 @@ DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
3485 (Lisp_Object color, Lisp_Object frame) 3485 (Lisp_Object color, Lisp_Object frame)
3486{ 3486{
3487 XColor foo; 3487 XColor foo;
3488 FRAME_PTR f = decode_window_system_frame (frame); 3488 struct frame *f = decode_window_system_frame (frame);
3489 3489
3490 CHECK_STRING (color); 3490 CHECK_STRING (color);
3491 3491
@@ -3500,7 +3500,7 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0,
3500 (Lisp_Object color, Lisp_Object frame) 3500 (Lisp_Object color, Lisp_Object frame)
3501{ 3501{
3502 XColor foo; 3502 XColor foo;
3503 FRAME_PTR f = decode_window_system_frame (frame); 3503 struct frame *f = decode_window_system_frame (frame);
3504 3504
3505 CHECK_STRING (color); 3505 CHECK_STRING (color);
3506 3506
@@ -4586,7 +4586,7 @@ If TERMINAL is omitted or nil, that stands for the selected frame's display. */
4586/* Wait for responses to all X commands issued so far for frame F. */ 4586/* Wait for responses to all X commands issued so far for frame F. */
4587 4587
4588void 4588void
4589x_sync (FRAME_PTR f) 4589x_sync (struct frame *f)
4590{ 4590{
4591 block_input (); 4591 block_input ();
4592 XSync (FRAME_X_DISPLAY (f), False); 4592 XSync (FRAME_X_DISPLAY (f), False);
@@ -5770,7 +5770,8 @@ or directory must exist.
5770This function is only defined on NS, MS Windows, and X Windows with the 5770This function is only defined on NS, MS Windows, and X Windows with the
5771Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored. 5771Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored.
5772Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */) 5772Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */)
5773 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p) 5773 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename,
5774 Lisp_Object mustmatch, Lisp_Object only_dir_p)
5774{ 5775{
5775 int result; 5776 int result;
5776 struct frame *f = SELECTED_FRAME (); 5777 struct frame *f = SELECTED_FRAME ();
@@ -5943,7 +5944,7 @@ Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored.
5943Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */) 5944Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories. */)
5944 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p) 5945 (Lisp_Object prompt, Lisp_Object dir, Lisp_Object default_filename, Lisp_Object mustmatch, Lisp_Object only_dir_p)
5945{ 5946{
5946 FRAME_PTR f = SELECTED_FRAME (); 5947 struct frame *f = SELECTED_FRAME ();
5947 char *fn; 5948 char *fn;
5948 Lisp_Object file = Qnil; 5949 Lisp_Object file = Qnil;
5949 Lisp_Object decoded_file; 5950 Lisp_Object decoded_file;
@@ -6006,7 +6007,7 @@ FRAME is the frame on which to pop up the font chooser. If omitted or
6006nil, it defaults to the selected frame. */) 6007nil, it defaults to the selected frame. */)
6007 (Lisp_Object frame, Lisp_Object ignored) 6008 (Lisp_Object frame, Lisp_Object ignored)
6008{ 6009{
6009 FRAME_PTR f = decode_window_system_frame (frame); 6010 struct frame *f = decode_window_system_frame (frame);
6010 Lisp_Object font; 6011 Lisp_Object font;
6011 Lisp_Object font_param; 6012 Lisp_Object font_param;
6012 char *default_name = NULL; 6013 char *default_name = NULL;
diff --git a/src/xfont.c b/src/xfont.c
index 1a0e0f70f68..f673adbbd5e 100644
--- a/src/xfont.c
+++ b/src/xfont.c
@@ -114,19 +114,19 @@ xfont_get_pcm (XFontStruct *xfont, XChar2b *char2b)
114 ? NULL : pcm); 114 ? NULL : pcm);
115} 115}
116 116
117static Lisp_Object xfont_get_cache (FRAME_PTR); 117static Lisp_Object xfont_get_cache (struct frame *);
118static Lisp_Object xfont_list (struct frame *, Lisp_Object); 118static Lisp_Object xfont_list (struct frame *, Lisp_Object);
119static Lisp_Object xfont_match (struct frame *, Lisp_Object); 119static Lisp_Object xfont_match (struct frame *, Lisp_Object);
120static Lisp_Object xfont_list_family (struct frame *); 120static Lisp_Object xfont_list_family (struct frame *);
121static Lisp_Object xfont_open (FRAME_PTR, Lisp_Object, int); 121static Lisp_Object xfont_open (struct frame *, Lisp_Object, int);
122static void xfont_close (FRAME_PTR, struct font *); 122static void xfont_close (struct frame *, struct font *);
123static int xfont_prepare_face (FRAME_PTR, struct face *); 123static int xfont_prepare_face (struct frame *, struct face *);
124static int xfont_has_char (Lisp_Object, int); 124static int xfont_has_char (Lisp_Object, int);
125static unsigned xfont_encode_char (struct font *, int); 125static unsigned xfont_encode_char (struct font *, int);
126static int xfont_text_extents (struct font *, unsigned *, int, 126static int xfont_text_extents (struct font *, unsigned *, int,
127 struct font_metrics *); 127 struct font_metrics *);
128static int xfont_draw (struct glyph_string *, int, int, int, int, bool); 128static int xfont_draw (struct glyph_string *, int, int, int, int, bool);
129static int xfont_check (FRAME_PTR, struct font *); 129static int xfont_check (struct frame *, struct font *);
130 130
131struct font_driver xfont_driver = 131struct font_driver xfont_driver =
132 { 132 {
@@ -152,7 +152,7 @@ struct font_driver xfont_driver =
152 }; 152 };
153 153
154static Lisp_Object 154static Lisp_Object
155xfont_get_cache (FRAME_PTR f) 155xfont_get_cache (struct frame *f)
156{ 156{
157 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); 157 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
158 158
@@ -676,7 +676,7 @@ xfont_list_family (struct frame *f)
676} 676}
677 677
678static Lisp_Object 678static Lisp_Object
679xfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size) 679xfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
680{ 680{
681 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f); 681 Display_Info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
682 Display *display = dpyinfo->display; 682 Display *display = dpyinfo->display;
@@ -892,7 +892,7 @@ xfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
892} 892}
893 893
894static void 894static void
895xfont_close (FRAME_PTR f, struct font *font) 895xfont_close (struct frame *f, struct font *font)
896{ 896{
897 block_input (); 897 block_input ();
898 XFreeFont (FRAME_X_DISPLAY (f), ((struct xfont_info *) font)->xfont); 898 XFreeFont (FRAME_X_DISPLAY (f), ((struct xfont_info *) font)->xfont);
@@ -900,7 +900,7 @@ xfont_close (FRAME_PTR f, struct font *font)
900} 900}
901 901
902static int 902static int
903xfont_prepare_face (FRAME_PTR f, struct face *face) 903xfont_prepare_face (struct frame *f, struct face *face)
904{ 904{
905 block_input (); 905 block_input ();
906 XSetFont (FRAME_X_DISPLAY (f), face->gc, 906 XSetFont (FRAME_X_DISPLAY (f), face->gc,
@@ -1089,7 +1089,7 @@ xfont_draw (struct glyph_string *s, int from, int to, int x, int y,
1089} 1089}
1090 1090
1091static int 1091static int
1092xfont_check (FRAME_PTR f, struct font *font) 1092xfont_check (struct frame *f, struct font *font)
1093{ 1093{
1094 struct xfont_info *xfont = (struct xfont_info *) font; 1094 struct xfont_info *xfont = (struct xfont_info *) font;
1095 1095
diff --git a/src/xftfont.c b/src/xftfont.c
index 5757a4d20f7..f2b4c2abe2b 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -70,7 +70,7 @@ struct xftface_info
70 XftColor xft_bg; /* color for face->background */ 70 XftColor xft_bg; /* color for face->background */
71}; 71};
72 72
73static void xftfont_get_colors (FRAME_PTR, struct face *, GC gc, 73static void xftfont_get_colors (struct frame *, struct face *, GC gc,
74 struct xftface_info *, 74 struct xftface_info *,
75 XftColor *fg, XftColor *bg); 75 XftColor *fg, XftColor *bg);
76 76
@@ -80,7 +80,9 @@ static void xftfont_get_colors (FRAME_PTR, struct face *, GC gc,
80 may be NULL. */ 80 may be NULL. */
81 81
82static void 82static void
83xftfont_get_colors (FRAME_PTR f, struct face *face, GC gc, struct xftface_info *xftface_info, XftColor *fg, XftColor *bg) 83xftfont_get_colors (struct frame *f, struct face *face, GC gc,
84 struct xftface_info *xftface_info,
85 XftColor *fg, XftColor *bg)
84{ 86{
85 if (xftface_info && face->gc == gc) 87 if (xftface_info && face->gc == gc)
86 { 88 {
@@ -262,7 +264,7 @@ xftfont_add_rendering_parameters (FcPattern *pat, Lisp_Object entity)
262} 264}
263 265
264static Lisp_Object 266static Lisp_Object
265xftfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size) 267xftfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
266{ 268{
267 FcResult result; 269 FcResult result;
268 Display *display = FRAME_X_DISPLAY (f); 270 Display *display = FRAME_X_DISPLAY (f);
@@ -484,7 +486,7 @@ xftfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
484} 486}
485 487
486static void 488static void
487xftfont_close (FRAME_PTR f, struct font *font) 489xftfont_close (struct frame *f, struct font *font)
488{ 490{
489 struct xftfont_info *xftfont_info = (struct xftfont_info *) font; 491 struct xftfont_info *xftfont_info = (struct xftfont_info *) font;
490 492
@@ -499,7 +501,7 @@ xftfont_close (FRAME_PTR f, struct font *font)
499} 501}
500 502
501static int 503static int
502xftfont_prepare_face (FRAME_PTR f, struct face *face) 504xftfont_prepare_face (struct frame *f, struct face *face)
503{ 505{
504 struct xftface_info *xftface_info; 506 struct xftface_info *xftface_info;
505 507
@@ -522,7 +524,7 @@ xftfont_prepare_face (FRAME_PTR f, struct face *face)
522} 524}
523 525
524static void 526static void
525xftfont_done_face (FRAME_PTR f, struct face *face) 527xftfont_done_face (struct frame *f, struct face *face)
526{ 528{
527 struct xftface_info *xftface_info; 529 struct xftface_info *xftface_info;
528 530
@@ -595,7 +597,7 @@ xftfont_text_extents (struct font *font, unsigned int *code, int nglyphs, struct
595} 597}
596 598
597static XftDraw * 599static XftDraw *
598xftfont_get_xft_draw (FRAME_PTR f) 600xftfont_get_xft_draw (struct frame *f)
599{ 601{
600 XftDraw *xft_draw = font_get_frame_data (f, &xftfont_driver); 602 XftDraw *xft_draw = font_get_frame_data (f, &xftfont_driver);
601 603
@@ -617,7 +619,7 @@ static int
617xftfont_draw (struct glyph_string *s, int from, int to, int x, int y, 619xftfont_draw (struct glyph_string *s, int from, int to, int x, int y,
618 bool with_background) 620 bool with_background)
619{ 621{
620 FRAME_PTR f = s->f; 622 struct frame *f = s->f;
621 struct face *face = s->face; 623 struct face *face = s->face;
622 struct xftfont_info *xftfont_info = (struct xftfont_info *) s->font; 624 struct xftfont_info *xftfont_info = (struct xftfont_info *) s->font;
623 struct xftface_info *xftface_info = NULL; 625 struct xftface_info *xftface_info = NULL;
@@ -677,7 +679,7 @@ xftfont_shape (Lisp_Object lgstring)
677#endif 679#endif
678 680
679static int 681static int
680xftfont_end_for_frame (FRAME_PTR f) 682xftfont_end_for_frame (struct frame *f)
681{ 683{
682 XftDraw *xft_draw; 684 XftDraw *xft_draw;
683 685
diff --git a/src/xmenu.c b/src/xmenu.c
index 66365a73fd0..cad892444ff 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -111,7 +111,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
111static Lisp_Object Qdebug_on_next_call; 111static Lisp_Object Qdebug_on_next_call;
112 112
113#if defined (USE_X_TOOLKIT) || defined (USE_GTK) 113#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
114static Lisp_Object xdialog_show (FRAME_PTR, bool, Lisp_Object, Lisp_Object, 114static Lisp_Object xdialog_show (struct frame *, bool, Lisp_Object, Lisp_Object,
115 const char **); 115 const char **);
116#endif 116#endif
117 117
@@ -130,7 +130,7 @@ static struct frame *
130menubar_id_to_frame (LWLIB_ID id) 130menubar_id_to_frame (LWLIB_ID id)
131{ 131{
132 Lisp_Object tail, frame; 132 Lisp_Object tail, frame;
133 FRAME_PTR f; 133 struct frame *f;
134 134
135 FOR_EACH_FRAME (tail, frame) 135 FOR_EACH_FRAME (tail, frame)
136 { 136 {
@@ -154,7 +154,7 @@ menubar_id_to_frame (LWLIB_ID id)
154 the scroll bar or the edit window. Fx_popup_menu needs to be 154 the scroll bar or the edit window. Fx_popup_menu needs to be
155 sure it is the edit window. */ 155 sure it is the edit window. */
156void 156void
157mouse_position_for_popup (FRAME_PTR f, int *x, int *y) 157mouse_position_for_popup (struct frame *f, int *x, int *y)
158{ 158{
159 Window root, dummy_window; 159 Window root, dummy_window;
160 int dummy; 160 int dummy;
@@ -219,7 +219,7 @@ for instance using the window manager, then this produces a quit and
219`x-popup-dialog' does not return. */) 219`x-popup-dialog' does not return. */)
220 (Lisp_Object position, Lisp_Object contents, Lisp_Object header) 220 (Lisp_Object position, Lisp_Object contents, Lisp_Object header)
221{ 221{
222 FRAME_PTR f = NULL; 222 struct frame *f = NULL;
223 Lisp_Object window; 223 Lisp_Object window;
224 224
225 /* Decode the first argument: find the window or frame to use. */ 225 /* Decode the first argument: find the window or frame to use. */
@@ -229,7 +229,7 @@ for instance using the window manager, then this produces a quit and
229 { 229 {
230#if 0 /* Using the frame the mouse is on may not be right. */ 230#if 0 /* Using the frame the mouse is on may not be right. */
231 /* Use the mouse's current position. */ 231 /* Use the mouse's current position. */
232 FRAME_PTR new_f = SELECTED_FRAME (); 232 struct frame *new_f = SELECTED_FRAME ();
233 Lisp_Object bar_window; 233 Lisp_Object bar_window;
234 enum scroll_bar_part part; 234 enum scroll_bar_part part;
235 Time time; 235 Time time;
@@ -481,7 +481,7 @@ If FRAME is nil or not given, use the selected frame. */)
481 (Lisp_Object frame) 481 (Lisp_Object frame)
482{ 482{
483 XEvent ev; 483 XEvent ev;
484 FRAME_PTR f = decode_window_system_frame (frame); 484 struct frame *f = decode_window_system_frame (frame);
485 Widget menubar; 485 Widget menubar;
486 block_input (); 486 block_input ();
487 487
@@ -559,10 +559,7 @@ If FRAME is nil or not given, use the selected frame. */)
559 (Lisp_Object frame) 559 (Lisp_Object frame)
560{ 560{
561 GtkWidget *menubar; 561 GtkWidget *menubar;
562 FRAME_PTR f; 562 struct frame *f;
563
564 /* gcc 2.95 doesn't accept the FRAME_PTR declaration after
565 block_input (). */
566 563
567 block_input (); 564 block_input ();
568 f = decode_window_system_frame (frame); 565 f = decode_window_system_frame (frame);
@@ -620,7 +617,7 @@ popup_widget_loop (int do_timers, GtkWidget *widget)
620 execute Lisp code. */ 617 execute Lisp code. */
621 618
622void 619void
623x_activate_menubar (FRAME_PTR f) 620x_activate_menubar (struct frame *f)
624{ 621{
625 eassert (FRAME_X_P (f)); 622 eassert (FRAME_X_P (f));
626 623
@@ -682,7 +679,7 @@ popup_deactivate_callback (
682 for that widget. 679 for that widget.
683 F is the frame if known, or NULL if not known. */ 680 F is the frame if known, or NULL if not known. */
684static void 681static void
685show_help_event (FRAME_PTR f, xt_or_gtk_widget widget, Lisp_Object help) 682show_help_event (struct frame *f, xt_or_gtk_widget widget, Lisp_Object help)
686{ 683{
687 Lisp_Object frame; 684 Lisp_Object frame;
688 685
@@ -815,7 +812,7 @@ menubar_selection_callback (GtkWidget *widget, gpointer client_data)
815static void 812static void
816menubar_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data) 813menubar_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
817{ 814{
818 FRAME_PTR f; 815 struct frame *f;
819 816
820 f = menubar_id_to_frame (id); 817 f = menubar_id_to_frame (id);
821 if (!f) 818 if (!f)
@@ -829,7 +826,7 @@ menubar_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
829 changed. */ 826 changed. */
830 827
831static void 828static void
832update_frame_menubar (FRAME_PTR f) 829update_frame_menubar (struct frame *f)
833{ 830{
834#ifdef USE_GTK 831#ifdef USE_GTK
835 xg_update_frame_menubar (f); 832 xg_update_frame_menubar (f);
@@ -911,7 +908,7 @@ apply_systemfont_to_menu (struct frame *f, Widget w)
911 it is set the first time this is called, from initialize_frame_menubar. */ 908 it is set the first time this is called, from initialize_frame_menubar. */
912 909
913void 910void
914set_frame_menubar (FRAME_PTR f, bool first_time, bool deep_p) 911set_frame_menubar (struct frame *f, bool first_time, bool deep_p)
915{ 912{
916 xt_or_gtk_widget menubar_widget; 913 xt_or_gtk_widget menubar_widget;
917#ifdef USE_X_TOOLKIT 914#ifdef USE_X_TOOLKIT
@@ -1263,7 +1260,7 @@ set_frame_menubar (FRAME_PTR f, bool first_time, bool deep_p)
1263 is visible. */ 1260 is visible. */
1264 1261
1265void 1262void
1266initialize_frame_menubar (FRAME_PTR f) 1263initialize_frame_menubar (struct frame *f)
1267{ 1264{
1268 /* This function is called before the first chance to redisplay 1265 /* This function is called before the first chance to redisplay
1269 the frame. It has to be, so the frame will have the right size. */ 1266 the frame. It has to be, so the frame will have the right size. */
@@ -1278,7 +1275,7 @@ initialize_frame_menubar (FRAME_PTR f)
1278 1275
1279#ifndef USE_GTK 1276#ifndef USE_GTK
1280void 1277void
1281free_frame_menubar (FRAME_PTR f) 1278free_frame_menubar (struct frame *f)
1282{ 1279{
1283 Widget menubar_widget; 1280 Widget menubar_widget;
1284 1281
@@ -1355,7 +1352,7 @@ static Lisp_Object *volatile menu_item_selection;
1355 create_and_show_popup_menu below. */ 1352 create_and_show_popup_menu below. */
1356struct next_popup_x_y 1353struct next_popup_x_y
1357{ 1354{
1358 FRAME_PTR f; 1355 struct frame *f;
1359 int x; 1356 int x;
1360 int y; 1357 int y;
1361}; 1358};
@@ -1413,7 +1410,7 @@ pop_down_menu (void *arg)
1413 menu pops down. 1410 menu pops down.
1414 menu_item_selection will be set to the selection. */ 1411 menu_item_selection will be set to the selection. */
1415static void 1412static void
1416create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv, int x, int y, 1413create_and_show_popup_menu (struct frame *f, widget_value *first_wv, int x, int y,
1417 bool for_click, Time timestamp) 1414 bool for_click, Time timestamp)
1418{ 1415{
1419 int i; 1416 int i;
@@ -1522,7 +1519,7 @@ pop_down_menu (Lisp_Object arg)
1522 menu pops down. 1519 menu pops down.
1523 menu_item_selection will be set to the selection. */ 1520 menu_item_selection will be set to the selection. */
1524static void 1521static void
1525create_and_show_popup_menu (FRAME_PTR f, widget_value *first_wv, 1522create_and_show_popup_menu (struct frame *f, widget_value *first_wv,
1526 int x, int y, bool for_click, Time timestamp) 1523 int x, int y, bool for_click, Time timestamp)
1527{ 1524{
1528 int i; 1525 int i;
@@ -1601,7 +1598,7 @@ cleanup_widget_value_tree (void *arg)
1601} 1598}
1602 1599
1603Lisp_Object 1600Lisp_Object
1604xmenu_show (FRAME_PTR f, int x, int y, bool for_click, bool keymaps, 1601xmenu_show (struct frame *f, int x, int y, bool for_click, bool keymaps,
1605 Lisp_Object title, const char **error_name, Time timestamp) 1602 Lisp_Object title, const char **error_name, Time timestamp)
1606{ 1603{
1607 int i; 1604 int i;
@@ -1894,7 +1891,7 @@ dialog_selection_callback (GtkWidget *widget, gpointer client_data)
1894 dialog pops down. 1891 dialog pops down.
1895 menu_item_selection will be set to the selection. */ 1892 menu_item_selection will be set to the selection. */
1896static void 1893static void
1897create_and_show_dialog (FRAME_PTR f, widget_value *first_wv) 1894create_and_show_dialog (struct frame *f, widget_value *first_wv)
1898{ 1895{
1899 GtkWidget *menu; 1896 GtkWidget *menu;
1900 1897
@@ -1940,7 +1937,7 @@ dialog_selection_callback (Widget widget, LWLIB_ID id, XtPointer client_data)
1940 dialog pops down. 1937 dialog pops down.
1941 menu_item_selection will be set to the selection. */ 1938 menu_item_selection will be set to the selection. */
1942static void 1939static void
1943create_and_show_dialog (FRAME_PTR f, widget_value *first_wv) 1940create_and_show_dialog (struct frame *f, widget_value *first_wv)
1944{ 1941{
1945 LWLIB_ID dialog_id; 1942 LWLIB_ID dialog_id;
1946 1943
@@ -1984,7 +1981,7 @@ static const char * button_names [] = {
1984 "button6", "button7", "button8", "button9", "button10" }; 1981 "button6", "button7", "button8", "button9", "button10" };
1985 1982
1986static Lisp_Object 1983static Lisp_Object
1987xdialog_show (FRAME_PTR f, 1984xdialog_show (struct frame *f,
1988 bool keymaps, 1985 bool keymaps,
1989 Lisp_Object title, 1986 Lisp_Object title,
1990 Lisp_Object header, 1987 Lisp_Object header,
@@ -2214,7 +2211,7 @@ menu_help_callback (char const *help_string, int pane, int item)
2214static void 2211static void
2215pop_down_menu (Lisp_Object arg) 2212pop_down_menu (Lisp_Object arg)
2216{ 2213{
2217 FRAME_PTR f = XSAVE_POINTER (arg, 0); 2214 struct frame *f = XSAVE_POINTER (arg, 0);
2218 XMenu *menu = XSAVE_POINTER (arg, 1); 2215 XMenu *menu = XSAVE_POINTER (arg, 1);
2219 2216
2220 block_input (); 2217 block_input ();
@@ -2242,7 +2239,7 @@ pop_down_menu (Lisp_Object arg)
2242 2239
2243 2240
2244Lisp_Object 2241Lisp_Object
2245xmenu_show (FRAME_PTR f, int x, int y, bool for_click, bool keymaps, 2242xmenu_show (struct frame *f, int x, int y, bool for_click, bool keymaps,
2246 Lisp_Object title, const char **error_name, Time timestamp) 2243 Lisp_Object title, const char **error_name, Time timestamp)
2247{ 2244{
2248 Window root; 2245 Window root;
diff --git a/src/xselect.c b/src/xselect.c
index d9f7d9c29c7..3a16d7d3496 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -993,7 +993,7 @@ x_handle_selection_event (struct input_event *event)
993 We do this when about to delete a frame. */ 993 We do this when about to delete a frame. */
994 994
995void 995void
996x_clear_frame_selections (FRAME_PTR f) 996x_clear_frame_selections (struct frame *f)
997{ 997{
998 Lisp_Object frame; 998 Lisp_Object frame;
999 Lisp_Object rest; 999 Lisp_Object rest;
@@ -2377,7 +2377,7 @@ x_property_data_to_lisp (struct frame *f, const unsigned char *data,
2377/* Get the mouse position in frame relative coordinates. */ 2377/* Get the mouse position in frame relative coordinates. */
2378 2378
2379static void 2379static void
2380mouse_position_for_drop (FRAME_PTR f, int *x, int *y) 2380mouse_position_for_drop (struct frame *f, int *x, int *y)
2381{ 2381{
2382 Window root, dummy_window; 2382 Window root, dummy_window;
2383 int dummy; 2383 int dummy;
diff --git a/src/xterm.c b/src/xterm.c
index 9f296d9a82e..a486242b8c3 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -212,7 +212,7 @@ static unsigned long ignore_next_mouse_click_timeout;
212/* Where the mouse was last time we reported a mouse event. */ 212/* Where the mouse was last time we reported a mouse event. */
213 213
214static XRectangle last_mouse_glyph; 214static XRectangle last_mouse_glyph;
215static FRAME_PTR last_mouse_glyph_frame; 215static struct frame *last_mouse_glyph_frame;
216 216
217/* The scroll bar in which the last X motion event occurred. 217/* The scroll bar in which the last X motion event occurred.
218 218
@@ -3188,7 +3188,7 @@ XTflash (struct frame *f)
3188 3188
3189 3189
3190static void 3190static void
3191XTtoggle_invisible_pointer (FRAME_PTR f, int invisible) 3191XTtoggle_invisible_pointer (struct frame *f, int invisible)
3192{ 3192{
3193 block_input (); 3193 block_input ();
3194 if (invisible) 3194 if (invisible)
@@ -3797,7 +3797,7 @@ static XMotionEvent last_mouse_motion_event;
3797static Lisp_Object last_mouse_motion_frame; 3797static Lisp_Object last_mouse_motion_frame;
3798 3798
3799static int 3799static int
3800note_mouse_movement (FRAME_PTR frame, XMotionEvent *event) 3800note_mouse_movement (struct frame *frame, XMotionEvent *event)
3801{ 3801{
3802 last_mouse_movement_time = event->time; 3802 last_mouse_movement_time = event->time;
3803 last_mouse_motion_event = *event; 3803 last_mouse_motion_event = *event;
@@ -3873,11 +3873,11 @@ redo_mouse_highlight (void)
3873 movement. */ 3873 movement. */
3874 3874
3875static void 3875static void
3876XTmouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, 3876XTmouse_position (struct frame **fp, int insist, Lisp_Object *bar_window,
3877 enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y, 3877 enum scroll_bar_part *part, Lisp_Object *x, Lisp_Object *y,
3878 Time *timestamp) 3878 Time *timestamp)
3879{ 3879{
3880 FRAME_PTR f1; 3880 struct frame *f1;
3881 3881
3882 block_input (); 3882 block_input ();
3883 3883
@@ -4416,7 +4416,8 @@ xg_scroll_callback (GtkRange *range,
4416 gdouble position; 4416 gdouble position;
4417 int part = -1, whole = 0, portion = 0; 4417 int part = -1, whole = 0, portion = 0;
4418 GtkAdjustment *adj = GTK_ADJUSTMENT (gtk_range_get_adjustment (range)); 4418 GtkAdjustment *adj = GTK_ADJUSTMENT (gtk_range_get_adjustment (range));
4419 FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (range), XG_FRAME_DATA); 4419 struct frame *f = (struct frame *) g_object_get_data (G_OBJECT (range),
4420 XG_FRAME_DATA);
4420 4421
4421 if (xg_ignore_gtk_scrollbar) return FALSE; 4422 if (xg_ignore_gtk_scrollbar) return FALSE;
4422 position = gtk_adjustment_get_value (adj); 4423 position = gtk_adjustment_get_value (adj);
@@ -5033,7 +5034,7 @@ x_scroll_bar_set_handle (struct scroll_bar *bar, int start, int end, int rebuild
5033{ 5034{
5034 int dragging = ! NILP (bar->dragging); 5035 int dragging = ! NILP (bar->dragging);
5035 Window w = bar->x_window; 5036 Window w = bar->x_window;
5036 FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); 5037 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
5037 GC gc = f->output_data.x->normal_gc; 5038 GC gc = f->output_data.x->normal_gc;
5038 5039
5039 /* If the display is already accurate, do nothing. */ 5040 /* If the display is already accurate, do nothing. */
@@ -5374,7 +5375,7 @@ XTset_vertical_scroll_bar (struct window *w, int portion, int whole, int positio
5374 `*redeem_scroll_bar_hook' is applied to its window before the judgment. */ 5375 `*redeem_scroll_bar_hook' is applied to its window before the judgment. */
5375 5376
5376static void 5377static void
5377XTcondemn_scroll_bars (FRAME_PTR frame) 5378XTcondemn_scroll_bars (struct frame *frame)
5378{ 5379{
5379 /* Transfer all the scroll bars to FRAME_CONDEMNED_SCROLL_BARS. */ 5380 /* Transfer all the scroll bars to FRAME_CONDEMNED_SCROLL_BARS. */
5380 while (! NILP (FRAME_SCROLL_BARS (frame))) 5381 while (! NILP (FRAME_SCROLL_BARS (frame)))
@@ -5442,7 +5443,7 @@ XTredeem_scroll_bar (struct window *window)
5442 last call to `*condemn_scroll_bars_hook'. */ 5443 last call to `*condemn_scroll_bars_hook'. */
5443 5444
5444static void 5445static void
5445XTjudge_scroll_bars (FRAME_PTR f) 5446XTjudge_scroll_bars (struct frame *f)
5446{ 5447{
5447 Lisp_Object bar, next; 5448 Lisp_Object bar, next;
5448 5449
@@ -5478,7 +5479,7 @@ static void
5478x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event) 5479x_scroll_bar_expose (struct scroll_bar *bar, XEvent *event)
5479{ 5480{
5480 Window w = bar->x_window; 5481 Window w = bar->x_window;
5481 FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); 5482 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
5482 GC gc = f->output_data.x->normal_gc; 5483 GC gc = f->output_data.x->normal_gc;
5483 int width_trim = VERTICAL_SCROLL_BAR_WIDTH_TRIM; 5484 int width_trim = VERTICAL_SCROLL_BAR_WIDTH_TRIM;
5484 5485
@@ -5577,7 +5578,7 @@ x_scroll_bar_handle_click (struct scroll_bar *bar, XEvent *event, struct input_e
5577static void 5578static void
5578x_scroll_bar_note_movement (struct scroll_bar *bar, XEvent *event) 5579x_scroll_bar_note_movement (struct scroll_bar *bar, XEvent *event)
5579{ 5580{
5580 FRAME_PTR f = XFRAME (XWINDOW (bar->window)->frame); 5581 struct frame *f = XFRAME (XWINDOW (bar->window)->frame);
5581 5582
5582 last_mouse_movement_time = event->xmotion.time; 5583 last_mouse_movement_time = event->xmotion.time;
5583 5584
@@ -5605,13 +5606,13 @@ x_scroll_bar_note_movement (struct scroll_bar *bar, XEvent *event)
5605 on the scroll bar. */ 5606 on the scroll bar. */
5606 5607
5607static void 5608static void
5608x_scroll_bar_report_motion (FRAME_PTR *fp, Lisp_Object *bar_window, 5609x_scroll_bar_report_motion (struct frame **fp, Lisp_Object *bar_window,
5609 enum scroll_bar_part *part, Lisp_Object *x, 5610 enum scroll_bar_part *part, Lisp_Object *x,
5610 Lisp_Object *y, Time *timestamp) 5611 Lisp_Object *y, Time *timestamp)
5611{ 5612{
5612 struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar); 5613 struct scroll_bar *bar = XSCROLL_BAR (last_mouse_scroll_bar);
5613 Window w = bar->x_window; 5614 Window w = bar->x_window;
5614 FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window))); 5615 struct frame *f = XFRAME (WINDOW_FRAME (XWINDOW (bar->window)));
5615 int win_x, win_y; 5616 int win_x, win_y;
5616 Window dummy_window; 5617 Window dummy_window;
5617 int dummy_coord; 5618 int dummy_coord;
@@ -5679,7 +5680,7 @@ x_scroll_bar_report_motion (FRAME_PTR *fp, Lisp_Object *bar_window,
5679 redraw them. */ 5680 redraw them. */
5680 5681
5681static void 5682static void
5682x_scroll_bar_clear (FRAME_PTR f) 5683x_scroll_bar_clear (struct frame *f)
5683{ 5684{
5684#ifndef USE_TOOLKIT_SCROLL_BARS 5685#ifndef USE_TOOLKIT_SCROLL_BARS
5685 Lisp_Object bar; 5686 Lisp_Object bar;
@@ -8524,7 +8525,7 @@ do_ewmh_fullscreen (struct frame *f)
8524} 8525}
8525 8526
8526static void 8527static void
8527XTfullscreen_hook (FRAME_PTR f) 8528XTfullscreen_hook (struct frame *f)
8528{ 8529{
8529 if (FRAME_VISIBLE_P (f)) 8530 if (FRAME_VISIBLE_P (f))
8530 { 8531 {
@@ -8925,7 +8926,7 @@ x_lower_frame (struct frame *f)
8925/* Request focus with XEmbed */ 8926/* Request focus with XEmbed */
8926 8927
8927void 8928void
8928xembed_request_focus (FRAME_PTR f) 8929xembed_request_focus (struct frame *f)
8929{ 8930{
8930 /* See XEmbed Protocol Specification at 8931 /* See XEmbed Protocol Specification at
8931 http://freedesktop.org/wiki/Specifications/xembed-spec */ 8932 http://freedesktop.org/wiki/Specifications/xembed-spec */
@@ -8937,7 +8938,7 @@ xembed_request_focus (FRAME_PTR f)
8937/* Activate frame with Extended Window Manager Hints */ 8938/* Activate frame with Extended Window Manager Hints */
8938 8939
8939void 8940void
8940x_ewmh_activate_frame (FRAME_PTR f) 8941x_ewmh_activate_frame (struct frame *f)
8941{ 8942{
8942 /* See Window Manager Specification/Extended Window Manager Hints at 8943 /* See Window Manager Specification/Extended Window Manager Hints at
8943 http://freedesktop.org/wiki/Specifications/wm-spec */ 8944 http://freedesktop.org/wiki/Specifications/wm-spec */
@@ -8955,7 +8956,7 @@ x_ewmh_activate_frame (FRAME_PTR f)
8955} 8956}
8956 8957
8957static void 8958static void
8958XTframe_raise_lower (FRAME_PTR f, int raise_flag) 8959XTframe_raise_lower (struct frame *f, int raise_flag)
8959{ 8960{
8960 if (raise_flag) 8961 if (raise_flag)
8961 x_raise_frame (f); 8962 x_raise_frame (f);