> if the variable's name is "native", it's said everything I need to know

It's not when we are using a variable that the reason for an enum is apparent, it is when we are calling a function with a constant argument. ``SaveFile("C:\\test.txt", NewLineMode_Native)`` is much clearer than ``SaveFile("C:\\test.txt", true)``.

That being said, I agree that ``mode`` is not the most descriptive variable name. You only have to scroll to the start of the function to see what it is at least. I suppose I could change it to ``new_line_mode``, perhaps?

> Also, if I were designing this enum, anticipating further members to it, I'd probably make native the 0 member, as everything else needs special treatment when it's non-native.

It's actually the "native" case that needs special treatment. Unix is what we used to have on Windows as well, but that produces non-Windows text files. Native Windows text files is the "special" case. :-)