+#if !defined(mvwvline) && !HAVE_MVWVLINE
+#define mvwvline(w,y,x,ch,n) (move(y,x) == ERR ? ERR : wvline(w,ch,n))
+#define mvwhline(w,y,x,ch,n) (move(y,x) == ERR ? ERR : whline(w,ch,n))
+#endif
+
+#if !defined(mvvline) && !HAVE_MVVLINE
+#define mvvline(y,x,ch,n) (move(y,x) == ERR ? ERR : vline(ch,n))
+#define mvhline(y,x,ch,n) (move(y,x) == ERR ? ERR : hline(ch,n))
+#endif
+
+/*
+ * Try to accommodate curses implementations that have no terminfo support.
+ */
+#if HAVE_TIGETNUM
+#define TIGETNUM(ti,tc) tigetnum(ti)
+#else
+#define TIGETNUM(ti,tc) tgetnum(tc)
+#endif
+
+#if HAVE_TIGETSTR
+#define TIGETSTR(ti,tc) tigetstr(ti)
+#else
+#define TIGETSTR(ti,tc) tgetstr(tc,&area_pointer)
+#endif
+