1267897SdelphijMost TODOs live in the TODO section of doc/file.man (i.e. file(1)).
2267897SdelphijThey are more visible there, so please add any further TODOs to that
3267897Sdelphijfile, not here. More speculative material can live here.
4191771Sobrien
5234449Sobrien(This change was made when Reuben Thomas noticed that all the bugs
6234449Sobrienlisted in the BUGS section of the man page had been fixed!)
7267897Sdelphij
8267897Sdelphij---
9267897Sdelphij
10267897SdelphijIt would be nice to simplify file considerably. For example,
11267897Sdelphijreimplement the apprentice and non-pattern magic methods in Python,
12267897Sdelphijand compile the magic patterns to a giant regex (or something similar;
13267897Sdelphijmaybe using Ragel (http://www.complang.org/ragel/)) so that only a
14267897Sdelphijsmall amount of C is needed (because fast execution is typically only
15267897Sdelphijrequired for soft magic, not the more detailed information given by
16267897Sdelphijhard-wired routines). In this regard, note that hplip, which is
17267897SdelphijBSD-licensed, has a magic reimplementation in Python.
18275698Sdelphij
19275698SdelphijRead the kerberos magic entry for more ideas.
20284237Sdelphij
21284237SdelphijWrite a string merger to make magic entry sizes dynamic.
22284237SdelphijStrings will be converted to offsets from the string table.
23