Changeset 1408 for trunk/src/kmk/read.c


Ignore:
Timestamp:
Mar 17, 2008, 11:21:36 PM (17 years ago)
Author:
bird
Message:

Implemented local variable definitions - CONFIG_WITH_LOCAL_VARIABLES.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/read.c

    r1181 r1408  
    11681168          continue;
    11691169        }
     1170#ifdef CONFIG_WITH_LOCAL_VARIABLES
     1171
     1172      if (word1eq ("local"))
     1173        {
     1174          if (*p2 == '\0')
     1175            error (fstart, _("empty `local' directive"));
     1176
     1177          if (strneq (p2, "define", 6)
     1178              && (isblank ((unsigned char)p2[6]) || p2[6] == '\0'))
     1179            {
     1180              if (ignoring)
     1181                in_ignored_define = 1;
     1182              else
     1183                {
     1184                  p2 = next_token (p2 + 6);
     1185                  if (*p2 == '\0')
     1186                    fatal (fstart, _("empty variable name"));
     1187
     1188                  /* Let the variable name be the whole rest of the line,
     1189                     with trailing blanks stripped (comments have already been
     1190                     removed), so it could be a complex variable/function
     1191                     reference that might contain blanks.  */
     1192                  p = strchr (p2, '\0');
     1193                  while (isblank ((unsigned char)p[-1]))
     1194                    --p;
     1195                  do_define (p2, p - p2, o_local, ebuf);
     1196                }
     1197            }
     1198          else if (!ignoring
     1199                   && !try_variable_definition (fstart, p2, o_local, 0))
     1200            error (fstart, _("invalid `local' directive"));
     1201
     1202          continue;
     1203        }
     1204#endif /* CONFIG_WITH_LOCAL_VARIABLES */
    11701205
    11711206      if (ignoring)
Note: See TracChangeset for help on using the changeset viewer.