Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: Re: Build Failures on SunOS-4.1 and 5.5



On Apr 12,  3:29pm, Wayne Davison wrote:
} Subject: Re: PATCH: Re: Build Failures on SunOS-4.1 and 5.5
}
} So, I moved the include of curses.h into Sys/system.h, and had to put
} it before the inclusion of termios.h (or else the sgtty structure
} would not get completely defined).  THEN, term.h defines several
} lower-case macros that interfere with variable names in zsh, so I had
} to undef "tab", "lines", and "columns".  And if that weren't enough, I
} had to change the name of the "move" function pointer in files.c

Well, bleah.

The whole point of using <termcap.h> if available and the block in
prototypes.h if not was to avoid including <curses.h> at the top level
of zsh, exactly because of all those silly conflicts.  If <term.h> is
not usable without <curses.h>, we were better off where we started.

So how about the following (also not yet committed); I'm not sure how
it flies with respect to your needing to put curses.h above termios.h,
but it should be equivalent to what Clint originally committed with
respect to Src/Modules/terminfo.c.

Index: Src/prototypes.h
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/prototypes.h,v
retrieving revision 1.3
diff -u -r1.3 prototypes.h
--- Src/prototypes.h	2001/04/12 17:11:40	1.3
+++ Src/prototypes.h	2001/04/12 23:04:19
@@ -33,7 +33,7 @@
 char *calloc _((size_t, size_t));
 #endif
 
-#if !(defined(HAVE_TERMCAP_H) || defined(HAVE_TERM_H))
+#if !(defined(USES_TERMCAP_H) || defined(USES_TERM_H))
 extern int tgetent _((char *bp, char *name));
 extern int tgetnum _((char *id));
 extern int tgetflag _((char *id));
Index: Src/system.h
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/system.h,v
retrieving revision 1.13
diff -u -r1.13 system.h
--- Src/system.h	2001/04/12 17:11:39	1.13
+++ Src/system.h	2001/04/12 23:04:24
@@ -310,14 +310,6 @@
 # endif  /* HAVE_TERMIO_H  */
 #endif   /* HAVE_TERMIOS_H */
 
-#ifdef HAVE_TERMCAP_H
-# include <termcap.h>
-#else
-# ifdef HAVE_TERM_H
-#  include <term.h>
-# endif
-#endif
-
 #if defined(GWINSZ_IN_SYS_IOCTL) || defined(CLOBBERS_TYPEAHEAD)
 # include <sys/ioctl.h>
 #endif
Index: Src/Modules/termcap.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/termcap.c,v
retrieving revision 1.3
diff -u -r1.3 termcap.c
--- Src/Modules/termcap.c	2001/04/09 15:58:55	1.3
+++ Src/Modules/termcap.c	2001/04/12 23:04:26
@@ -27,12 +27,16 @@
  *
  */
 
+#define USES_TERMCAP_H 1
 #include "termcap.mdh"
 #include "termcap.pro"
 
 /* echotc: output a termcap */
 
 #ifdef HAVE_TGETENT
+# ifdef HAVE_TERMCAP_H
+#  include <termcap.h>
+# endif
 
 /**/
 static int
Index: Src/Modules/terminfo.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/terminfo.c,v
retrieving revision 1.13
diff -u -r1.13 terminfo.c
--- Src/Modules/terminfo.c	2001/04/12 17:11:40	1.13
+++ Src/Modules/terminfo.c	2001/04/12 23:04:30
@@ -27,6 +27,7 @@
  *
  */
 
+#define USES_TERM_H 1
 #include "terminfo.mdh"
 #include "terminfo.pro"
 
@@ -36,6 +37,9 @@
 #ifdef HAVE_TIGETSTR
 # ifdef HAVE_CURSES_H
 #  include <curses.h>
+# endif
+# ifdef HAVE_TERM_H
+#  include <term.h>
 # endif
 
 static Param terminfo_pm;

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   



Messages sorted by: Reverse Date, Date, Thread, Author