This package by MattArmstrong implements ProjectSettings as follows: You can stick an .emacs-dirvars file in a directory and all files under that directory will get its settings. But the .emacs-dirvars file is even more restrictive than a Local Variables section – you can’t set the special mode or eval variables to change the mode or eval code.
Possible issue with dirvars.el and Emacs 22.1. I experienced partial fontification of a few buffers. But only sometimes. Binary search debugging of all my setup files (sigh) revealed that font locking was normal when I removed dirvars.el. See also this post with a solution (dir-locals.el) Update: I was using version 1.0 of dirvars. The problem may be fixed in later versions. – VagnJohansen