* rcparse.y (acc_entry): Warn if an inappropriate modifier is used
with a non VIRTKEY.
(acc_event): For a control character, set VIRTKEY, and force the
character to uppercase.
(acc_options): Don't require a comma separator.
* rclex.l (handle_quotes): Handle standard escape sequences. Warn
about an unrecognized escape character.
* windres.c (unicode_print): Print standard escape sequences.
* rcparse.y (acc_event): Initialize $$.next.
* resbin.c (bin_to_res_menuitems): Don't set MENUITEM_POPUP or
MENUITEM_ENDMENU in the menu item flags.
(bin_to_res_accelerators): Allocate a structure (the old code
never worked).
(res_to_bin_accelerator): Correct the test for setting ACC_LAST.
(res_to_bin_dialog): Save the extended style rather than saving
the style twice. Remove useless shadowing length variable. Set
the length of control data correctly.
* resrc.c (write_rc_dialog): Don't print the class or menu if the
string length is zero.
* windres.h: New file.
* windres.c: New file.
* resrc.c: New file.
* rcparse.y: New file.
* rclex.l: New file.
* configure.in: Define and substitute BUILD_WINDRES.
* configure: Rebuild.
* Makefile.in: Rebuild dependencies.
(WINDRES_PROG): New variable.
(PROGS): Add @BUILD_WINDRES@.
(HFILES): Add dlltool.h and windres.h.
(CFILES): Add windres.c and resrc.c.
(GENERATED_CFILES): Add rcparse.c and rclex.c.
(WINDRES_OBJS): New variable.
$(WINDRES_PROG): New target.
(rcparse.c, rcparse.h, rclex.c): New targets.
Snapshot. windres can parse and print rc files.