Karsten Hopp a7547f
To: vim_dev@googlegroups.com
Karsten Hopp a7547f
Subject: Patch 7.4.861
Karsten Hopp a7547f
Fcc: outbox
Karsten Hopp a7547f
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp a7547f
Mime-Version: 1.0
Karsten Hopp a7547f
Content-Type: text/plain; charset=UTF-8
Karsten Hopp a7547f
Content-Transfer-Encoding: 8bit
Karsten Hopp a7547f
------------
Karsten Hopp a7547f
Karsten Hopp a7547f
Patch 7.4.861 (after 7.4.855)
Karsten Hopp a7547f
Problem:    pango_shape_full() is not always available.
Karsten Hopp a7547f
Solution:   Add a configure check.
Karsten Hopp a7547f
Files:      src/configure.in, src/auto/configure, src/config.h.in,
Karsten Hopp a7547f
            src/gui_gtk_x11.c
Karsten Hopp a7547f
Karsten Hopp a7547f
Karsten Hopp a7547f
*** ../vim-7.4.860/src/configure.in	2015-06-21 13:41:02.811278596 +0200
Karsten Hopp a7547f
--- src/configure.in	2015-09-08 19:50:24.985682545 +0200
Karsten Hopp a7547f
***************
Karsten Hopp a7547f
*** 3539,3544 ****
Karsten Hopp a7547f
--- 3539,3560 ----
Karsten Hopp a7547f
    AC_MSG_RESULT(yes)
Karsten Hopp a7547f
  fi
Karsten Hopp a7547f
  
Karsten Hopp a7547f
+ if test "x$GTK_CFLAGS" != "x"; then
Karsten Hopp a7547f
+   dnl pango_shape_full() is new, fall back to pango_shape().
Karsten Hopp a7547f
+   AC_MSG_CHECKING(for pango_shape_full)
Karsten Hopp a7547f
+   ac_save_CFLAGS="$CFLAGS"
Karsten Hopp a7547f
+   ac_save_LIBS="$LIBS"
Karsten Hopp a7547f
+   CFLAGS="$CFLAGS $GTK_CFLAGS"
Karsten Hopp a7547f
+   LIBS="$LIBS $GTK_LIBS"
Karsten Hopp a7547f
+   AC_TRY_COMPILE(
Karsten Hopp a7547f
+   [#include <gtk/gtk.h>],
Karsten Hopp a7547f
+   [ pango_shape_full(NULL, 0, NULL, 0, NULL, NULL); ],
Karsten Hopp a7547f
+ 	  AC_MSG_RESULT(yes); AC_DEFINE(HAVE_PANGO_SHAPE_FULL),
Karsten Hopp a7547f
+ 	  AC_MSG_RESULT(no))
Karsten Hopp a7547f
+   CFLAGS="$ac_save_CFLAGS"
Karsten Hopp a7547f
+   LIBS="$ac_save_LIBS"
Karsten Hopp a7547f
+ fi
Karsten Hopp a7547f
+ 
Karsten Hopp a7547f
  AC_MSG_CHECKING(--disable-gpm argument)
Karsten Hopp a7547f
  AC_ARG_ENABLE(gpm,
Karsten Hopp a7547f
  	[  --disable-gpm           Don't use gpm (Linux mouse daemon).], ,
Karsten Hopp a7547f
*** ../vim-7.4.860/src/auto/configure	2015-06-21 13:41:02.815278555 +0200
Karsten Hopp a7547f
--- src/auto/configure	2015-09-08 19:56:12.910128272 +0200
Karsten Hopp a7547f
***************
Karsten Hopp a7547f
*** 12181,12186 ****
Karsten Hopp a7547f
--- 12181,12217 ----
Karsten Hopp a7547f
  $as_echo "yes" >&6; }
Karsten Hopp a7547f
  fi
Karsten Hopp a7547f
  
Karsten Hopp a7547f
+ if test "x$GTK_CFLAGS" != "x"; then
Karsten Hopp a7547f
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pango_shape_full" >&5
Karsten Hopp a7547f
+ $as_echo_n "checking for pango_shape_full... " >&6; }
Karsten Hopp a7547f
+   ac_save_CFLAGS="$CFLAGS"
Karsten Hopp a7547f
+   ac_save_LIBS="$LIBS"
Karsten Hopp a7547f
+   CFLAGS="$CFLAGS $GTK_CFLAGS"
Karsten Hopp a7547f
+   LIBS="$LIBS $GTK_LIBS"
Karsten Hopp a7547f
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
Karsten Hopp a7547f
+ /* end confdefs.h.  */
Karsten Hopp a7547f
+ #include <gtk/gtk.h>
Karsten Hopp a7547f
+ int
Karsten Hopp a7547f
+ main ()
Karsten Hopp a7547f
+ {
Karsten Hopp a7547f
+  pango_shape_full(NULL, 0, NULL, 0, NULL, NULL);
Karsten Hopp a7547f
+   ;
Karsten Hopp a7547f
+   return 0;
Karsten Hopp a7547f
+ }
Karsten Hopp a7547f
+ _ACEOF
Karsten Hopp a7547f
+ if ac_fn_c_try_compile "$LINENO"; then :
Karsten Hopp a7547f
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
Karsten Hopp a7547f
+ $as_echo "yes" >&6; }; $as_echo "#define HAVE_PANGO_SHAPE_FULL 1" >>confdefs.h
Karsten Hopp a7547f
+ 
Karsten Hopp a7547f
+ else
Karsten Hopp a7547f
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
Karsten Hopp a7547f
+ $as_echo "no" >&6; }
Karsten Hopp a7547f
+ fi
Karsten Hopp a7547f
+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
Karsten Hopp a7547f
+   CFLAGS="$ac_save_CFLAGS"
Karsten Hopp a7547f
+   LIBS="$ac_save_LIBS"
Karsten Hopp a7547f
+ fi
Karsten Hopp a7547f
+ 
Karsten Hopp a7547f
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-gpm argument" >&5
Karsten Hopp a7547f
  $as_echo_n "checking --disable-gpm argument... " >&6; }
