commit 928a24c20444a652212e544a506ed55c44efdf3b
parent d8031af030c0b0754de850b1e3a21458fea75156
Author: Benno Schulenberg <bensberg@justemail.net>
Date: Thu, 11 Aug 2016 12:37:11 +0200
input: look at the modifier keys only when compiled on Linux
This fixes https://savannah.gnu.org/bugs/?48751 reported by Andrew Ho.
This also fixes compilation when configured with --enable-tiny.
Diffstat:
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/global.c b/src/global.c
@@ -33,8 +33,11 @@ volatile sig_atomic_t sigwinch_counter = 0;
/* Is incremented by the handler whenever a SIGWINCH occurs. */
#endif
+#if defined(__linux__) && !defined(NANO_TINY)
bool console;
/* Whether we're running on a Linux VC (TRUE) or under X (FALSE). */
+#endif
+
bool meta_key;
/* Whether the current keystroke is a Meta key. */
bool focusing = TRUE;
diff --git a/src/nano.c b/src/nano.c
@@ -2482,9 +2482,10 @@ int main(int argc, char **argv)
/* Set up the terminal state. */
terminal_init();
+#if defined(__linux__) && !defined(NANO_TINY)
/* Check whether we're running on a Linux console. */
console = (getenv("DISPLAY") == NULL);
-
+#endif
#ifdef DEBUG
fprintf(stderr, "Main: set up windows\n");
#endif
diff --git a/src/proto.h b/src/proto.h
@@ -30,7 +30,10 @@
extern volatile sig_atomic_t sigwinch_counter;
#endif
+#if defined(__linux__) && !defined(NANO_TINY)
extern bool console;
+#endif
+
extern bool meta_key;
extern bool focusing;
diff --git a/src/winio.c b/src/winio.c
@@ -23,7 +23,9 @@
#include "proto.h"
#include "revision.h"
+#if defined(__linux__) && !defined(NANO_TINY)
#include <sys/ioctl.h>
+#endif
#include <stdio.h>
#include <stdarg.h>
@@ -504,6 +506,7 @@ int parse_kbinput(WINDOW *win)
return sc_seq_or(do_next_block, 0);
#endif
+#if defined(__linux__) && !defined(NANO_TINY)
/* When not running under X, check for the bare arrow keys whether
* the Ctrl key is being held together with them. */
if (console && (retval == KEY_UP || retval == KEY_DOWN ||
@@ -521,6 +524,7 @@ int parse_kbinput(WINDOW *win)
return sc_seq_or(do_next_word_void, 0);
}
}
+#endif /* __linux__ && !NANO_TINY */
switch (retval) {
#ifdef KEY_SLEFT