An alternate approach would be to have a CHDK variable that is only updated at defined points: e.g. before every gui redraw, and/or every kbd_task iteration.
I actually tried something similar to this earlier, on the sx280.
Understood. I'm fine with the current code being added, it's just something I worry about biting us later.
That happened already - some games look now quite broken due to unexpected font size.
I think this is a different issue. It would be good to fix the games, but I'm not to worried about them.
What I meant was modules for a given instruction set are currently identical, no matter what camera they were built for. Having a hard rule of "no ifdefs in module code" made it easier to recognize mistakes that would break this. Again, I'm not asking for any change right now, just worrying out loud about about how to keep it maintainable

Using THUMB_FW to represent both the instruction set and display architecture also seems likely to bite us in the future. I have ideas about this, but it's probably a topic for another post.
I was using a separate #define for yuv overlay before the D6 support was integrated in trunk. I chose to remove it at one point (the sx280 was the only D6 port at that time).
Yeah, without a solution to the module issue (how we define modules for a specific display type, rather than instruction set), it's probably not worth it.
jog dial control in the OSD editor is added, should be documented.
I only put that in because I wanted to use something that could replace the missing zoom buttons on my M10. Could probably stay because it can be operated faster than the zoom/halfshoot buttons.
Makes sense, I have no objection to it being added.