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