diff -ru tcsh-6.24.07.orig/configure tcsh-6.24.07/configure
--- tcsh-6.24.07.orig/configure 2022-12-21 20:44:53.000000000 +0100
+++ tcsh-6.24.07/configure 2022-12-27 12:27:29.897963800 +0100
@@ -6171,6 +6171,10 @@
*-qnx6*) :
tcsh_config_file=qnx6
;; #(
+ ## Midipix
+ *-midipix*) :
+ tcsh_config_file=midipix
+ ;; #(
*) :
as_fn_error $? "Tcsh can't guess the configuration file name
for \`${host}' systems.
--- tcsh-6.24.07/Makefile.in.orig 2022-12-21 20:44:53.000000000 +0100
+++ tcsh-6.24.07/Makefile.in 2023-03-26 13:56:59.529589767 +0200
@@ -431,6 +431,7 @@
#CC= cc -h0,ansi,novector,float0
#CC= lcc -wa
CC_FOR_GETHOST = @CC_FOR_GETHOST@
+CPPFLAGS_FOR_GETHOST=-I. -I$(srcdir)
ED= ed
AS= as
RM= rm
@@ -506,7 +507,7 @@
# emxbind tcsh
gethost.${SUF}: gethost.c sh.err.h tc.const.h sh.h
- ${CC_FOR_GETHOST} ${CF} ${CPPFLAGS} ${CFLAGS} $(srcdir)/gethost.c
+ ${CC_FOR_GETHOST} ${CF} ${CPPFLAGS_FOR_GETHOST} ${CFLAGS_FOR_GETHOST} $(srcdir)/gethost.c
gethost: gethost.${SUF}
rm -f gethost
@@ -595,7 +596,7 @@
@echo '/* Do not edit this file, make creates it. */' > $@.tmp
@echo '#ifndef _h_tc_const' >> $@.tmp
@echo '#define _h_tc_const' >> $@.tmp
- ${CPP} $(CPPFLAGS) ${DFLAGS} ${EXTRAFLAGS} -D_h_tc_const\
+ ${CPP} $(CFLAGS) $(CPPFLAGS) ${DFLAGS} ${EXTRAFLAGS} -D_h_tc_const\
$(srcdir)/tc.const.c | \
sed -n -e 's/^\(Char STR[a-zA-Z0-9_]*\) *\[ *\].*/extern \1[];/p' | \
LC_COLLATE=C sort >> $@.tmp
diff -ru tcsh-6.23.02.orig/config_f.h tcsh-6.23.02/config_f.h
--- tcsh-6.23.02.orig/config_f.h 2022-01-03 09:03:03.000000000 +0100
+++ tcsh-6.23.02/config_f.h 2022-02-01 11:36:23.327968800 +0100
@@ -149,7 +149,7 @@
* This can be much slower and no memory statistics will be
* provided.
*/
-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__) || !defined(HAVE_WORKING_SBRK)
+#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__) || defined(__midipix__) || !defined(HAVE_WORKING_SBRK)
# define SYSMALLOC
#else
# undef SYSMALLOC
diff -Nru tcsh-6.22.00.orig/config/midipix tcsh-6.22.00/config/midipix
--- tcsh-6.22.00.orig/system/midipix 1970-01-01 01:00:00.000000000 +0100
+++ tcsh-6.22.00/system/midipix 2020-08-21 19:12:56.066600827 +0200
@@ -0,0 +1,138 @@
+/*
+ * config.h -- configure various defines for tcsh
+ *
+ * All source files should #include this FIRST.
+ *
+ * This is the config file for midipix systems
+ */
+
+#ifndef _h_config
+#define _h_config
+/****************** System dependant compilation flags ****************/
+/*
+ * POSIX This system supports IEEE Std 1003.1-1988 (POSIX).
+ */
+#define POSIX
+
+/*
+ * POSIXJOBS This system supports the optional IEEE Std 1003.1-1988 (POSIX)
+ * job control facilities.
+ */
+#define POSIXJOBS
+
+/*
+ * VFORK This machine has a vfork().
+ * It used to be that for job control to work, this define
+ * was mandatory. This is not the case any more.
+ * If you think you still need it, but you don't have vfork,
+ * define this anyway and then do #define vfork fork.
+ * I do this anyway on a Sun because of yellow pages brain damage,
+ * [should not be needed under 4.1]
+ * and on the iris4d cause SGI's fork is sufficiently "virtual"
+ * that vfork isn't necessary. (Besides, SGI's vfork is weird).
+ * Note that some machines eg. rs6000 have a vfork, but not
+ * with the berkeley semantics, so we cannot use it there either.
+ */
+#undef VFORK
+
+/*
+ * BSDJOBS You have BSD-style job control (both process groups and
+ * a tty that deals correctly
+ */
+#define BSDJOBS
+
+/*
+ * BSDTIMES You have BSD-style process time stuff (like rusage)
+ * This may or may not be true. For example, Apple Unix
+ * (OREO) has BSDJOBS but not BSDTIMES.
+ */
+#define BSDTIMES
+
+/*
+ * BSDLIMIT You have BSD-style resource limit stuff (getrlimit/setrlimit)
+ */
+#define BSDLIMIT
+
+/*
+ * TERMIO You have struct termio instead of struct sgttyb.
+ * This is usually the case for SVID systems, where
+ * BSD uses sgttyb. POSIX systems should define this
+ * anyway, even though they use struct termios.
+ */
+#define TERMIO
+
+/*
+ * SYSVREL Your machine is SYSV based (HPUX, A/UX)
+ * NOTE: don't do this if you are on a Pyramid -- tcsh is
+ * built in a BSD universe.
+ * Set SYSVREL to 1, 2, 3, or 4, depending the version of System V
+ * you are running. Or set it to 0 if you are not SYSV based
+ *
+ * Note: Linux should work with any SYSVREL < 3.
+ */
+#define SYSVREL 2
+
+/*
+ * YPBUGS Work around Sun YP bugs that cause expansion of ~username
+ * to send command output to /dev/null
+ */
+#undef YPBUGS
+
+/*
+ * Get the name space we want.
+ *
+ * The more recent defaults for gcc (e.g. on Red Hat 7.0)
+ * also define _POSIX_C_SOURCE, which throws our code off.
+ */
+
+#define __STRICT_ANSI__
+#ifndef _BSD_SOURCE
+# define _BSD_SOURCE
+#endif
+#ifndef _SVID_SOURCE
+# define _SVID_SOURCE
+#endif
+#ifndef _POSIX_SOURCE
+# define _POSIX_SOURCE
+#endif
+#ifndef _XOPEN_SOURCE
+# define _XOPEN_SOURCE 500
+#endif
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+/*
+ * Large file support from <features.h>
+ */
+
+#ifndef _LARGEFILE_SOURCE
+# define _LARGEFILE_SOURCE
+#endif
+#ifndef _LARGEFILE64_SOURCE
+# define _LARGEFILE64_SOURCE
+#endif
+#ifndef _FILE_OFFSET_BITS
+# define _FILE_OFFSET_BITS 64
+#endif
+
+/****************** local defines *********************/
+#ifndef _PATH_TCSHELL
+#define _PATH_TCSHELL "/bin/tcsh"
+#endif
+#define ECHO_STYLE BOTH_ECHO
+
+#if !defined(SYSMALLOC)
+# define SYSMALLOC
+#endif
+#if !defined(NISPLUS)
+# define NISPLUS
+#endif
+#if !defined(POSIX)
+# define POSIX
+#endif
+
+/* midipix allows paths prepended with double slashes (network paths). */
+#define HAVE_SLASHSLASH 1
+
+#endif /* _h_config */
diff -Nru tcsh-6.22.00.orig/ed.inputl.c tcsh-6.22.00/ed.inputl.c
--- tcsh-6.22.00.orig/ed.inputl.c 2019-11-28 17:00:05.000000000 +0100
+++ tcsh-6.22.00/ed.inputl.c 2020-08-21 19:22:12.899460169 +0200
@@ -34,6 +34,8 @@
#include "ed.defns.h" /* for the function names */
#include "tw.h" /* for twenex stuff */
+#include <wchar.h>
+
#define OKCMD INT_MAX
/* ed.inputl -- routines to get a single line from the input. */
diff -Nru tcsh-6.22.00.orig/sh.h tcsh-6.22.00/sh.h
--- tcsh-6.22.00.orig/sh.h 2019-11-28 17:00:05.000000000 +0100
+++ tcsh-6.22.00/sh.h 2020-08-21 19:10:44.030604961 +0200
@@ -337,7 +337,7 @@
#endif /* POSIX && !WINNT_NATIVE */
#include <limits.h>
-#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
+#if SYSVREL > 0 || defined(_IBMR2) || defined(_MINIX) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) || defined(__midipix__)
# if !defined(pyr) && !defined(stellar)
# include <time.h>
# ifdef _MINIX