0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 7.4.861

Problem:    pango_shape_full() is not always available.
Solution:   Add a configure check.
This commit is contained in:
Bram Moolenaar
2015-09-08 20:00:22 +02:00
parent a122b5e98a
commit 3cbe0c01ad
5 changed files with 57 additions and 0 deletions

31
src/auto/configure vendored
View File

@@ -12181,6 +12181,37 @@ else
$as_echo "yes" >&6; }
fi
if test "x$GTK_CFLAGS" != "x"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pango_shape_full" >&5
$as_echo_n "checking for pango_shape_full... " >&6; }
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <gtk/gtk.h>
int
main ()
{
pango_shape_full(NULL, 0, NULL, 0, NULL, NULL);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }; $as_echo "#define HAVE_PANGO_SHAPE_FULL 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-gpm argument" >&5
$as_echo_n "checking --disable-gpm argument... " >&6; }
# Check whether --enable-gpm was given.

View File

@@ -369,6 +369,9 @@
#undef HAVE_SOLARIS_ACL
#undef HAVE_AIX_ACL
/* Define if pango_shape_full() is available. */
#undef HAVE_PANGO_SHAPE_FULL
/* Define if you want to add support of GPM (Linux console mouse daemon) */
#undef HAVE_GPM

View File

@@ -3539,6 +3539,22 @@ else
AC_MSG_RESULT(yes)
fi
if test "x$GTK_CFLAGS" != "x"; then
dnl pango_shape_full() is new, fall back to pango_shape().
AC_MSG_CHECKING(for pango_shape_full)
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
AC_TRY_COMPILE(
[#include <gtk/gtk.h>],
[ pango_shape_full(NULL, 0, NULL, 0, NULL, NULL); ],
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_PANGO_SHAPE_FULL),
AC_MSG_RESULT(no))
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
AC_MSG_CHECKING(--disable-gpm argument)
AC_ARG_ENABLE(gpm,
[ --disable-gpm Don't use gpm (Linux mouse daemon).], ,

View File

@@ -5063,8 +5063,13 @@ not_ascii:
* done, because drawing the cursor would change the display. */
item->analysis.shape_engine = default_shape_engine;
#ifdef HAVE_PANGO_SHAPE_FULL
pango_shape_full((const char *)s + item->offset, item->length,
(const char *)s, len, &item->analysis, glyphs);
#else
pango_shape((const char *)s + item->offset, item->length,
&item->analysis, glyphs);
#endif
/*
* Fixed-width hack: iterate over the array and assign a fixed
* width to each glyph, thus overriding the choice made by the

View File

@@ -741,6 +741,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
861,
/**/
860,
/**/