Got rid of invalid pointer/integer conversions in table_unix.c and rearranged some validity tests there to be safer.
More future plans.
Made Stack an interface to keep parity with all other Controls.
Improved dialog base units calculations on Windows.
Removed TODO about Windows Tabs having no currently selected tab out of a nonzero number of tabs; Xeek in irc.freenode.net/#winapi confirmed this cannot happen.
Got rid of the strlen() call in comctl32_windows.c. Thanks to joeshow on the Gopher Academy Slack.
Added WS_EX_CONTROLPARENT to container and Tab on Windows.
Implemented tab stopping.
More TODOs.
Now that all calls have to be made on a single thread, Stack.SetStretchy() can safely be called even after its Window is created (which is also when the Stack is assigned to the Window anyway).
More future plans.
Refined a TODO.
Determined that Backspace, Tab, and Enter work in Areas on Windows (though more TODOs due to dialog message craziness).
Added a proposal for a Sidebar control.
Added a new method to AreaHandler, Defocuses(), for navigation events.
Implemented AreaHandler.Defocuses() on GTK+. Also more future plans.
Figured out why I'm getting intermittent crashes. Worked around for now, but will become a major issue soon...
Made Areas on Windows tab stops and implemented AreaHandler.Defocuses() on Windows.
Kinda sorta maybe implemented AreaHandler.Defocus() on Mac OS X. Starting to think I should just not allow Areas to be focused out.
Decided to remove AreaHandler.Defocuses() as that mucks up with the Mac OS X keyboard trap.