-/*-------------------------------------------------.
-| Free the LIST, but not the symbols it contains. |
-`-------------------------------------------------*/
+/*-----------------------------------------------------------------------.
+| Print this list, for which every content_type must be SYMLIST_SYMBOL. |
+`-----------------------------------------------------------------------*/
+
+void
+symbol_list_syms_print (const symbol_list *l, FILE *f)
+{
+ for (/* Nothing. */; l && l->content.sym; l = l->next)
+ {
+ symbol_print (l->content.sym, f);
+ fprintf (stderr, l->action_props.is_value_used ? " used" : " unused");
+ if (l && l->content.sym)
+ fprintf (f, ", ");
+ }
+}
+
+
+/*---------------------------.
+| Prepend NODE to the LIST. |
+`---------------------------*/
+
+symbol_list *
+symbol_list_prepend (symbol_list *list, symbol_list *node)
+{
+ node->next = list;
+ return node;
+}
+
+
+/*-----------------------------------------------.
+| Free the LIST, but not the items it contains. |
+`-----------------------------------------------*/