1*b6cee71dSXin LIMost TODOs live in the TODO section of doc/file.man (i.e. file(1)). 2*b6cee71dSXin LIThey are more visible there, so please add any further TODOs to that 3*b6cee71dSXin LIfile, not here. More speculative material can live here. 47dbb948bSDavid E. O'Brien 580c86c36SDavid E. O'Brien(This change was made when Reuben Thomas noticed that all the bugs 680c86c36SDavid E. O'Brienlisted in the BUGS section of the man page had been fixed!) 7*b6cee71dSXin LI 8*b6cee71dSXin LI--- 9*b6cee71dSXin LI 10*b6cee71dSXin LIIt would be nice to simplify file considerably. For example, 11*b6cee71dSXin LIreimplement the apprentice and non-pattern magic methods in Python, 12*b6cee71dSXin LIand compile the magic patterns to a giant regex (or something similar; 13*b6cee71dSXin LImaybe using Ragel (http://www.complang.org/ragel/)) so that only a 14*b6cee71dSXin LIsmall amount of C is needed (because fast execution is typically only 15*b6cee71dSXin LIrequired for soft magic, not the more detailed information given by 16*b6cee71dSXin LIhard-wired routines). In this regard, note that hplip, which is 17*b6cee71dSXin LIBSD-licensed, has a magic reimplementation in Python. 18