#include <algorithm>
-#include "Utils.H"
-#include "Bot.H"
#include "BotInterp.H"
+#include "Bot.H"
+#include "Interp.H"
+#include "Utils.H"
+
#ifdef USESCRIPTS
#include <libguile.h>
it != hooks[hooktype].rend();
++it)
{
- std::cerr << "Matching...\n";
if (scm_regexp_exec((*it)->regex, Utils::str2scm (match),
SCM_UNDEFINED, SCM_UNDEFINED) != SCM_BOOL_F)
{
- std::cerr << " Match " << (*it)->regex_str << std::endl;
bool fallthru_p = (*it)->fallthru;
wd.func = (*it)->function;
- result = scm_internal_catch(SCM_BOOL_T,
- (scm_t_catch_body)
- Interp::LazyApplyWrapper,
- static_cast<void *> (&wd),
- (scm_t_catch_handler) Interp::EmptyHandler, 0);
+ result = scm_c_with_throw_handler (SCM_BOOL_T,
+ (scm_t_catch_body)
+ Interp::LazyApplyWrapper,
+ static_cast<void *> (&wd),
+ (scm_t_catch_handler) Interp::EmptyHandler,
+ 0,
+ 0);
if (!fallthru_p)
break;
}
{
wd.func = current_timer.function;
- scm_internal_catch (SCM_BOOL_T,
- (scm_t_catch_body) Interp::LazyApplyWrapper,
- (void *)&wd,
- (scm_t_catch_handler) Interp::EmptyHandler,
- 0);
+ scm_c_with_throw_handler (SCM_BOOL_T,
+ (scm_t_catch_body) Interp::LazyApplyWrapper,
+ (void *)&wd,
+ (scm_t_catch_handler) Interp::EmptyHandler,
+ 0,
+ 0);
// The timer list may have been modified by the timer
// callback; if it has in such a way that the first queue