TODO file for GNU m4

Tell <bug-m4@gnu.org> if you feel like volunteering for any
of these ideas, listed more or less in decreasing order of priority.

* Features or problems
  - Fix format() builtin to handle %c more like printf(1) in the shell
        http://lists.gnu.org/archive/html/bug-m4/2007-05/msg00047.html
    Also, gnulib needs help to overcome mingw bugs related to format().
  - Update documentation from accumulated mail about it
  - Study synclines at the very beginning of each diverted sequence
  - Make eval work on bignums - the 32 bits limit is artificial
	From Krste Asanovic <krste@icsi.berkeley.edu>, 1993-03-20

* Optimization and clean up
  - Check for memory leaks and uninitialized reads
	From Vern Paxson <vern@horse.ee.lbl.gov> on 1993-12-06
  - Profile GNU m4 and speed it up
	From David J. MacKenzie <djm@eng.umd.edu>, 1993-01-20

	GNU m4 should be sped up by a factor of three for competing
	with other versions (I think that the lexer is not agressive
	enough and too often return single characters; obstacks might
	be a little abused, too).
  - Have NULs go really undisturbed through GNU m4
	See `dumpdef' and debugging section, which abuses %s
	From Thorsten Ohl <ohl@chico.harvard.edu>, 1992-12-21

	path.c (add_include_directory): Why the '\0' terminator?

	GNU m4 is lousy regarding NULs in streams (this would require
	maintaining the string lengths, and avoiding strlen, strcpy,
	etc.). 

Local Variables:
mode: outline
outline-regexp: " *[-+*.] \\|"
End:

Copyright (C) 2000, 2006, 2007 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the ``GNU Free
Documentation License'' file as part of this distribution.
