From 9b8b3701321546f6c99ba94cbd1deeeeee7847b2 Mon Sep 17 00:00:00 2001
From: Chris Allegretta <chrisa@asty.org>
Date: Mon, 19 Nov 2001 05:09:15 +0000
Subject: [PATCH] Put 1.0 Hurd fixes in 1.1 tree (function keys, SIGTSTP
 sigaction

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@908 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog |  4 ++++
 nano.c    | 12 ++++++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index cb49de3b..7945515b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,10 @@ CVS Code -
 - nano.c:
   main()
 	- Add Esc-[-[IGL] keys for FreeBSD Console (PgUp,PgDn,Insert).
+        - Added better Hurd support for function keys (Alt-V,U,9,@,F).
+  signal_init()
+        - do SIG_IGN for the SIGTSTP sigaction regardless of whether
+          we have _POSIX_VDISABLE or not (more Hurd fixes)
   help_init()
 	- Typo fixes and additions to the new help texts.
 - po/de.po:
diff --git a/nano.c b/nano.c
index 17c410c4..6b80d767 100644
--- a/nano.c
+++ b/nano.c
@@ -2010,10 +2010,11 @@ void signal_init(void)
 	tcgetattr(0, &term);
 	term.c_cc[VSUSP] = _POSIX_VDISABLE;
 	tcsetattr(0, TCSANOW, &term);
-#else
+#endif
+
+	/* The HURD seems to need this anyway! */
 	act.sa_handler = SIG_IGN;
 	sigaction(SIGTSTP, &act, NULL);
-#endif
 
     } else {
 	/* if we don't do this, it seems other stuff interrupts the
@@ -3027,6 +3028,7 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_PPAGE;
 		    wgetch(edit);
 		    break;
+		case 'V':	/* Alt-[-V = Page Up in Hurd Console */
 		case 'I':	/* Alt-[-I = Page Up - FreeBSD Console */
 		    kbinput = KEY_PPAGE;
 		    break;
@@ -3034,6 +3036,7 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_NPAGE;
 		    wgetch(edit);
 		    break;
+		case 'U':	/* Alt-[-U = Page Down in Hurd Console */
 		case 'G':	/* Alt-[-G = Page Down - FreeBSD Console */
 		    kbinput = KEY_NPAGE;
 		    break;
@@ -3045,6 +3048,10 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_END;
 		    wgetch(edit);
 		    break;
+		case '9':	/* Alt-[-9 = Delete in Hurd Console */
+		    kbinput = KEY_DC;
+		    break;
+		case '@':	/* Alt-[-9 = Insert in Hurd Console */
 		case 'L':		/* Insert Key - FreeBSD Console */
 #ifdef ENABLE_MULTIBUFFER
 		    do_insertfile(ISSET(MULTIBUFFER));
@@ -3072,6 +3079,7 @@ int main(int argc, char *argv[])
 		    kbinput = KEY_HOME;
 		    break;
 		case 'F':
+		case 'Y':		/* End Key in Hurd Console */
 		    kbinput = KEY_END;
 		    break;
 		default:
-- 
GitLab