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