Karsten Hopp a7547f
  # Check whether --enable-gpm was given.
Karsten Hopp a7547f
*** ../vim-7.4.860/src/config.h.in	2014-10-11 14:47:22.825275547 +0200
Karsten Hopp a7547f
--- src/config.h.in	2015-09-08 19:56:07.242186195 +0200
Karsten Hopp a7547f
***************
Karsten Hopp a7547f
*** 369,374 ****
Karsten Hopp a7547f
--- 369,377 ----
Karsten Hopp a7547f
  #undef HAVE_SOLARIS_ACL
Karsten Hopp a7547f
  #undef HAVE_AIX_ACL
Karsten Hopp a7547f
  
Karsten Hopp a7547f
+ /* Define if pango_shape_full() is available. */
Karsten Hopp a7547f
+ #undef HAVE_PANGO_SHAPE_FULL
Karsten Hopp a7547f
+ 
Karsten Hopp a7547f
  /* Define if you want to add support of GPM (Linux console mouse daemon) */
Karsten Hopp a7547f
  #undef HAVE_GPM
Karsten Hopp a7547f
  
Karsten Hopp a7547f
*** ../vim-7.4.860/src/gui_gtk_x11.c	2015-09-08 16:31:01.673123014 +0200
Karsten Hopp a7547f
--- src/gui_gtk_x11.c	2015-09-08 19:54:10.199382153 +0200
Karsten Hopp a7547f
***************
Karsten Hopp a7547f
*** 5063,5070 ****
Karsten Hopp a7547f
--- 5063,5075 ----
Karsten Hopp a7547f
  	     * done, because drawing the cursor would change the display. */
Karsten Hopp a7547f
  	    item->analysis.shape_engine = default_shape_engine;
Karsten Hopp a7547f
  
Karsten Hopp a7547f
+ #ifdef HAVE_PANGO_SHAPE_FULL
Karsten Hopp a7547f
  	    pango_shape_full((const char *)s + item->offset, item->length,
Karsten Hopp a7547f
  		    (const char *)s, len, &item->analysis, glyphs);
Karsten Hopp a7547f
+ #else
Karsten Hopp a7547f
+ 	    pango_shape((const char *)s + item->offset, item->length,
Karsten Hopp a7547f
+ 			&item->analysis, glyphs);
Karsten Hopp a7547f
+ #endif
Karsten Hopp a7547f
  	    /*
Karsten Hopp a7547f
  	     * Fixed-width hack: iterate over the array and assign a fixed
Karsten Hopp a7547f
  	     * width to each glyph, thus overriding the choice made by the
Karsten Hopp a7547f
*** ../vim-7.4.860/src/version.c	2015-09-08 19:13:17.568494100 +0200
Karsten Hopp a7547f
--- src/version.c	2015-09-08 19:52:12.152588060 +0200
Karsten Hopp a7547f
***************
Karsten Hopp a7547f
*** 743,744 ****
Karsten Hopp a7547f
--- 743,746 ----
Karsten Hopp a7547f
  {   /* Add new patch number below this line */
Karsten Hopp a7547f
+ /**/
Karsten Hopp a7547f
+     861,
Karsten Hopp a7547f
  /**/
Karsten Hopp a7547f
Karsten Hopp a7547f
-- 
Karsten Hopp a7547f
Looking at Perl through Lisp glasses, Perl looks atrocious.
Karsten Hopp a7547f
Karsten Hopp a7547f
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp a7547f
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp a7547f
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp a7547f
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///