(selection_name, selection_value, device))
{
Lisp_Object selection_time, selection_data, prev_value;
+ struct gcpro gcpro1;
CHECK_SYMBOL (selection_name);
if (NILP (selection_value)) error ("selection-value may not be nil.");
selection_data = list3 (selection_name,
selection_value,
Qnil);
+ GCPRO1 (selection_data);
+
prev_value = assq_no_quit (selection_name, Vselection_alist);
Vselection_alist = Fcons (selection_data, Vselection_alist);
Fsetcar (XCDR (XCDR (selection_data)), selection_time);
+ UNGCPRO;
+
return selection_value;
}