neovim/neovim — pull request #663 by Hinidu (2014-05-01 12:16:48+00:00)
Title: [RFC] Added missing #define guards in headers

While playing with [include-what-you-use](https://code.google.com/p/include-what-you-use/) proposed by @aktau in #549, I noticed that not all headers contain the ```#define guards```.
I added guards to all except ```ex_cmds_defs.h``` because
```cpp
/*
* This file defines the Ex commands.
* When DO_DECLARE_EXCMD is defined, the table with ex command names and
* options results.
* When DO_DECLARE_EXCMD is NOT defined, the enum with all the Ex commands
* results.
* This clever trick was invented by Ron Aaron.
*/
```
And if I add guard to that file then compilation fails. This "clever trick" looks to me like "ugly hack", but I don't know how to avoid it in the simple way.