Preprocessor directives are also registered now, and fix a bug

Signed-off-by: Josh Kilmer <srjek2@gmail.com>