aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmdline.cpp6
-rw-r--r--src/interface-curses/interface-curses.cpp13
-rw-r--r--src/parser.h8
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)