Index: builtins.c =================================================================== --- builtins.c (revision 47366) +++ builtins.c (working copy) @@ -1659,7 +1659,9 @@ FRAME inner[1]; LIST *result; PARSE *p; + PyObject *python_result; char* rulename; + int i; /* Build up the list of arg lists */ @@ -1709,9 +1711,14 @@ result = evaluate_rule( rulename, inner ); frame_free( inner ); + + python_result = PyList_New(list_length(result)); + for (i = 0; result; result = list_next(result), ++i) + PyList_SetItem(python_result, i, PyString_FromString(result->string)); - Py_INCREF(Py_None); - return Py_None; + list_free(result); + + return python_result; } /** Accepts three arguments: module name, rule name and Python callable.