-/* Graphical user interface functions for the Microsoft W32 API.
+/* Graphical user interface functions for the Microsoft Windows API.
Copyright (C) 1989, 1992-2012 Free Software Foundation, Inc.
else if (!NILP (arg) || NILP (oldval))
return;
- f->icon_name = arg;
+ FVAR (f, icon_name) = arg;
#if 0
if (f->output_data.w32->icon_bitmap != 0)
BLOCK_INPUT;
result = x_text_icon (f,
- SSDATA ((!NILP (f->icon_name)
- ? f->icon_name
- : !NILP (f->title)
- ? f->title
- : f->name)));
+ SSDATA ((!NILP (FVAR (f, icon_name))
+ ? FVAR (f, icon_name)
+ : !NILP (FVAR (f, title))
+ ? FVAR (f, title)
+ : FVAR (f, name))));
if (result)
{
}
UNBLOCK_INPUT;
- if (WINDOWP (f->tool_bar_window))
- clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
+ if (WINDOWP (FVAR (f, tool_bar_window)))
+ clear_glyph_matrix (XWINDOW (FVAR (f, tool_bar_window))->current_matrix);
}
run_window_configuration_change_hook (f);
/* Check for no change needed in this very common case
before we do any consing. */
if (!strcmp (FRAME_W32_DISPLAY_INFO (f)->w32_id_name,
- SDATA (f->name)))
+ SDATA (FVAR (f, name))))
return;
name = build_string (FRAME_W32_DISPLAY_INFO (f)->w32_id_name);
}
CHECK_STRING (name);
/* Don't change the name if it's already NAME. */
- if (! NILP (Fstring_equal (name, f->name)))
+ if (! NILP (Fstring_equal (name, FVAR (f, name))))
return;
- f->name = name;
+ FVAR (f, name) = name;
/* For setting the frame title, the title parameter should override
the name parameter. */
- if (! NILP (f->title))
- name = f->title;
+ if (! NILP (FVAR (f, title)))
+ name = FVAR (f, title);
if (FRAME_W32_WINDOW (f))
{
x_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
{
/* Don't change the title if it's already NAME. */
- if (EQ (name, f->title))
+ if (EQ (name, FVAR (f, title)))
return;
update_mode_lines = 1;
- f->title = name;
+ FVAR (f, title) = name;
if (NILP (name))
- name = f->name;
+ name = FVAR (f, name);
if (FRAME_W32_WINDOW (f))
{
key.uChar.AsciiChar = 0;
key.dwControlKeyState = modifiers;
- add = w32_kbd_patch_key (&key);
+ add = w32_kbd_patch_key (&key, w32_keyboard_codepage);
/* 0 means an unrecognized keycode, negative means
dead key. Ignore both. */
while (--add >= 0)
(hwnd, WM_CHAR,
(unsigned char) key.uChar.AsciiChar, lParam,
w32_get_key_modifiers (wParam, lParam));
- w32_kbd_patch_key (&key);
+ w32_kbd_patch_key (&key, w32_keyboard_codepage);
}
return 0;
}
int explicit = f->explicit_name;
f->explicit_name = 0;
- name = f->name;
- f->name = Qnil;
+ name = FVAR (f, name);
+ FVAR (f, name) = Qnil;
x_set_name (f, name, explicit);
}
? IconicState
: NormalState));
- x_text_icon (f, SSDATA ((!NILP (f->icon_name)
- ? f->icon_name
- : f->name)));
+ x_text_icon (f, SSDATA ((!NILP (FVAR (f, icon_name))
+ ? FVAR (f, icon_name)
+ : FVAR (f, name))));
#endif
UNBLOCK_INPUT;
f->output_data.w32 = xzalloc (sizeof (struct w32_output));
FRAME_FONTSET (f) = -1;
- f->icon_name
+ FVAR (f, icon_name)
= x_get_arg (dpyinfo, parameters, Qicon_name, "iconName", "Title",
RES_TYPE_STRING);
- if (! STRINGP (f->icon_name))
- f->icon_name = Qnil;
+ if (! STRINGP (FVAR (f, icon_name)))
+ FVAR (f, icon_name) = Qnil;
/* FRAME_W32_DISPLAY_INFO (f) = dpyinfo; */
be set. */
if (EQ (name, Qunbound) || NILP (name))
{
- f->name = build_string (dpyinfo->w32_id_name);
+ FVAR (f, name) = build_string (dpyinfo->w32_id_name);
f->explicit_name = 0;
}
else
{
- f->name = name;
+ FVAR (f, name) = name;
f->explicit_name = 1;
/* use the frame's title when getting resources for this frame. */
specbind (Qx_resource_name, name);
by x_get_arg and friends, now go in the misc. alist of the frame. */
for (tem = parameters; CONSP (tem); tem = XCDR (tem))
if (CONSP (XCAR (tem)) && !NILP (XCAR (XCAR (tem))))
- f->param_alist = Fcons (XCAR (tem), f->param_alist);
+ FVAR (f, param_alist) = Fcons (XCAR (tem), FVAR (f, param_alist));
UNGCPRO;
f->output_data.w32 = xzalloc (sizeof (struct w32_output));
FRAME_FONTSET (f) = -1;
- f->icon_name = Qnil;
+ FVAR (f, icon_name) = Qnil;
#ifdef GLYPH_DEBUG
image_cache_refcount =
be set. */
if (EQ (name, Qunbound) || NILP (name))
{
- f->name = build_string (dpyinfo->w32_id_name);
+ FVAR (f, name) = build_string (dpyinfo->w32_id_name);
f->explicit_name = 0;
}
else
{
- f->name = name;
+ FVAR (f, name) = name;
f->explicit_name = 1;
/* use the frame's title when getting resources for this frame. */
specbind (Qx_resource_name, name);
/* Set up the frame's root window. */
w = XWINDOW (FRAME_ROOT_WINDOW (f));
- w->left_col = w->top_line = make_number (0);
+ WVAR (w, left_col) = WVAR (w, top_line) = make_number (0);
if (CONSP (Vx_max_tooltip_size)
&& INTEGERP (XCAR (Vx_max_tooltip_size))
&& INTEGERP (XCDR (Vx_max_tooltip_size))
&& XINT (XCDR (Vx_max_tooltip_size)) > 0)
{
- w->total_cols = XCAR (Vx_max_tooltip_size);
- w->total_lines = XCDR (Vx_max_tooltip_size);
+ WVAR (w, total_cols) = XCAR (Vx_max_tooltip_size);
+ WVAR (w, total_lines) = XCDR (Vx_max_tooltip_size);
}
else
{
- w->total_cols = make_number (80);
- w->total_lines = make_number (40);
+ WVAR (w, total_cols) = make_number (80);
+ WVAR (w, total_lines) = make_number (40);
}
- FRAME_TOTAL_COLS (f) = XINT (w->total_cols);
+ FRAME_TOTAL_COLS (f) = XINT (WVAR (w, total_cols));
adjust_glyphs (f);
w->pseudo_window_p = 1;
/* Display the tooltip text in a temporary buffer. */
old_buffer = current_buffer;
- set_buffer_internal_1 (XBUFFER (XWINDOW (FRAME_ROOT_WINDOW (f))->buffer));
+ set_buffer_internal_1 (XBUFFER (WVAR (XWINDOW (FRAME_ROOT_WINDOW (f)), buffer)));
BVAR (current_buffer, truncate_lines) = Qnil;
clear_glyph_matrix (w->desired_matrix);
clear_glyph_matrix (w->current_matrix);
/* w->total_cols and FRAME_TOTAL_COLS want the width in columns,
not in pixels. */
width /= WINDOW_FRAME_COLUMN_WIDTH (w);
- w->total_cols = make_number (width);
+ WVAR (w, total_cols) = make_number (width);
FRAME_TOTAL_COLS (f) = width;
adjust_glyphs (f);
w->pseudo_window_p = 1;
{
Lisp_Object line_status, battery_status, battery_status_symbol;
Lisp_Object load_percentage, seconds, minutes, hours, remain;
- Lisp_Object sequences[8];
long seconds_left = (long) system_status.BatteryLifeTime;
_snprintf (buffer, 16, "%ld:%02ld", m / 60, m % 60);
remain = build_string (buffer);
}
- sequences[0] = Fcons (make_number ('L'), line_status);
- sequences[1] = Fcons (make_number ('B'), battery_status);
- sequences[2] = Fcons (make_number ('b'), battery_status_symbol);
- sequences[3] = Fcons (make_number ('p'), load_percentage);
- sequences[4] = Fcons (make_number ('s'), seconds);
- sequences[5] = Fcons (make_number ('m'), minutes);
- sequences[6] = Fcons (make_number ('h'), hours);
- sequences[7] = Fcons (make_number ('t'), remain);
-
- status = Flist (8, sequences);
+
+ status = listn (CONSTYPE_HEAP, 8,
+ Fcons (make_number ('L'), line_status),
+ Fcons (make_number ('B'), battery_status),
+ Fcons (make_number ('b'), battery_status_symbol),
+ Fcons (make_number ('p'), load_percentage),
+ Fcons (make_number ('s'), seconds),
+ Fcons (make_number ('m'), minutes),
+ Fcons (make_number ('h'), hours),
+ Fcons (make_number ('t'), remain));
}
return status;
}
value = Qnil;
/* Determining the required information on Windows turns out, sadly,
- to be more involved than one would hope. The original Win32 api
+ to be more involved than one would hope. The original Windows API
call for this will return bogus information on some systems, but we
must dynamically probe for the replacement api, since that was
added rather late on. */
Fput (Qundefined_color, Qerror_conditions,
- pure_cons (Qundefined_color, pure_cons (Qerror, Qnil)));
+ listn (CONSTYPE_PURE, 2, Qundefined_color, Qerror));
Fput (Qundefined_color, Qerror_message,
build_pure_c_string ("Undefined color"));