The kwargs feature no longer turns on compactdefaultargs for languages that don't support kwargs.

Affects all languages except Python and Ruby.

Closes #242
This commit is contained in:
William S Fulton 2014-10-21 07:32:45 +01:00
commit bfde148887
14 changed files with 72 additions and 21 deletions

View file

@ -59,6 +59,7 @@ static int compact_default_args = 0;
static int template_reduce = 0;
static int cparse_externc = 0;
int ignore_nested_classes = 0;
int kwargs_supported = 0;
/* -----------------------------------------------------------------------------
* Assist Functions
* ----------------------------------------------------------------------------- */
@ -1177,7 +1178,7 @@ static void default_arguments(Node *n) {
if (compact_default_args
|| is_cfunction(function)
|| GetFlag(function,"feature:compactdefaultargs")
|| GetFlag(function,"feature:kwargs")) {
|| (GetFlag(function,"feature:kwargs") && kwargs_supported)) {
ParmList *p = Getattr(function,"parms");
if (p)
Setattr(p,"compactdefargs", "1"); /* mark parameters for special handling */