diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cmdline.cpp | 6 | ||||
-rw-r--r-- | src/interface-curses/interface-curses.cpp | 13 | ||||
-rw-r--r-- | src/parser.h | 8 |
3 files changed, 18 insertions, 9 deletions
diff --git a/src/cmdline.cpp b/src/cmdline.cpp index daf1a9b..9262e27 100644 --- a/src/cmdline.cpp +++ b/src/cmdline.cpp @@ -47,6 +47,12 @@ #include "error.h" #include "cmdline.h" +extern "C" { +#if defined(HAVE_MALLOC_TRIM) && !HAVE_DECL_MALLOC_TRIM +int malloc_trim(size_t pad); +#endif +} + namespace SciTECO { static gchar *filename_complete(const gchar *filename, gchar completed = ' ', diff --git a/src/interface-curses/interface-curses.cpp b/src/interface-curses/interface-curses.cpp index 96ce0d4..a06fe30 100644 --- a/src/interface-curses/interface-curses.cpp +++ b/src/interface-curses/interface-curses.cpp @@ -89,6 +89,15 @@ #define A_UNDERLINE 0 #endif +/** + * Whether we're on EMCurses. + * Could be replaced with a configure-time check for + * PDC_emscripten_set_handler(). + */ +#if defined(__PDCURSES__) && defined(EMSCRIPTEN) +#define EMCURSES +#endif + #ifdef NCURSES_VERSION #if defined(G_OS_UNIX) || defined(G_OS_HAIKU) /** @@ -630,7 +639,7 @@ InterfaceCurses::init_interactive(void) cmdline_window = newwin(0, 0, LINES - 1, 0); keypad(cmdline_window, TRUE); -#ifdef EMSCRIPTEN +#ifdef EMCURSES nodelay(cmdline_window, TRUE); #endif @@ -1533,7 +1542,7 @@ InterfaceCurses::event_loop_impl(void) wnoutrefresh(cmdline_window); doupdate(); -#ifdef EMSCRIPTEN +#ifdef EMCURSES PDC_emscripten_set_handler(event_loop_iter, TRUE); /* * We must not block emscripten's main loop, diff --git a/src/parser.h b/src/parser.h index f61d335..9255268 100644 --- a/src/parser.h +++ b/src/parser.h @@ -149,13 +149,7 @@ protected: MicroState state; -#ifdef EMSCRIPTEN - /* FIXME: Shouldn't be required! */ - __attribute__((noinline)) -#else - inline -#endif - void + inline void set(MicroState next) { if (next != state) |