Lines Matching refs:prop
32 static void prop_warn(struct property *prop, const char *fmt, ...)
36 fprintf(stderr, "%s:%d:warning: ", prop->file->name, prop->lineno);
132 struct property *prop;
134 prop = xmalloc(sizeof(*prop));
135 memset(prop, 0, sizeof(*prop));
136 prop->type = type;
137 prop->file = current_file;
138 prop->lineno = zconf_lineno();
139 prop->menu = current_entry;
140 prop->expr = expr;
141 prop->visible.expr = dep;
143 /* append property to the prop list of symbol */
147 for (propp = ¤t_entry->sym->prop;
151 *propp = prop;
154 return prop;
160 struct property *prop = menu_add_prop(type, NULL, dep);
163 prop_warn(prop, "leading whitespace ignored");
168 prop_warn(prop, "prompt redefined");
188 prop->visible.expr = expr_alloc_and(prop->visible.expr,
193 current_entry->prompt = prop;
194 prop->text = prompt;
196 return prop;
223 struct property *prop;
227 for (prop = sym->prop; prop; prop = prop->next) {
228 switch (prop->type) {
231 prop->expr->type != E_SYMBOL)
232 prop_warn(prop,
235 if (prop->expr->type != E_SYMBOL)
237 sym2 = prop_get_symbol(prop);
240 prop_warn(prop,
250 prop_warn(prop,
257 use = prop->type == P_SELECT ? "select" : "imply";
258 sym2 = prop_get_symbol(prop);
260 prop_warn(prop,
266 prop_warn(prop,
273 prop_warn(prop, "range is only allowed "
275 if (!menu_validate_number(sym, prop->expr->left.sym) ||
276 !menu_validate_number(sym, prop->expr->right.sym))
277 prop_warn(prop, "range is invalid");
289 struct property *prop;
346 prop = menu->sym->prop;
352 prop = menu->prompt;
355 for (; prop; prop = prop->next) {
356 if (prop->menu != menu)
379 dep = rewrite_m(prop->visible.expr);
385 prop->visible.expr = dep;
391 if (prop->type == P_SELECT) {
392 struct symbol *es = prop_get_symbol(prop);
395 } else if (prop->type == P_IMPLY) {
396 struct symbol *es = prop_get_symbol(prop);
492 for (prop = menu->sym->prop; prop; prop = prop->next) {
493 if (prop->type == P_DEFAULT)
494 prop_warn(prop, "defaults for choice "
496 if (prop->menu == menu)
498 if (prop->type == P_PROMPT &&
499 prop->menu->parent->sym != sym)
500 prop_warn(prop, "choice value used outside its choice group");
511 for (prop = menu->sym->prop; prop; prop = prop->next) {
512 if (prop->menu != menu)
514 prop->visible.expr = expr_alloc_and(expr_copy(basedep),
515 prop->visible.expr);
519 prop = sym_get_choice_prop(sym);
520 for (ep = &prop->expr; *ep; ep = &(*ep)->left.expr)
709 static void get_prompt_str(struct gstr *r, struct property *prop,
716 str_printf(r, " Prompt: %s\n", prop->text);
718 get_dep_str(r, prop->menu->dep, " Depends on: ");
727 if (!expr_eq(prop->menu->dep, prop->visible.expr))
728 get_dep_str(r, prop->visible.expr, " Visible if: ");
730 menu = prop->menu;
772 struct property *prop;
774 for_all_properties(sym, prop, tok) {
780 expr_gstr_print(prop->expr, r);
792 struct property *prop;
799 prop = sym_get_range_prop(sym);
800 if (prop) {
802 expr_gstr_print(prop->expr, r);
809 for_all_properties(sym, prop, P_SYMBOL) {
810 if (prop->menu->prompt) {
811 get_def_str(r, prop->menu);
812 get_prompt_str(r, prop->menu->prompt, head);
816 for_all_properties(sym, prop, P_SYMBOL) {
817 if (!prop->menu->prompt) {
818 get_def_str(r, prop->menu);
819 get_dep_str(r, prop->menu->dep, " Depends on: ");