Lines Matching refs:prop
31 static void prop_warn(struct property *prop, const char *fmt, ...)
35 fprintf(stderr, "%s:%d:warning: ", prop->file->name, prop->lineno);
131 struct property *prop;
133 prop = xmalloc(sizeof(*prop));
134 memset(prop, 0, sizeof(*prop));
135 prop->type = type;
136 prop->file = current_file;
137 prop->lineno = zconf_lineno();
138 prop->menu = current_entry;
139 prop->expr = expr;
140 prop->visible.expr = dep;
142 /* append property to the prop list of symbol */
146 for (propp = ¤t_entry->sym->prop;
150 *propp = prop;
153 return prop;
159 struct property *prop = menu_add_prop(type, NULL, dep);
162 prop_warn(prop, "leading whitespace ignored");
167 prop_warn(prop, "prompt redefined");
187 prop->visible.expr = expr_alloc_and(prop->visible.expr,
192 current_entry->prompt = prop;
193 prop->text = prompt;
195 return prop;
244 struct property *prop;
248 for (prop = sym->prop; prop; prop = prop->next) {
249 switch (prop->type) {
252 prop->expr->type != E_SYMBOL)
253 prop_warn(prop,
256 if (prop->expr->type != E_SYMBOL)
258 sym2 = prop_get_symbol(prop);
261 prop_warn(prop,
271 prop_warn(prop,
278 use = prop->type == P_SELECT ? "select" : "imply";
279 sym2 = prop_get_symbol(prop);
281 prop_warn(prop,
287 prop_warn(prop,
294 prop_warn(prop, "range is only allowed "
296 if (!menu_validate_number(sym, prop->expr->left.sym) ||
297 !menu_validate_number(sym, prop->expr->right.sym))
298 prop_warn(prop, "range is invalid");
310 struct property *prop;
367 prop = menu->sym->prop;
373 prop = menu->prompt;
376 for (; prop; prop = prop->next) {
377 if (prop->menu != menu)
400 dep = rewrite_m(prop->visible.expr);
406 prop->visible.expr = dep;
412 if (prop->type == P_SELECT) {
413 struct symbol *es = prop_get_symbol(prop);
416 } else if (prop->type == P_IMPLY) {
417 struct symbol *es = prop_get_symbol(prop);
513 for (prop = menu->sym->prop; prop; prop = prop->next) {
514 if (prop->type == P_DEFAULT)
515 prop_warn(prop, "defaults for choice "
517 if (prop->menu == menu)
519 if (prop->type == P_PROMPT &&
520 prop->menu->parent->sym != sym)
521 prop_warn(prop, "choice value used outside its choice group");
532 for (prop = menu->sym->prop; prop; prop = prop->next) {
533 if (prop->menu != menu)
535 prop->visible.expr = expr_alloc_and(expr_copy(basedep),
536 prop->visible.expr);
540 prop = sym_get_choice_prop(sym);
541 for (ep = &prop->expr; *ep; ep = &(*ep)->left.expr)
730 static void get_prompt_str(struct gstr *r, struct property *prop,
737 str_printf(r, " Prompt: %s\n", prop->text);
739 get_dep_str(r, prop->menu->dep, " Depends on: ");
748 if (!expr_eq(prop->menu->dep, prop->visible.expr))
749 get_dep_str(r, prop->visible.expr, " Visible if: ");
751 menu = prop->menu->parent;
762 if (menu_is_visible(prop->menu)) {
769 jump->target = prop->menu;
804 struct property *prop;
806 for_all_properties(sym, prop, tok) {
812 expr_gstr_print(prop->expr, r);
824 struct property *prop;
831 prop = sym_get_range_prop(sym);
832 if (prop) {
834 expr_gstr_print(prop->expr, r);
841 for_all_properties(sym, prop, P_SYMBOL) {
842 if (prop->menu->prompt) {
843 get_def_str(r, prop->menu);
844 get_prompt_str(r, prop->menu->prompt, head);
848 for_all_properties(sym, prop, P_SYMBOL) {
849 if (!prop->menu->prompt) {
850 get_def_str(r, prop->menu);
851 get_dep_str(r, prop->menu->dep, " Depends on: ");