diff --git a/src/wsdebug.h b/src/wsdebug.h
new file mode 100644
index 0000000..03da569
--- /dev/null
+++ b/src/wsdebug.h
@@ -0,0 +1,81 @@
+/* vi:set ts=8 sts=8 sw=8:
+ *
+ * VIM - Vi IMproved	by Bram Moolenaar
+ *			Visual Workshop integration by Gordon Prieur
+ *
+ * Do ":help uganda"  in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+ */
+
+
+#ifndef WSDEBUG_H
+#define WSDEBUG_H
+
+#ifdef WSDEBUG
+
+#ifndef ASSERT
+#define ASSERT(c) \
+    if (!(c)) { \
+	fprintf(stderr, "Assertion failed: line %d, file %s\n", \
+		__LINE__, __FILE__); \
+	fflush(stderr); \
+	abort(); \
+    }
+#endif
+
+#define WS_TRACE		0x00000001
+#define WS_TRACE_VERBOSE	0x00000002
+#define WS_TRACE_COLONCMD	0x00000004
+#define WS_DEBUG_ALL		0xffffffff
+
+#define WSDLEVEL(flags)		(ws_debug != NULL && (ws_dlevel & (flags)))
+
+#ifdef USE_WDDUMP
+#include "wdump.h"
+#endif
+
+#define WSDEBUG_TRACE	1
+//#define WSDEBUG_SENSE	2
+
+typedef enum {
+		WT_ENV = 1,		/* look for env var if set */
+		WT_WAIT,		/* look for ~/.gvimwait if set */
+		WT_STOP			/* look for ~/.gvimstop if set */
+} WtWait;
+
+
+void		 wsdebug(char *, ...);
+void		 wstrace(char *, ...);
+
+
+extern FILE	*ws_debug;
+extern u_int	 ws_dlevel;		/* ws_debug verbosity level */
+
+# else		/* not WSDEBUG */
+
+#ifndef ASSERT
+# define ASSERT(c)
+#endif
+
+/*
+ * The following 2 stubs are needed because a macro cannot be used because of
+ * the variable number of arguments.
+ */
+
+void
+wsdebug(
+	char		*fmt,
+	...)
+{
+}
+
+
+void
+wstrace(
+	char		*fmt,
+	...)
+{
+}
+
+#endif /* WSDEBUG */
+#endif /* WSDEBUG_H */
