aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2022-11-20 18:07:04 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2022-11-20 18:07:04 +0100
commit101a8685268a188d1bb3f86146f61a090d8ea888 (patch)
tree8f4ef5ef5b22ae9fb14de3fe2a68a367cfad927d
parentef04eaad307df4e6b0a6b4d713401df81ba5afc6 (diff)
downloadsciteco-101a8685268a188d1bb3f86146f61a090d8ea888.tar.gz
bumped required PDCursesMod version to v4.3.4 or later
* allows us to get rid of some workarounds * the workarounds themselves required relatively recent PDCursesMod versions, so we can just as well bump the version yet another time. We are probably the only ones building it (via Github actions) anyway. * With v4.3.4 you should be able to link dynamically, but we are still linking statically for nightly builds to keep binary sizes small. Unfortunately, the glib builds shipping with MinGW still have dynamically linked helper executables.
-rw-r--r--INSTALL6
-rw-r--r--configure.ac7
-rw-r--r--src/interface-curses/interface.c16
3 files changed, 3 insertions, 26 deletions
diff --git a/INSTALL b/INSTALL
index a8b1264..cd2f10e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -26,12 +26,12 @@ SciTECO Build and Runtime Dependencies
I recommend ncurses 6.0 or later.
* NetBSD Curses (https://github.com/sabotage-linux/netbsd-curses).
This is the default on NetBSD.
+ * PDCursesMod v4.3.4 or later (https://github.com/Bill-Gray/PDCursesMod.git).
+ This is the recommended flavor of PDCurses to use.
+ * PDCurses/EMCurses (https://github.com/rhaberkorn/emcurses).
* PDCurses/XCurses (http://pdcurses.sourceforge.net/).
Note that XCurses v3.4 appears to be broken, you may have to
build from PDCurses Git instead.
- * PDCursesMod (https://github.com/Bill-Gray/PDCursesMod.git).
- I recommend v4.3.2 or later.
- * PDCurses/EMCurses (https://github.com/rhaberkorn/emcurses).
* other curses implementations might work as well but are untested
* When choosing the GTK interface:
* GTK+ v3.12 or later: http://www.gtk.org/
diff --git a/configure.ac b/configure.ac
index 0ad8594..3f50576 100644
--- a/configure.ac
+++ b/configure.ac
@@ -298,13 +298,6 @@ case $INTERFACE in
AC_DEFINE(PDC_FORCE_UTF8, 1, [PDCursesMod forces use of UTF8])
])
- # This is actually a symbol (CRITICAL_SECTION) used by PDCursesMod/WinGUI
- # for synchronization. We use this as a workaround to gain responsiveness
- # while polling for keypresses.
- # NOTE: Can currently only be detected when linking against the static
- # libpdcurses_wingui.a.
- AC_CHECK_FUNCS([PDC_cs])
-
# This is detectable at runtime on PDCursesMod using PDC_get_version().
# "Classic" PDCurses however does not allow runtime or compile-time checks for
# discerning eg. WinCon from SDL.
diff --git a/src/interface-curses/interface.c b/src/interface-curses/interface.c
index 5503d11..a6e285c 100644
--- a/src/interface-curses/interface.c
+++ b/src/interface-curses/interface.c
@@ -366,10 +366,6 @@ teco_interface_init(void)
{
for (guint i = 0; i < G_N_ELEMENTS(teco_interface.color_table); i++)
teco_interface.color_table[i] = -1;
-#if defined(__PDCURSESMOD__) && defined(PDCURSES_GUI)
- /* NOTE: Fixed and no longer necessary in PDCursesMod v4.3.3. */
- teco_interface.color_table[8] = 0x808080;
-#endif
for (guint i = 0; i < G_N_ELEMENTS(teco_interface.orig_color_table); i++)
teco_interface.orig_color_table[i].r = -1;
@@ -1476,18 +1472,6 @@ teco_interface_is_interrupted(void)
gint key;
/*
- * This is a workaround for PDCursesMod/WinGUI that will
- * likely be fixed in versions newer than v4.3.3.
- * See also https://github.com/Bill-Gray/PDCursesMod/issues/197
- */
-#if defined(HAVE_PDC_CS) && PDC_BUILD <= 4303
- extern CRITICAL_SECTION PDC_cs;
- LeaveCriticalSection(&PDC_cs);
- SwitchToThread();
- EnterCriticalSection(&PDC_cs);
-#endif
-
- /*
* NOTE: getch() is configured to be nonblocking.
*/
while ((key = wgetch(teco_interface.cmdline_window)) != ERR) {