1. Not being able to rely on recursion makes me sad.
2. "Downwards macro-args" in C:
3. I am fast becoming acquainted with gdb.#define MY_ENUM_LIST(m) \
m(RED, 0), \
m(GREEN, 1), \
m(BLUE, 2)
#define DEF_ENUM_ENTRY(c, v) c = v
#define QUOTE_ENUM_ENTRY(c, v) #c
typedef enum rgb {
MY_ENUM_LIST(DEF_ENUM_ENTRY)
} rgb;
const char *rgb_names[] = {
MY_ENUM_LIST(QUOTE_ENUM_ENTRY)
};
4. And a few choice command-line shortcuts really save extraordinary amounts of time. My new fav: the !? bash-history shortcut.