I wasn’t intending to necessarily replace the original.
If you’re happy with all my changes then I can make PR if you want,
but the point was more for the sake of practice.
That said, I would definately class the templating, removal of macros and minor change to the loading code as improvements.
(The loading code change was because when I ran it I was getting things like pilcrows turning up.)
Yep, my finger slipped.
I don’t like using compiler extensions if I can avoid it.
Except that case ASCII_CAPITAL_A ... ASCII_CAPITAL_Y: is non-standard syntax and won’t work on other compilers.
Not unless it’s a coordinate and/or there’s a corresponding y. :P
Only the EEPROM bit is Arduino specific,
I could see rest of the NameEditor class being ported to something else.
But more importantly I’m worried about less experienced programmers looking at the code and thinking “I didn’t know you could do that”, getting into the habit of using GCC’s case-range syntax and then later having a massive headache when their case-range switches won’t compile on some other platform.