GNU m4

TODO - Things still to be done

General info

What is m4
Features
Uses of m4

Documentation

Manual

Source files

README
TODO
NEWS
ChangeLog
Contributors
Browse it

The Future

Modules
Visions

Feedback

Mailing-lists
Feedback
Discussion Forum

Development

Download
Known bugs

Examples

This site

* TODO file for GNU m4				-*- indented-text -*-

Tell the maintainers at <bug-m4@gnu.org> if you feel like volunteering
for any of these ideas or if you have others to add.


* KNOWN BUGS

  + Changes in the syntax_table are not saved to frozen files.

  + Information about loaded modules is not saved to frozen files.

  + m4wrap.1.test fail on Solaris 2.6 using egcs 1.1a compiler (Erick B).

  + The test case `other-tests/stackovf.test' does not work.

  + Some characters, such as comma, are still hardcoded, and does not
    follow changes in the syntax table.

  + sigstack/sigaltstack and ENOSYS

      When sigstack or sigaltstack fail with errno == ENOSYS, m4 should
      fall back silently to not using an alternate signal stack.
      Otherwise, problems arise in at least the following case: glibc
      2.1 test releases, built with Linux 2.1 headers (as recommended
      for glibc 2.1), so the library has sigstack and sigaltstack, but
      run with a Linux 2.0 kernel, so the kernel support is not present
      and ENOSYS is returned.

      (GNU m4 1.4k, built with glibc 2.0.100 (itself built with Linux
      2.1.126 headers), and running on Linux 2.0.36pre15.)

      -- 
      Joseph S. Myers
      jsm28@cam.ac.uk



* FEATURES OR PROBLEMS

  + Implement discarding comment delimiters with the syntax table.

  + The $ used in user defined macros cannot be changed through
    changesyntax.  It should be handled as a modifier.

  + If configured --with-gmp for multiple precision arithmetic there are
    some warnings, but it passes the tests.

  + Make show include dependencies like gcc so targets are updated
    when their (included) input files are updated (Erick B).

  + Sort out all the weird forms of interaction between changesyntax,
    changecom and changequote.  What happens if you install a quote with
    changequote and removes it with changesyntax and vice versa.

  + Add support for wide character sets.



* OPTIMIZATION AND CLEAN UP

  + Have NULs go really undisturbed through GNU m4
	GNU m4 is lousy regarding NULs in streams (this would require
	maintaining the string lengths, and avoiding strlen, strcpy,
	etc.).


* MODULE SPECIFIC ISSUES

  + Some way of linking a module statically is needed, for systems
    without support for dynamic loading.