X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Fparse_entry.c;h=1a786f664b2f7ed4a0cb2c42d54a9b63b31c521f;hp=d814594854aa44c1f5ac018c0a198a33f1b0d294;hb=a8e3f06ac309504143cd56ac9ec55889bfdf4914;hpb=5e1e572b71ae31a6071daa24e2460a68a6f1003c;ds=sidebyside diff --git a/ncurses/tinfo/parse_entry.c b/ncurses/tinfo/parse_entry.c index d8145948..1a786f66 100644 --- a/ncurses/tinfo/parse_entry.c +++ b/ncurses/tinfo/parse_entry.c @@ -47,7 +47,7 @@ #include #include -MODULE_ID("$Id: parse_entry.c,v 1.83 2017/04/06 22:15:54 tom Exp $") +MODULE_ID("$Id: parse_entry.c,v 1.84 2017/04/21 21:09:54 tom Exp $") #ifdef LINT static short const parametrized[] = @@ -369,7 +369,16 @@ _nc_parse_entry(ENTRY * entryp, int literal, bool silent) } /* deal with bad type/value combinations. */ - if (token_type != CANCEL && entry_ptr->nte_type != token_type) { + if (token_type == CANCEL) { + /* + * Prefer terminfo in this (long-obsolete) ambiguity: + */ + if (!strcmp("ma", _nc_curr_token.tk_name)) { + entry_ptr = _nc_find_type_entry("ma", NUMBER, + _nc_syntax != 0); + assert(entry_ptr != 0); + } + } else if (entry_ptr->nte_type != token_type) { /* * Nasty special cases here handle situations in which type * information can resolve name clashes. Normal lookup