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

Re: Bug#454414: zsh-beta: missing terminfo module



On Wed, Dec 05, 2007 at 08:58:56AM +0000, Stephane Chazelas wrote:
> $ zmodload zsh/terminfo
> zsh: failed to load module `zsh/terminfo': /usr/lib/zsh-beta/4.3.4-dev-3/zsh/terminfo.so: cannot open shared object file: No such file or directory
> 
> Even though it was there in previous versions and it is documented:
> $ info -f zsh-beta --index-search=terminfo
> 
> $ dpkg -L zsh-beta | grep terminfo
> $ 

termcap is still broken on systems that have ncursesw/ncurses.h but no
curses.h.  Maybe the .mdd should also care about ZSH_IGNORE_NCURSES.

Index: Src/Modules/terminfo.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/terminfo.c,v
retrieving revision 1.30
diff -u -r1.30 terminfo.c
--- Src/Modules/terminfo.c	6 Jul 2007 21:52:40 -0000	1.30
+++ Src/Modules/terminfo.c	5 Dec 2007 14:48:34 -0000
@@ -49,7 +49,28 @@
 #  undef offsetof
 # endif
 
-# include <curses.h>
+#ifdef ZSH_IGNORE_NCURSES
+# ifdef HAVE_CURSES_H
+#  include <curses.h>
+# endif
+#else
+# ifdef HAVE_NCURSESW_NCURSES_H
+#  include <ncursesw/ncurses.h>
+# else
+#  ifdef HAVE_NCURSES_NCURSES_H
+#   include <ncurses/ncurses.h>
+#  else
+#   ifdef HAVE_NCURSES_H
+#    include <ncurses.h>
+#   else
+#    ifdef HAVE_CURSES_H
+#     include <curses.h>
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
 # ifdef HAVE_TERM_H
 #  include <term.h>
 # endif
Index: Src/Modules/terminfo.mdd
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/Modules/terminfo.mdd,v
retrieving revision 1.12
diff -u -r1.12 terminfo.mdd
--- Src/Modules/terminfo.mdd	20 Jun 2007 20:59:18 -0000	1.12
+++ Src/Modules/terminfo.mdd	5 Dec 2007 14:48:34 -0000
@@ -1,6 +1,8 @@
 name=zsh/terminfo
 
-link='if test "x$ac_cv_func_tigetflag" = xyes -a "x$ac_cv_header_curses_h" = xyes; then
+link='if test "x$ac_cv_func_tigetflag" = xyes -a "x$ac_cv_header_curses_h" = xyes ||
+      test x$ac_cv_header_ncurses_h = xyes || test x$ac_cv_header_ncurses_ncurses_h = xyes ||
+      test x$ac_cv_header_ncursesw_ncurses_h = xyes; then
           if test "x$zsh_cv_shared_tigetstr" = xyes; then
 	      echo either
 	  else



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