- {
- SCM entry = scm_car (s);
- SCM context_name = scm_car (entry);
- SCM grob = scm_cadr (entry);
- SCM sym = scm_caddr (entry);
- SCM val = scm_cadr (scm_cddr (entry));
-
- Context *c = context ();
- while (c
- && c->context_name_symbol () != context_name)
- {
- c = c->get_parent_context ();
- }
-
- if (c)
- {
- execute_pushpop_property (c,
- grob, sym, val);
- grace_settings_
- = scm_cons (scm_cons (c->self_scm (), entry), grace_settings_);
- }
- else
- {
- programming_error ("Cannot find context");
- scm_display (context_name, scm_current_error_port ());
- }
- }
- }
+ {
+ SCM entry = scm_car (s);
+ SCM context_name = scm_car (entry);
+ SCM grob = scm_cadr (entry);
+ SCM sym = scm_caddr (entry);
+ SCM val = scm_cadr (scm_cddr (entry));
+
+ if (!scm_is_pair (sym))
+ sym = scm_list_1 (sym);