{
        va_list ap;
        va_start(ap, fmt);
-       fprintf(stderr, "%s:%d:warning: ", prop->file->name, prop->lineno);
+       fprintf(stderr, "%s:%d:warning: ", prop->filename, prop->lineno);
        vfprintf(stderr, fmt, ap);
        fprintf(stderr, "\n");
        va_end(ap);
        prop = xmalloc(sizeof(*prop));
        memset(prop, 0, sizeof(*prop));
        prop->type = type;
-       prop->file = current_file;
+       prop->filename = cur_filename;
        prop->lineno = cur_lineno;
        prop->menu = current_entry;
        prop->expr = expr;
 
                }
                if (stack->sym == last_sym)
                        fprintf(stderr, "%s:%d:error: recursive dependency detected!\n",
-                               prop->file->name, prop->lineno);
+                               prop->filename, prop->lineno);
 
                if (sym_is_choice(sym)) {
                        fprintf(stderr, "%s:%d:\tchoice %s contains symbol %s\n",
                                next_sym->name ? next_sym->name : "<choice>");
                } else if (stack->expr == &sym->dir_dep.expr) {
                        fprintf(stderr, "%s:%d:\tsymbol %s depends on %s\n",
-                               prop->file->name, prop->lineno,
+                               prop->filename, prop->lineno,
                                sym->name ? sym->name : "<choice>",
                                next_sym->name ? next_sym->name : "<choice>");
                } else if (stack->expr == &sym->rev_dep.expr) {
                        fprintf(stderr, "%s:%d:\tsymbol %s is selected by %s\n",
-                               prop->file->name, prop->lineno,
+                               prop->filename, prop->lineno,
                                sym->name ? sym->name : "<choice>",
                                next_sym->name ? next_sym->name : "<choice>");
                } else if (stack->expr == &sym->implied.expr) {
                        fprintf(stderr, "%s:%d:\tsymbol %s is implied by %s\n",
-                               prop->file->name, prop->lineno,
+                               prop->filename, prop->lineno,
                                sym->name ? sym->name : "<choice>",
                                next_sym->name ? next_sym->name : "<choice>");
                } else if (stack->expr) {
                        fprintf(stderr, "%s:%d:\tsymbol %s %s value contains %s\n",
-                               prop->file->name, prop->lineno,
+                               prop->filename, prop->lineno,
                                sym->name ? sym->name : "<choice>",
                                prop_get_type_name(prop->type),
                                next_sym->name ? next_sym->name : "<choice>");
                } else {
                        fprintf(stderr, "%s:%d:\tsymbol %s %s is visible depending on %s\n",
-                               prop->file->name, prop->lineno,
+                               prop->filename, prop->lineno,
                                sym->name ? sym->name : "<choice>",
                                prop_get_type_name(prop->type),
                                next_sym->name ? next_sym->name : "<choice>");