From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <893336fd0a9673f20c7468d7f6339554@quanstro.net> From: erik quanstrom Date: Sun, 6 Jul 2008 17:20:12 -0400 To: jas@corpus-callosum.com, 9fans@9fans.net MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] a question of file and the history of magic Topicbox-Message-UUID: dc755554-ead3-11e9-9d60-3106f5b1d025 > In a sense, the question is more about the historical change and/or > adoption of a new file command for Plan 9 that doesn't use a magic > file for references. Why opt out of a magic file other than the > obvious performance hit of scanning it each run? Is it worth > repeating the old forms that used magic, or has anyone in the Plan 9 > community already improved upon the idea and introduced a new, more > adaptable tool? what is the upside to an external magic file? as you've shown, you can add a file type in 1 line of code. while the external magic file isn't c, i would argue that it's still code. the disadvantage is that you need to write a parser for yet another file format. it turns out that linux file's maintainers felt that a text file wasn't good enough so they implemented a magic compiler. i really don't understand the logic behind the compiler, since it would seem to trade reduced cpu cycles for increased i/o. that would seem to be a terrible trade off these days. ; wc magic magic.mgc 13469 69850 484372 magic 1301 17997 1062400 magic.mgc # compiled version the source is pretty big, too: ; wc -l ffile-4.20/src/*.[ch]|grep total 9273 total according to wikipedia (http://en.wikipedia.org/wiki/File_(Unix)), system v introduced the external magic file. i don't think that system v was in anyway an ancestor of plan 9. but i don't know anything of the history of plan 9 file. - erik