Lines Matching defs:emode
1322 VarEvalMode_WithoutKeepDollar(VarEvalMode emode)
1324 return emode == VARE_EVAL_KEEP_DOLLAR_AND_UNDEFINED
1325 ? VARE_EVAL_KEEP_UNDEFINED : emode;
1329 VarEvalMode_ShouldEval(VarEvalMode emode)
1331 return emode != VARE_PARSE;
1335 VarEvalMode_ShouldKeepUndef(VarEvalMode emode)
1337 return emode == VARE_EVAL_KEEP_UNDEFINED ||
1338 emode == VARE_EVAL_KEEP_DOLLAR_AND_UNDEFINED;
1342 VarEvalMode_ShouldKeepDollar(VarEvalMode emode)
1344 return emode == VARE_EVAL_KEEP_DOLLAR_AND_UNDEFINED;
1673 VarEvalMode emode;
1689 s = Var_Subst(args->body, args->scope, args->emode);
1995 VarEvalMode const_member emode;
2080 return VarEvalMode_ShouldEval(expr->emode);
2121 VarEvalMode emode)
2125 VarEvalMode_WithoutKeepDollar(emode));
2127 if (VarEvalMode_ShouldEval(emode))
2185 VarEvalMode emode,
2219 } else if (emode == VARE_PARSE_BALANCED)
2222 ParseModifierPartExpr(&p, part, ch, emode);
2410 args.emode = VarEvalMode_WithoutKeepDollar(expr->emode);
2458 shouldEval ? ch->expr->emode : VARE_PARSE);
2546 if (!ParseModifierPart(&p, ':', ch->endc, ch->expr->emode,
2628 if (!ParseModifierPart(pp, '!', '!', expr->emode,
2774 pattern = Var_Subst(pattern, expr->scope, expr->emode);
2946 if (!ParseModifierPart(pp, delim, delim, ch->expr->emode,
2951 if (!ParseModifierPart(pp, delim, delim, ch->expr->emode,
2988 if (!ParseModifierPart(pp, delim, delim, ch->expr->emode,
2993 if (!ParseModifierPart(pp, delim, delim, ch->expr->emode,
3242 if (!ParseModifierPart(pp, ']', ']', expr->emode,
3476 then_emode = expr->emode;
3478 else_emode = expr->emode;
3567 if (!ParseModifierPart(pp, ch->endc, ch->endc, expr->emode,
3727 if (!ParseModifierPart(pp, '=', '=', expr->emode,
3731 if (!ParseModifierPart(pp, ch->endc, ch->endc, expr->emode,
3792 return (expr->emode == VARE_EVAL
3793 || expr->emode == VARE_EVAL_DEFINED
3794 || expr->emode == VARE_EVAL_DEFINED_LOUD)
3826 VarEvalMode_Name[expr->emode], ExprDefined_Name[expr->defined]);
3846 VarEvalMode_Name[expr->emode],
3942 FStr mods = Var_Parse(&p, expr->scope, expr->emode);
4195 GNode *scope, VarEvalMode emode,
4212 FStr nested_val = Var_Parse(&p, scope, emode);
4252 VarEvalMode emode,
4279 val = emode == VARE_EVAL_DEFINED
4280 || emode == VARE_EVAL_DEFINED_LOUD
4283 if ((opts.strict || emode == VARE_EVAL_DEFINED_LOUD)
4322 Substring varname, VarEvalMode emode)
4327 if (emode == VARE_EVAL_DEFINED_LOUD
4328 || (emode == VARE_EVAL_DEFINED && opts.strict)) {
4336 emode == VARE_EVAL_DEFINED_LOUD || emode == VARE_EVAL_DEFINED
4351 VarEvalMode emode,
4419 name, emode);
4453 #define Expr_Init(name, value, emode, scope, defined) \
4454 (Expr) { name, value, emode, scope, defined }
4458 VarEvalMode emode, GNode *scope, ExprDefined defined)
4464 expr.emode = emode;
4476 Var_Parse_U(const char **pp, VarEvalMode emode, FStr *out_value)
4491 *out_value = emode == VARE_PARSE
4508 * emode Controls the exact details of parsing and evaluation.
4520 * undefined, emode is VARE_EVAL_DEFINED, and none of
4526 * was undefined, emode was not VARE_EVAL_DEFINED,
4531 Var_Parse(const char **pp, GNode *scope, VarEvalMode emode)
4547 emode == VARE_EVAL_DEFINED || emode == VARE_EVAL_DEFINED_LOUD
4548 ? VARE_EVAL : emode,
4552 if (Var_Parse_U(pp, emode, &val))
4557 DEBUG2(VAR, "Var_Parse: %s (%s)\n", start, VarEvalMode_Name[emode]);
4567 if (!ParseVarnameShort(startc, pp, scope, emode, &val.str, &v))
4572 if (!ParseVarnameLong(&p, startc, scope, emode, expr.emode,
4580 if (v->inUse && VarEvalMode_ShouldEval(emode)) {
4610 if (!VarEvalMode_ShouldEval(emode))
4621 if (VarEvalMode_ShouldEval(emode) &&
4625 expanded = Var_Subst(Expr_Str(&expr), scope, expr.emode);
4651 emode == VARE_EVAL_DEFINED
4652 || emode == VARE_EVAL_DEFINED_LOUD
4671 VarSubstDollarDollar(const char **pp, Buffer *res, VarEvalMode emode)
4674 if (save_dollars && VarEvalMode_ShouldKeepDollar(emode))
4681 VarSubstExpr(const char **pp, Buffer *buf, GNode *scope, VarEvalMode emode)
4685 FStr val = Var_Parse(&nested_p, scope, emode);
4689 if (!VarEvalMode_ShouldKeepUndef(emode)
4736 * emode The mode for parsing or evaluating subexpressions.
4739 Var_Subst(const char *str, GNode *scope, VarEvalMode emode)
4748 VarSubstDollarDollar(&p, &res, emode);
4750 VarSubstExpr(&p, &res, scope, emode);
4769 Var_Expand(FStr *str, GNode *scope, VarEvalMode emode)
4775 expanded = Var_Subst(str->str, scope, emode);