struct device *d = XDEVICE (f->device);
struct window* w = XWINDOW (window);
int x, y, width, height, ypos;
- int line;
- int border_width = FRAME_GUTTER_BORDER_WIDTH (f, pos);
- face_index findex = get_builtin_face_cache_index (w, Vgui_element_face);
+ int line, border_width;
+ face_index findex;
display_line_dynarr* ddla, *cdla;
struct display_line *dl;
int cdla_len;
+ if (!WINDOW_LIVE_P (w))
+ return;
+
+ border_width = FRAME_GUTTER_BORDER_WIDTH (f, pos);
+ findex = get_builtin_face_cache_index (w, Vgui_element_face);
+
if (!f->current_display_lines)
f->current_display_lines = Dynarr_new (display_line);
if (!f->desired_display_lines)
automatically knew about specifier fallbacks, so we didn't
have to do it ourselves. */
set_specifier_caching (Vdefault_gutter,
- slot_offset (struct window,
- default_gutter),
+ offsetof (struct window, default_gutter),
default_gutter_specs_changed,
0, 0);
*/ );
Vgutter[TOP_GUTTER] = Fmake_specifier (Qgutter);
set_specifier_caching (Vgutter[TOP_GUTTER],
- slot_offset (struct window,
- gutter[TOP_GUTTER]),
+ offsetof (struct window, gutter[TOP_GUTTER]),
gutter_specs_changed,
0, 0);
*/ );
Vgutter[BOTTOM_GUTTER] = Fmake_specifier (Qgutter);
set_specifier_caching (Vgutter[BOTTOM_GUTTER],
- slot_offset (struct window,
- gutter[BOTTOM_GUTTER]),
+ offsetof (struct window, gutter[BOTTOM_GUTTER]),
gutter_specs_changed,
0, 0);
*/ );
Vgutter[LEFT_GUTTER] = Fmake_specifier (Qgutter);
set_specifier_caching (Vgutter[LEFT_GUTTER],
- slot_offset (struct window,
- gutter[LEFT_GUTTER]),
+ offsetof (struct window, gutter[LEFT_GUTTER]),
gutter_specs_changed,
0, 0);
*/ );
Vgutter[RIGHT_GUTTER] = Fmake_specifier (Qgutter);
set_specifier_caching (Vgutter[RIGHT_GUTTER],
- slot_offset (struct window,
- gutter[RIGHT_GUTTER]),
+ offsetof (struct window, gutter[RIGHT_GUTTER]),
gutter_specs_changed,
0, 0);
*/ );
Vdefault_gutter_height = Fmake_specifier (Qgutter_size);
set_specifier_caching (Vdefault_gutter_height,
- slot_offset (struct window,
- default_gutter_height),
+ offsetof (struct window, default_gutter_height),
default_gutter_size_changed_in_window,
0, 0);
*/ );
Vdefault_gutter_width = Fmake_specifier (Qnatnum);
set_specifier_caching (Vdefault_gutter_width,
- slot_offset (struct window,
- default_gutter_width),
+ offsetof (struct window, default_gutter_width),
default_gutter_size_changed_in_window,
0, 0);
*/ );
Vgutter_size[TOP_GUTTER] = Fmake_specifier (Qgutter_size);
set_specifier_caching (Vgutter_size[TOP_GUTTER],
- slot_offset (struct window,
- gutter_size[TOP_GUTTER]),
+ offsetof (struct window, gutter_size[TOP_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_size[BOTTOM_GUTTER] = Fmake_specifier (Qgutter_size);
set_specifier_caching (Vgutter_size[BOTTOM_GUTTER],
- slot_offset (struct window,
- gutter_size[BOTTOM_GUTTER]),
+ offsetof (struct window, gutter_size[BOTTOM_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_size[LEFT_GUTTER] = Fmake_specifier (Qnatnum);
set_specifier_caching (Vgutter_size[LEFT_GUTTER],
- slot_offset (struct window,
- gutter_size[LEFT_GUTTER]),
+ offsetof (struct window, gutter_size[LEFT_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_size[RIGHT_GUTTER] = Fmake_specifier (Qnatnum);
set_specifier_caching (Vgutter_size[RIGHT_GUTTER],
- slot_offset (struct window,
- gutter_size[RIGHT_GUTTER]),
+ offsetof (struct window, gutter_size[RIGHT_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
fb = Fcons (Fcons (list1 (Qx), Qautodetect), fb);
#endif
#ifdef HAVE_MS_WINDOWS
+ fb = Fcons (Fcons (list1 (Qmsprinter), Qautodetect), fb);
fb = Fcons (Fcons (list1 (Qmswindows), Qautodetect), fb);
#endif
if (!NILP (fb))
fb = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_GUTTER_WIDTH)), fb);
#endif
#ifdef HAVE_MS_WINDOWS
+ fb = Fcons (Fcons (list1 (Qmsprinter), Qzero), fb);
fb = Fcons (Fcons (list1 (Qmswindows),
make_int (DEFAULT_GUTTER_WIDTH)), fb);
#endif
*/ );
Vdefault_gutter_border_width = Fmake_specifier (Qnatnum);
set_specifier_caching (Vdefault_gutter_border_width,
- slot_offset (struct window,
- default_gutter_border_width),
+ offsetof (struct window, default_gutter_border_width),
default_gutter_border_width_changed_in_window,
0, 0);
*/ );
Vgutter_border_width[TOP_GUTTER] = Fmake_specifier (Qnatnum);
set_specifier_caching (Vgutter_border_width[TOP_GUTTER],
- slot_offset (struct window,
- gutter_border_width[TOP_GUTTER]),
+ offsetof (struct window,
+ gutter_border_width[TOP_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_border_width[BOTTOM_GUTTER] = Fmake_specifier (Qnatnum);
set_specifier_caching (Vgutter_border_width[BOTTOM_GUTTER],
- slot_offset (struct window,
- gutter_border_width[BOTTOM_GUTTER]),
+ offsetof (struct window,
+ gutter_border_width[BOTTOM_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_border_width[LEFT_GUTTER] = Fmake_specifier (Qnatnum);
set_specifier_caching (Vgutter_border_width[LEFT_GUTTER],
- slot_offset (struct window,
- gutter_border_width[LEFT_GUTTER]),
+ offsetof (struct window,
+ gutter_border_width[LEFT_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_border_width[RIGHT_GUTTER] = Fmake_specifier (Qnatnum);
set_specifier_caching (Vgutter_border_width[RIGHT_GUTTER],
- slot_offset (struct window,
- gutter_border_width[RIGHT_GUTTER]),
+ offsetof (struct window,
+ gutter_border_width[RIGHT_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
fb = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_GUTTER_BORDER_WIDTH)), fb);
#endif
#ifdef HAVE_MS_WINDOWS
+ fb = Fcons (Fcons (list1 (Qmsprinter), Qzero), fb);
fb = Fcons (Fcons (list1 (Qmswindows), make_int (DEFAULT_GUTTER_BORDER_WIDTH)), fb);
#endif
if (!NILP (fb))
*/ );
Vdefault_gutter_visible_p = Fmake_specifier (Qboolean);
set_specifier_caching (Vdefault_gutter_visible_p,
- slot_offset (struct window,
- default_gutter_visible_p),
+ offsetof (struct window,
+ default_gutter_visible_p),
default_gutter_visible_p_changed_in_window,
0, 0);
*/ );
Vgutter_visible_p[TOP_GUTTER] = Fmake_specifier (Qboolean);
set_specifier_caching (Vgutter_visible_p[TOP_GUTTER],
- slot_offset (struct window,
- gutter_visible_p[TOP_GUTTER]),
+ offsetof (struct window,
+ gutter_visible_p[TOP_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_visible_p[BOTTOM_GUTTER] = Fmake_specifier (Qboolean);
set_specifier_caching (Vgutter_visible_p[BOTTOM_GUTTER],
- slot_offset (struct window,
- gutter_visible_p[BOTTOM_GUTTER]),
+ offsetof (struct window,
+ gutter_visible_p[BOTTOM_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_visible_p[LEFT_GUTTER] = Fmake_specifier (Qboolean);
set_specifier_caching (Vgutter_visible_p[LEFT_GUTTER],
- slot_offset (struct window,
- gutter_visible_p[LEFT_GUTTER]),
+ offsetof (struct window,
+ gutter_visible_p[LEFT_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
*/ );
Vgutter_visible_p[RIGHT_GUTTER] = Fmake_specifier (Qboolean);
set_specifier_caching (Vgutter_visible_p[RIGHT_GUTTER],
- slot_offset (struct window,
- gutter_visible_p[RIGHT_GUTTER]),
+ offsetof (struct window,
+ gutter_visible_p[RIGHT_GUTTER]),
gutter_geometry_changed_in_window,
0, 0);
set_specifier_fallback (Vgutter_visible_p[BOTTOM_GUTTER], fb);
set_specifier_fallback (Vgutter_visible_p[LEFT_GUTTER], fb);
set_specifier_fallback (Vgutter_visible_p[RIGHT_GUTTER], fb);
-
}