* download and cache the test save along with df
Depends on us actually putting the test save on files.dfhack.org
* run fortress tests in run-tests.py
* use google drive link for now
* make the save directory before extracting to it
* basic pause functionality for confirm
* update changelog
* wrap the pause message and output in white
* unpause on viewscreen transition when we can
but still use esc detection when we won't get a viewscreen transition
(like when we're intercepting input on viewscreen_dwarfmodest
* add more code docs about unpause detection
* use new focus subsystem in widgets.EditField
* always eat the enter key if we have an on_submit
* add modal attribute
* give EditFields a default height of 1
so they can be autoarranged
* implement keyboard focus subsystem
* Fix error in focus group combining
* documentation for the inputToSubviews decision
* modify unit tests to catch that last bug
* fix wrong `Label.frame_body.x2` value
`update_scroll_inset` might change `frame_inset`, i.e. we need to `computeFrame` with the new values.
* add tests for Label
* add missing `local`, remove code in comments
* move `TestFramedScreen` outside test functions
Previously, only frames in the file that called `expect.*()` were printed.
This change allows calling `expect.*()` from functions called by the files
under test. See dfhack/scripts#385 for an example with `expect.fail()`.
* test jsoncpp upgrade
* use new json library target name
* don't remap the output dirs
* undo warnings at the source
* set new defaults for jsoncpp
* fix typo in new options
* fix signed comparison mismatch warning
* address random(?) compile failures
saying our std::atomic is not initialized in Debug.cpp
The check previously matched any filename ending in `lua`, not `.lua`. This
caused failures in my fork because I had a branch ending in `-lua`, which
created a file of that name in `.git/refs` that was not a valid Lua script.
For extra good measure, anything under `.git` is ignored now as well.