git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7443 c06c8d41-db1a-0410-9941-cceddc491573
4V4YGPXG45JV5ZPAFDEHTLLGAQIFISMHKCZMMJRAD62FVDCL255AC
CK7CT5TUFUL2AQY7FUHB5JI3FC2KSPWUWHXC6VEUJJ7G4OWUQFTAC
ILO5P5FRDUY4SEQEXMTUDKOPXAUBJRSORHHUVTLLCYOYSXBXOVRAC
QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
4EZVKDQA5GM3QDTNTCKEKGH4F6LGAYNLBT756PXODKZ2B7C4ZVHAC
OI7JKBFFIMIGWID2EJSMRP2EPEJH5YY42WTEY4QSSL6PFKRU3KJQC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC
UET576SVCGS2TXEDRTO7BUTOTLJ77MYHIVZJCDWGH2BAXYMKG6DAC
JLCSPMTVGUYTGZNCWPMFITEZZ2CDHL2JF67FFODO5L44OVAW4WWAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
EHP6PYCIPYQ3KF4JFGBTZXEUQHN3FVAH4NUWEOWDDNKGPYVOTOJQC
43ZTEB57FU7KE5EVMYWZONNVJBZCGF3JEAJZIY25LC4LGE65PG5QC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
W6IY6LF3MREPXC23AAKA2BJNUCJYCSOWY55DIWJWFLUEE2Y3LGNQC
-- Sends the characters in keys as keyboard input to crawl, then requests
-- that Crawl process one command.
function crawl.process_keys(keys, yield_value)
if yield_value == nil then
yield_value = true
end
crawl.sendkeys(keys)
crawl.process_command()
coroutine.yield(yield_value)
end
}
// Tell Crawl to process one command.
static int crawl_process_command(lua_State *ls)
{
const bool will_process =
current_delay_action() == DELAY_MACRO || !you_are_delayed();
if (will_process)
{
// This should only be called from a macro delay, but run_macro
// may not have started the macro delay; do so now.
if (!you_are_delayed())
start_delay(DELAY_MACRO, 1);
start_delay(DELAY_MACRO_PROCESS_KEY, 1);
}
lua_pushboolean(ls, will_process);
return (1);