Extensions should use either read or read_lines. The lines method, which is still necessary, bypasses preprocessor directives. All three methods should be supported here.