diff -ru zsh-5.7.1.orig/Src/utils.c zsh-5.7.1/Src/utils.c
--- zsh-5.7.1.orig/Src/utils.c 2019-02-01 01:37:34.000000000 +0100
+++ zsh-5.7.1/Src/utils.c 2019-10-19 21:46:34.155130850 +0200
@@ -30,6 +30,8 @@
#include "zsh.mdh"
#include "utils.pro"
+#include <ncurses/term.h>
+
/* name of script being sourced */
/**/
diff -ru zsh-5.7.1.orig/Src/prototypes.h zsh-5.7.1/Src/prototypes.h
--- zsh-5.7.1.orig/Src/prototypes.h 2017-12-04 15:09:36.000000000 +0100
+++ zsh-5.7.1/Src/prototypes.h 2019-10-19 21:57:37.140589499 +0200
@@ -1,134 +1,2 @@
-/*
- * prototypes.h - prototypes header file
- *
- * This file is part of zsh, the Z shell.
- *
- * Copyright (c) 1992-1997 Paul Falstad
- * All rights reserved.
- *
- * Permission is hereby granted, without written agreement and without
- * license or royalty fees, to use, copy, modify, and distribute this
- * software and to distribute modified versions of this software for any
- * purpose, provided that the above copyright notice and the following
- * two paragraphs appear in all copies of this software.
- *
- * In no event shall Paul Falstad or the Zsh Development Group be liable
- * to any party for direct, indirect, special, incidental, or consequential
- * damages arising out of the use of this software and its documentation,
- * even if Paul Falstad and the Zsh Development Group have been advised of
- * the possibility of such damage.
- *
- * Paul Falstad and the Zsh Development Group specifically disclaim any
- * warranties, including, but not limited to, the implied warranties of
- * merchantability and fitness for a particular purpose. The software
- * provided hereunder is on an "as is" basis, and Paul Falstad and the
- * Zsh Development Group have no obligation to provide maintenance,
- * support, updates, enhancements, or modifications.
- *
- */
-
-#ifndef HAVE_STDLIB_H
-char *malloc _((size_t));
-char *realloc _((void *, size_t));
-char *calloc _((size_t, size_t));
-#endif
-
-#if !(defined(USES_TERMCAP_H) || defined(USES_TERM_H))
-/*
- * These prototypes are only used where we don't have the
- * headers. In some cases they need tweaking.
- * TBD: we'd much prefer to get hold of the header where
- * these are defined.
- */
-#ifdef _AIX
-#define TC_CONST const
-#else
-#define TC_CONST
-#endif
-extern int tgetent _((char *bp, TC_CONST char *name));
-extern int tgetnum _((char *id));
-extern int tgetflag _((char *id));
-extern char *tgetstr _((char *id, char **area));
-extern int tputs _((TC_CONST char *cp, int affcnt, int (*outc) (int)));
-#undef TC_CONST
-#endif
-
-/*
- * Some systems that do have termcap headers nonetheless don't
- * declare tgoto, so we detect if that is missing separately.
- */
-#ifdef TGOTO_PROTO_MISSING
-char *tgoto(const char *cap, int col, int row);
-#endif
-
-/* MISSING PROTOTYPES FOR VARIOUS OPERATING SYSTEMS */
-
-#if defined(__hpux) && defined(_HPUX_SOURCE) && !defined(_XPG4_EXTENDED)
-# define SELECT_ARG_2_T int *
-#else
-# define SELECT_ARG_2_T fd_set *
-#endif
-
-#ifdef __osf__
-char *mktemp _((char *));
-#endif
-
-#if defined(__osf__) && defined(__alpha) && defined(__GNUC__)
-/* Digital cc does not need these prototypes, gcc does need them */
-# ifndef HAVE_IOCTL_PROTO
-int ioctl _((int d, unsigned long request, void *argp));
-# endif
-# ifndef HAVE_MKNOD_PROTO
-int mknod _((const char *pathname, int mode, dev_t device));
-# endif
-int nice _((int increment));
-int select _((int nfds, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, struct timeval *timeout));
-#endif
-
-#if defined(DGUX) && defined(__STDC__)
-/* Just plain missing. */
-extern int getrlimit _((int resource, struct rlimit *rlp));
-extern int setrlimit _((int resource, const struct rlimit *rlp));
-extern int getrusage _((int who, struct rusage *rusage));
-extern int gettimeofday _((struct timeval *tv, struct timezone *tz));
-extern int wait3 _((union wait *wait_status, int options, struct rusage *rusage));
-extern int getdomainname _((char *name, int maxlength));
-extern int select _((int nfds, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, struct timeval *timeout));
-#endif /* DGUX and __STDC__ */
-
-#ifdef __NeXT__
-extern pid_t getppid(void);
-#endif
-
-#if defined(__sun__) && !defined(__SVR4) /* SunOS */
-extern char *strerror _((int errnum));
-#endif
-
-/**************************************************/
-/*** prototypes for functions built in compat.c ***/
-#ifndef HAVE_STRSTR
-extern char *strstr _((const char *s, const char *t));
-#endif
-
-#ifndef HAVE_GETHOSTNAME
-extern int gethostname _((char *name, size_t namelen));
-#endif
-
-#ifndef HAVE_GETTIMEOFDAY
-extern int gettimeofday _((struct timeval *tv, struct timezone *tz));
-#endif
-
-#ifndef HAVE_DIFFTIME
-extern double difftime _((time_t t2, time_t t1));
-#endif
-
-#ifndef HAVE_STRERROR
-extern char *strerror _((int errnum));
-#endif
-
-/*** end of prototypes for functions in compat.c ***/
-/***************************************************/
-
-#ifndef HAVE_MEMMOVE
-extern void bcopy _((const void *, void *, size_t));
-#endif
+/* this is really questionable. */
+#define SELECT_ARG_2_T fd_set *