Fix build error if "close" macro is not always visible.
Harry Thijssen <pspp@sjpaes.nl> reported the following errors
with recent Gnulib on Win32:
src/language/lexer/lexer.c: In function 'lex_source_destroy':
src/language/lexer/lexer.c:1455: error: 'const struct
lex_reader_class' has no member named 'rpl_close'
src/language/lexer/lexer.c:1456: error: 'const struct
lex_reader_class' has no member named 'rpl_close'
The problem was that the Gnulib substitute for <unistd.h>
defines close to rpl_close, but this macro definition wasn't
visible when lexer.c included lexer.h and became visible later.
This commit fixes the problem by making sure that the macro
definition is always visible in lexer.h.
A better solution would probably be to rename the 'close'
member to something other than a standard POSIX function name.
The change to control-stack.h is just precautionary; Harry
didn't report the same problem there.