Commit 6799bb26 authored by Jan Djärv's avatar Jan Djärv

Factor out common code for multimonitors, for Gtk+, non-Gtk+ X11 and NS.

* frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New
Lisp_Object:s.
(free_monitors, make_monitor_attribute_list): New functions.
(syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
Qsource.

* frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
(struct MonitorInfo): New struct.
(free_monitors, make_monitor_attribute_list): Declare.

* nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
(struct MonitorInfo, free_monitors): Remove.
(ns_screen_name): Make static.
(ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
(syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
Qframes, Qsource.

* xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
(struct MonitorInfo, free_monitors): Remove.
(x_make_monitor_attribute_list): Call make_monitor_attribute_list.
(Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
(syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
Qframes, Qsource.
parent c80de456
2013-05-25 Jan Djärv <jan.h.d@swipnet.se>
* xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
(struct MonitorInfo, free_monitors): Remove.
(x_make_monitor_attribute_list): Call make_monitor_attribute_list.
(Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
(syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
Qframes, Qsource.
* nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
(struct MonitorInfo, free_monitors): Remove.
(ns_screen_name): Make static.
(ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
(syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
Qframes, Qsource.
* frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
(struct MonitorInfo): New struct.
(free_monitors, make_monitor_attribute_list): Declare.
* frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New
Lisp_Object:s.
(free_monitors, make_monitor_attribute_list): New functions.
(syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
Qsource.
2013-05-25 Xue Fuqiao <xfq.free@gmail.com> 2013-05-25 Xue Fuqiao <xfq.free@gmail.com>
* callproc.c (call_process): Refine the doc string. (Bug#14045) * callproc.c (call_process): Refine the doc string. (Bug#14045)
......
...@@ -76,7 +76,6 @@ Lisp_Object Qterminal_live_p; ...@@ -76,7 +76,6 @@ Lisp_Object Qterminal_live_p;
Lisp_Object Qauto_raise, Qauto_lower; Lisp_Object Qauto_raise, Qauto_lower;
Lisp_Object Qborder_color, Qborder_width; Lisp_Object Qborder_color, Qborder_width;
Lisp_Object Qcursor_color, Qcursor_type; Lisp_Object Qcursor_color, Qcursor_type;
static Lisp_Object Qgeometry; /* Not used */
Lisp_Object Qheight, Qwidth; Lisp_Object Qheight, Qwidth;
Lisp_Object Qleft, Qright; Lisp_Object Qleft, Qright;
Lisp_Object Qicon_left, Qicon_top, Qicon_type, Qicon_name; Lisp_Object Qicon_left, Qicon_top, Qicon_type, Qicon_name;
...@@ -115,6 +114,8 @@ Lisp_Object Qface_set_after_frame_default; ...@@ -115,6 +114,8 @@ Lisp_Object Qface_set_after_frame_default;
static Lisp_Object Qdelete_frame_functions; static Lisp_Object Qdelete_frame_functions;
Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource;
#ifdef HAVE_WINDOW_SYSTEM #ifdef HAVE_WINDOW_SYSTEM
static void x_report_frame_params (struct frame *, Lisp_Object *); static void x_report_frame_params (struct frame *, Lisp_Object *);
#endif #endif
...@@ -4129,6 +4130,73 @@ selected frame. This is useful when `make-pointer-invisible' is set. */) ...@@ -4129,6 +4130,73 @@ selected frame. This is useful when `make-pointer-invisible' is set. */)
return decode_any_frame (frame)->pointer_invisible ? Qnil : Qt; return decode_any_frame (frame)->pointer_invisible ? Qnil : Qt;
} }
/***********************************************************************
Multimonitor data
***********************************************************************/
#ifdef HAVE_WINDOW_SYSTEM
void
free_monitors (struct MonitorInfo *monitors, int n_monitors)
{
int i;
for (i = 0; i < n_monitors; ++i)
xfree (monitors[i].name);
xfree (monitors);
}
Lisp_Object
make_monitor_attribute_list (struct MonitorInfo *monitors,
int n_monitors,
int primary_monitor,
Lisp_Object monitor_frames,
const char *source)
{
Lisp_Object attributes_list = Qnil;
Lisp_Object primary_monitor_attributes = Qnil;
int i;
for (i = 0; i < n_monitors; ++i)
{
Lisp_Object geometry, workarea, attributes = Qnil;
struct MonitorInfo *mi = &monitors[i];
if (mi->geom.width == 0) continue;
workarea = list4i (mi->work.x, mi->work.y,
mi->work.width, mi->work.height);
geometry = list4i (mi->geom.x, mi->geom.y,
mi->geom.width, mi->geom.height);
attributes = Fcons (Fcons (Qsource,
make_string (source, strlen (source))),
attributes);
attributes = Fcons (Fcons (Qframes, AREF (monitor_frames, i)),
attributes);
attributes = Fcons (Fcons (Qmm_size,
list2i (mi->mm_width, mi->mm_height)),
attributes);
attributes = Fcons (Fcons (Qworkarea, workarea), attributes);
attributes = Fcons (Fcons (Qgeometry, geometry), attributes);
if (mi->name)
attributes = Fcons (Fcons (Qname, make_string (mi->name,
strlen (mi->name))),
attributes);
if (i == primary_monitor)
primary_monitor_attributes = attributes;
else
attributes_list = Fcons (attributes, attributes_list);
}
if (!NILP (primary_monitor_attributes))
attributes_list = Fcons (primary_monitor_attributes, attributes_list);
return attributes_list;
}
#endif /* HAVE_WINDOW_SYSTEM */
/*********************************************************************** /***********************************************************************
Initialization Initialization
...@@ -4187,6 +4255,12 @@ syms_of_frame (void) ...@@ -4187,6 +4255,12 @@ syms_of_frame (void)
DEFSYM (Qterminal, "terminal"); DEFSYM (Qterminal, "terminal");
DEFSYM (Qterminal_live_p, "terminal-live-p"); DEFSYM (Qterminal_live_p, "terminal-live-p");
DEFSYM (Qgeometry, "geometry");
DEFSYM (Qworkarea, "workarea");
DEFSYM (Qmm_size, "mm-size");
DEFSYM (Qframes, "frames");
DEFSYM (Qsource, "source");
#ifdef HAVE_NS #ifdef HAVE_NS
DEFSYM (Qns_parse_geometry, "ns-parse-geometry"); DEFSYM (Qns_parse_geometry, "ns-parse-geometry");
#endif #endif
......
...@@ -1198,6 +1198,8 @@ extern Lisp_Object Qdisplay; ...@@ -1198,6 +1198,8 @@ extern Lisp_Object Qdisplay;
extern Lisp_Object Qrun_hook_with_args; extern Lisp_Object Qrun_hook_with_args;
extern Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource;
#ifdef HAVE_WINDOW_SYSTEM #ifdef HAVE_WINDOW_SYSTEM
/* The class of this X application. */ /* The class of this X application. */
...@@ -1288,6 +1290,28 @@ extern void x_query_colors (struct frame *f, XColor *, int); ...@@ -1288,6 +1290,28 @@ extern void x_query_colors (struct frame *f, XColor *, int);
extern void x_query_color (struct frame *f, XColor *); extern void x_query_color (struct frame *f, XColor *);
#endif /* HAVE_WINDOW_SYSTEM */ #endif /* HAVE_WINDOW_SYSTEM */
/***********************************************************************
Multimonitor data
***********************************************************************/
#ifdef HAVE_WINDOW_SYSTEM
struct MonitorInfo {
XRectangle geom, work;
int mm_width, mm_height;
char *name;
};
extern void free_monitors (struct MonitorInfo *monitors, int n_monitors);
extern Lisp_Object make_monitor_attribute_list (struct MonitorInfo *monitors,
int n_monitors,
int primary_monitor,
Lisp_Object monitor_frames,
const char *source);
#endif /* HAVE_WINDOW_SYSTEM */
INLINE_HEADER_END INLINE_HEADER_END
......
...@@ -105,7 +105,6 @@ Updated by Christian Limpach (chris@nice.ch) ...@@ -105,7 +105,6 @@ Updated by Christian Limpach (chris@nice.ch)
static ptrdiff_t image_cache_refcount; static ptrdiff_t image_cache_refcount;
#endif #endif
static Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource;
/* ========================================================================== /* ==========================================================================
...@@ -2328,27 +2327,12 @@ and GNUstep implementations ("distributor-specific release ...@@ -2328,27 +2327,12 @@ and GNUstep implementations ("distributor-specific release
return make_number (x_display_pixel_height (dpyinfo)); return make_number (x_display_pixel_height (dpyinfo));
} }
struct MonitorInfo {
XRectangle geom, work;
int mm_width, mm_height;
char *name;
};
static void
free_monitors (struct MonitorInfo *monitors, int n_monitors)
{
int i;
for (i = 0; i < n_monitors; ++i)
xfree (monitors[i].name);
xfree (monitors);
}
#ifdef NS_IMPL_COCOA #ifdef NS_IMPL_COCOA
/* Returns the name for the screen that DICT came from, or NULL. /* Returns the name for the screen that DICT came from, or NULL.
Caller must free return value. Caller must free return value.
*/ */
char * static char *
ns_screen_name (CGDirectDisplayID did) ns_screen_name (CGDirectDisplayID did)
{ {
char *name = NULL; char *name = NULL;
...@@ -2377,8 +2361,7 @@ and GNUstep implementations ("distributor-specific release ...@@ -2377,8 +2361,7 @@ and GNUstep implementations ("distributor-specific release
const char *source) const char *source)
{ {
Lisp_Object monitor_frames = Fmake_vector (make_number (n_monitors), Qnil); Lisp_Object monitor_frames = Fmake_vector (make_number (n_monitors), Qnil);
Lisp_Object frame, rest, attributes_list = Qnil; Lisp_Object frame, rest;
Lisp_Object primary_monitor_attributes = Qnil;
NSArray *screens = [NSScreen screens]; NSArray *screens = [NSScreen screens];
int i; int i;
...@@ -2404,41 +2387,8 @@ and GNUstep implementations ("distributor-specific release ...@@ -2404,41 +2387,8 @@ and GNUstep implementations ("distributor-specific release
} }
} }
for (i = 0; i < n_monitors; ++i) return make_monitor_attribute_list (monitors, n_monitors, primary_monitor,
{ monitor_frames, source);
Lisp_Object geometry, workarea, attributes = Qnil;
struct MonitorInfo *mi = &monitors[i];
if (mi->geom.width == 0) continue;
workarea = list4i (mi->work.x, mi->work.y,
mi->work.width, mi->work.height);
geometry = list4i (mi->geom.x, mi->geom.y,
mi->geom.width, mi->geom.height);
attributes = Fcons (Fcons (Qsource,
make_string (source, strlen (source))),
attributes);
attributes = Fcons (Fcons (Qframes, AREF (monitor_frames, i)),
attributes);
attributes = Fcons (Fcons (Qmm_size,
list2i (mi->mm_width, mi->mm_height)),
attributes);
attributes = Fcons (Fcons (Qworkarea, workarea), attributes);
attributes = Fcons (Fcons (Qgeometry, geometry), attributes);
if (mi->name)
attributes = Fcons (Fcons (Qname, make_string (mi->name,
strlen (mi->name))),
attributes);
if (i == primary_monitor)
primary_monitor_attributes = attributes;
else
attributes_list = Fcons (attributes, attributes_list);
}
if (!NILP (primary_monitor_attributes))
attributes_list = Fcons (primary_monitor_attributes, attributes_list);
return attributes_list;
} }
DEFUN ("ns-display-monitor-attributes-list", DEFUN ("ns-display-monitor-attributes-list",
...@@ -2922,11 +2872,6 @@ - (NSString *)panel: (id)sender userEnteredFilename: (NSString *)filename ...@@ -2922,11 +2872,6 @@ - (NSString *)panel: (id)sender userEnteredFilename: (NSString *)filename
void void
syms_of_nsfns (void) syms_of_nsfns (void)
{ {
DEFSYM (Qgeometry, "geometry");
DEFSYM (Qworkarea, "workarea");
DEFSYM (Qmm_size, "mm-size");
DEFSYM (Qframes, "frames");
DEFSYM (Qsource, "source");
Qfontsize = intern_c_string ("fontsize"); Qfontsize = intern_c_string ("fontsize");
staticpro (&Qfontsize); staticpro (&Qfontsize);
......
...@@ -133,7 +133,6 @@ extern LWLIB_ID widget_id_tick; ...@@ -133,7 +133,6 @@ extern LWLIB_ID widget_id_tick;
static Lisp_Object Qsuppress_icon; static Lisp_Object Qsuppress_icon;
static Lisp_Object Qundefined_color; static Lisp_Object Qundefined_color;
static Lisp_Object Qcompound_text, Qcancel_timer; static Lisp_Object Qcompound_text, Qcancel_timer;
static Lisp_Object Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource;
Lisp_Object Qfont_param; Lisp_Object Qfont_param;
#ifdef GLYPH_DEBUG #ifdef GLYPH_DEBUG
...@@ -3882,24 +3881,6 @@ x_get_net_workarea (struct x_display_info *dpyinfo, XRectangle *rect) ...@@ -3882,24 +3881,6 @@ x_get_net_workarea (struct x_display_info *dpyinfo, XRectangle *rect)
#ifndef USE_GTK #ifndef USE_GTK
struct MonitorInfo {
XRectangle geom, work;
int mm_width, mm_height;
char *name;
};
#if defined HAVE_XINERAMA || defined HAVE_XRANDR
static void
free_monitors (struct MonitorInfo *monitors, int n_monitors)
{
int i;
for (i = 0; i < n_monitors; ++i)
xfree (monitors[i].name);
xfree (monitors);
}
#endif /* HAVE_XINERAMA || HAVE_XRANDR */
/* Return monitor number where F is "most" or closest to. */ /* Return monitor number where F is "most" or closest to. */
static int static int
x_get_monitor_for_frame (struct frame *f, x_get_monitor_for_frame (struct frame *f,
...@@ -3971,9 +3952,7 @@ x_make_monitor_attribute_list (struct MonitorInfo *monitors, ...@@ -3971,9 +3952,7 @@ x_make_monitor_attribute_list (struct MonitorInfo *monitors,
const char *source) const char *source)
{ {
Lisp_Object monitor_frames = Fmake_vector (make_number (n_monitors), Qnil); Lisp_Object monitor_frames = Fmake_vector (make_number (n_monitors), Qnil);
Lisp_Object frame, rest, attributes_list = Qnil; Lisp_Object frame, rest;
Lisp_Object primary_monitor_attributes = Qnil;
int i;
FOR_EACH_FRAME (rest, frame) FOR_EACH_FRAME (rest, frame)
{ {
...@@ -3982,46 +3961,13 @@ x_make_monitor_attribute_list (struct MonitorInfo *monitors, ...@@ -3982,46 +3961,13 @@ x_make_monitor_attribute_list (struct MonitorInfo *monitors,
if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo if (FRAME_X_P (f) && FRAME_X_DISPLAY_INFO (f) == dpyinfo
&& !EQ (frame, tip_frame)) && !EQ (frame, tip_frame))
{ {
i = x_get_monitor_for_frame (f, monitors, n_monitors); int i = x_get_monitor_for_frame (f, monitors, n_monitors);
ASET (monitor_frames, i, Fcons (frame, AREF (monitor_frames, i))); ASET (monitor_frames, i, Fcons (frame, AREF (monitor_frames, i)));
} }
} }
for (i = 0; i < n_monitors; ++i) return make_monitor_attribute_list (monitors, n_monitors, primary_monitor,
{ monitor_frames, source);
Lisp_Object geometry, workarea, attributes = Qnil;
struct MonitorInfo *mi = &monitors[i];
if (mi->geom.width == 0) continue;
workarea = list4i (mi->work.x, mi->work.y,
mi->work.width, mi->work.height);
geometry = list4i (mi->geom.x, mi->geom.y,
mi->geom.width, mi->geom.height);
attributes = Fcons (Fcons (Qsource,
make_string (source, strlen (source))),
attributes);
attributes = Fcons (Fcons (Qframes, AREF (monitor_frames, i)),
attributes);
attributes = Fcons (Fcons (Qmm_size,
list2i (mi->mm_width, mi->mm_height)),
attributes);
attributes = Fcons (Fcons (Qworkarea, workarea), attributes);
attributes = Fcons (Fcons (Qgeometry, geometry), attributes);
if (mi->name)
attributes = Fcons (Fcons (Qname, make_string (mi->name,
strlen (mi->name))),
attributes);
if (i == primary_monitor)
primary_monitor_attributes = attributes;
else
attributes_list = Fcons (attributes, attributes_list);
}
if (!NILP (primary_monitor_attributes))
attributes_list = Fcons (primary_monitor_attributes, attributes_list);
return attributes_list;
} }
static Lisp_Object static Lisp_Object
...@@ -4270,9 +4216,9 @@ Internal use only, use `display-monitor-attributes-list' instead. */) ...@@ -4270,9 +4216,9 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
GdkDisplay *gdpy; GdkDisplay *gdpy;
GdkScreen *gscreen; GdkScreen *gscreen;
gint primary_monitor = 0, n_monitors, i; gint primary_monitor = 0, n_monitors, i;
Lisp_Object primary_monitor_attributes = Qnil;
Lisp_Object monitor_frames, rest, frame; Lisp_Object monitor_frames, rest, frame;
static const char *source = "Gdk"; static const char *source = "Gdk";
struct MonitorInfo *monitors;
block_input (); block_input ();
mm_width_per_pixel = ((double) WidthMMOfScreen (dpyinfo->screen) mm_width_per_pixel = ((double) WidthMMOfScreen (dpyinfo->screen)
...@@ -4286,6 +4232,8 @@ Internal use only, use `display-monitor-attributes-list' instead. */) ...@@ -4286,6 +4232,8 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
#endif #endif
n_monitors = gdk_screen_get_n_monitors (gscreen); n_monitors = gdk_screen_get_n_monitors (gscreen);
monitor_frames = Fmake_vector (make_number (n_monitors), Qnil); monitor_frames = Fmake_vector (make_number (n_monitors), Qnil);
monitors = (struct MonitorInfo *) xzalloc (n_monitors * sizeof (*monitors));
FOR_EACH_FRAME (rest, frame) FOR_EACH_FRAME (rest, frame)
{ {
struct frame *f = XFRAME (frame); struct frame *f = XFRAME (frame);
...@@ -4300,21 +4248,13 @@ Internal use only, use `display-monitor-attributes-list' instead. */) ...@@ -4300,21 +4248,13 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
} }
} }
i = n_monitors; for (i = 0; i < n_monitors; ++i)
while (i-- > 0)
{ {
Lisp_Object geometry, workarea, attributes = Qnil;
gint width_mm = -1, height_mm = -1; gint width_mm = -1, height_mm = -1;
GdkRectangle rec; GdkRectangle rec, work;
struct MonitorInfo *mi = &monitors[i];
attributes = Fcons (Fcons (Qsource,
make_string (source, strlen (source))),
attributes);
attributes = Fcons (Fcons (Qframes, AREF (monitor_frames, i)),
attributes);
gdk_screen_get_monitor_geometry (gscreen, i, &rec); gdk_screen_get_monitor_geometry (gscreen, i, &rec);
geometry = list4i (rec.x, rec.y, rec.width, rec.height);
#if GTK_CHECK_VERSION (2, 14, 0) #if GTK_CHECK_VERSION (2, 14, 0)
width_mm = gdk_screen_get_monitor_width_mm (gscreen, i); width_mm = gdk_screen_get_monitor_width_mm (gscreen, i);
...@@ -4324,54 +4264,50 @@ Internal use only, use `display-monitor-attributes-list' instead. */) ...@@ -4324,54 +4264,50 @@ Internal use only, use `display-monitor-attributes-list' instead. */)
width_mm = rec.width * mm_width_per_pixel + 0.5; width_mm = rec.width * mm_width_per_pixel + 0.5;
if (height_mm < 0) if (height_mm < 0)
height_mm = rec.height * mm_height_per_pixel + 0.5; height_mm = rec.height * mm_height_per_pixel + 0.5;
attributes = Fcons (Fcons (Qmm_size,
list2i (width_mm, height_mm)),
attributes);
#if GTK_CHECK_VERSION (3, 4, 0) #if GTK_CHECK_VERSION (3, 4, 0)
gdk_screen_get_monitor_workarea (gscreen, i, &rec); gdk_screen_get_monitor_workarea (gscreen, i, &work);
workarea = list4i (rec.x, rec.y, rec.width, rec.height);
#else #else
/* Emulate the behavior of GTK+ 3.4. */ /* Emulate the behavior of GTK+ 3.4. */
{ {
XRectangle workarea_r; XRectangle workarea_r;
workarea = Qnil;
if (i == primary_monitor && x_get_net_workarea (dpyinfo, &workarea_r)) if (i == primary_monitor && x_get_net_workarea (dpyinfo, &workarea_r))
{ {
GdkRectangle work;
work.x = workarea_r.x; work.x = workarea_r.x;
work.y = workarea_r.y; work.y = workarea_r.y;
work.width = workarea_r.width; work.width = workarea_r.width;
work.height = workarea_r.height; work.height = workarea_r.height;
if (gdk_rectangle_intersect (&rec, &work, &work)) if (! gdk_rectangle_intersect (&rec, &work, &work))
workarea = list4i (work.x, work.y, work.width, work.height); work = rec;
} }
if (NILP (workarea)) else
workarea = geometry; work = rec;
} }
#endif #endif
attributes = Fcons (Fcons (Qworkarea, workarea), attributes);
attributes = Fcons (Fcons (Qgeometry, geometry), attributes);
mi->geom.x = rec.x;
mi->geom.y = rec.y;
mi->geom.width = rec.width;
mi->geom.height = rec.height;
mi->work.x = work.x;
mi->work.y = work.y;
mi->work.width = work.width;
mi->work.height = work.height;
mi->mm_width = width_mm;
mi->mm_height = height_mm;
#if GTK_CHECK_VERSION (2, 14, 0) #if GTK_CHECK_VERSION (2, 14, 0)
{ mi->name = gdk_screen_get_monitor_plug_name (gscreen, i);
char *name = gdk_screen_get_monitor_plug_name (gscreen, i);
if (name)
attributes = Fcons (Fcons (Qname, make_string (name, strlen (name))),
attributes);
}
#endif #endif
if (i == primary_monitor)
primary_monitor_attributes = attributes;
else
attributes_list = Fcons (attributes, attributes_list);
} }
if (!NILP (primary_monitor_attributes)) attributes_list = make_monitor_attribute_list (monitors,
attributes_list = Fcons (primary_monitor_attributes, attributes_list); n_monitors,
primary_monitor,
monitor_frames,
source);
unblock_input (); unblock_input ();
#else /* not USE_GTK */ #else /* not USE_GTK */
...@@ -6294,11 +6230,6 @@ syms_of_xfns (void) ...@@ -6294,11 +6230,6 @@ syms_of_xfns (void)
DEFSYM (Qundefined_color, "undefined-color"); DEFSYM (Qundefined_color, "undefined-color");
DEFSYM (Qcompound_text, "compound-text"); DEFSYM (Qcompound_text, "compound-text");
DEFSYM (Qcancel_timer, "cancel-timer"); DEFSYM (Qcancel_timer, "cancel-timer");
DEFSYM (Qgeometry, "geometry");
DEFSYM (Qworkarea, "workarea");
DEFSYM (Qmm_size, "mm-size");
DEFSYM (Qframes, "frames");
DEFSYM (Qsource, "source");
DEFSYM (Qfont_param, "font-parameter"); DEFSYM (Qfont_param, "font-parameter");
/* This is the end of symbol initialization. */ /* This is the end of symbol initialization. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment