else
{
Lisp_Object fns, fn;
- struct gcpro gcpro1, gcpro2;
fns = Qnil;
- GCPRO2 (val, fns);
for (; CONSP (val); val = XCDR (val))
{
else
safe_call1 (fn, pos);
}
-
- UNGCPRO;
}
unbind_to (count, Qnil);
if (!NILP (form) && !EQ (form, Qt))
{
ptrdiff_t count = SPECPDL_INDEX ();
- struct gcpro gcpro1;
/* Bind `object' to the object having the `display' property, a
buffer or string. Bind `position' to the position in the
specbind (Qobject, object);
specbind (Qposition, make_number (CHARPOS (*position)));
specbind (Qbuffer_position, make_number (bufpos));
- GCPRO1 (form);
form = safe_eval (form);
- UNGCPRO;
unbind_to (count, Qnil);
}
for (ptrdiff_t i = 1; i <= nargs; i++)
args[i] = va_arg (ap, Lisp_Object);
Lisp_Object msg = Qnil;
- struct gcpro gcpro1, gcpro2;
- GCPRO2 (args[1], msg);
- gcpro1.nvars = form_nargs;
msg = Fformat_message (nargs, args);
ptrdiff_t len = SBYTES (msg) + 1;
message_dolog (buffer, len - 1, true, STRING_MULTIBYTE (msg));
SAFE_FREE ();
-
- UNGCPRO;
}
ptrdiff_t point_at_end = 0;
ptrdiff_t zv_at_end = 0;
Lisp_Object old_deactivate_mark;
- struct gcpro gcpro1;
old_deactivate_mark = Vdeactivate_mark;
oldbuf = current_buffer;
set_marker_restricted_both (oldbegv, Qnil, BEGV, BEGV_BYTE);
oldzv = message_dolog_marker3;
set_marker_restricted_both (oldzv, Qnil, ZV, ZV_BYTE);
- GCPRO1 (old_deactivate_mark);
if (PT == Z)
point_at_end = 1;
TEMP_SET_PT_BOTH (marker_position (oldpoint),
marker_byte_position (oldpoint));
- UNGCPRO;
unchain_marker (XMARKER (oldpoint));
unchain_marker (XMARKER (oldbegv));
unchain_marker (XMARKER (oldzv));
void
message3 (Lisp_Object m)
{
- struct gcpro gcpro1;
-
- GCPRO1 (m);
clear_message (true, true);
cancel_echoing ();
}
if (! inhibit_message)
message3_nolog (m);
- UNGCPRO;
}
/* Log the message M to stderr. Log an empty line if M is not a string. */
if (need_message)
{
AUTO_STRING (fmt, m);
- struct gcpro gcpro1;
- Lisp_Object msg = string;
- GCPRO1 (msg);
- msg = CALLN (Fformat_message, fmt, msg);
+ Lisp_Object msg = CALLN (Fformat_message, fmt, string);
if (noninteractive)
message_to_stderr (msg);
buffer next time. */
message_buf_print = false;
}
-
- UNGCPRO;
}
}
{
bool all_windows = windows_or_buffers_changed || update_mode_lines;
bool some_windows = REDISPLAY_SOME_P ();
- struct gcpro gcpro1, gcpro2;
Lisp_Object tooltip_frame;
#ifdef HAVE_WINDOW_SYSTEM
/* Clear flag first in case we get an error below. */
FRAME_WINDOW_SIZES_CHANGED (f) = false;
functions = Vwindow_size_change_functions;
- GCPRO2 (tail, functions);
while (CONSP (functions))
{
call1 (XCAR (functions), frame);
functions = XCDR (functions);
}
- UNGCPRO;
}
- GCPRO1 (tail);
menu_bar_hooks_run = update_menu_bar (f, false, menu_bar_hooks_run);
#ifdef HAVE_WINDOW_SYSTEM
update_tool_bar (f, false);
#endif
- UNGCPRO;
}
unbind_to (count, Qnil);
ptrdiff_t count = SPECPDL_INDEX ();
Lisp_Object frame, new_tool_bar;
int new_n_tool_bar;
- struct gcpro gcpro1;
/* Set current_buffer to the buffer of the selected
window of the frame, so that we get the right local
specbind (Qoverriding_local_map, Qnil);
}
- GCPRO1 (new_tool_bar);
-
/* We must temporarily set the selected frame to this frame
before calling tool_bar_items, because the calculation of
the tool-bar keymap uses the selected frame (see
unblock_input ();
}
- UNGCPRO;
-
unbind_to (count, Qnil);
set_buffer_internal_1 (prev);
}
build_desired_tool_bar_string (struct frame *f)
{
int i, size, size_needed;
- struct gcpro gcpro1, gcpro2;
Lisp_Object image, plist;
image = plist = Qnil;
- GCPRO2 (image, plist);
/* Prepare F->desired_tool_bar_string. If we can reuse it, do so.
Otherwise, make a new string. */
else
{
AUTO_LIST4 (props, Qdisplay, Qnil, Qmenu_item, Qnil);
- struct gcpro gcpro1;
- GCPRO1 (props);
Fremove_text_properties (make_number (0), make_number (size),
props, f->desired_tool_bar_string);
- UNGCPRO;
}
/* Put a `display' property on the string for the images to display,
image = Fcons (Qimage, plist);
AUTO_LIST4 (props, Qdisplay, image, Qmenu_item,
make_number (i * TOOL_BAR_ITEM_NSLOTS));
- struct gcpro gcpro1;
- GCPRO1 (props);
/* Let the last image hide all remaining spaces in the tool bar
string. The string can be longer than needed when we reuse a
end = i + 1;
Fadd_text_properties (make_number (i), make_number (end),
props, f->desired_tool_bar_string);
- UNGCPRO;
#undef PROP
}
-
- UNGCPRO;
}