diff --git a/.travis.yml b/.travis.yml
index 17f0418..ab3de51 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,5 @@
 language: c
-# trusty still has a few problems, use precise until they are solved.
-dist: precise
+dist: trusty
 
 os:
   - osx
@@ -22,7 +21,7 @@
     "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
     # ASAN build
   - BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
-    FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
+    FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
     "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
 
 sudo: false
@@ -43,12 +42,12 @@
             "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
     - os: osx
       env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
-            FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
+            FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
             "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
     - os: linux
-      compiler: gcc
+      compiler: clang
       env: BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
-            FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
+            FEATURES=huge SRCDIR=./src CHECK_AUTOCONF=no ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
             "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp'"
     - os: linux
       compiler: clang
@@ -74,15 +73,23 @@
       - python3-dev
       - liblua5.2-dev
       - lua5.2
+      - ruby-dev
       - cscope
+      - libgtk2.0-dev
 
 before_install:
-  - if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls==0.3.12; fi
+  - rvm reset
+    # Remove /opt/python/3.x.x/bin from $PATH for using system python3.
+    # ("pyenv global system" doesn't seem to work.)
+  - if [ "$TRAVIS_OS_NAME" = "linux" ] && which python3 | grep '/opt/python/' > /dev/null; then export PATH=$(echo $PATH | sed -e "s#$(echo $(which python3) | sed -e 's#/python3$##'):##"); fi
+  - if [ "$COVERAGE" = "yes" ]; then pip install --user cpp-coveralls; fi
     # needed for https support for coveralls
     # building cffi only works with gcc, not with clang
   - if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
     # Lua is not installed on Travis OSX
   - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
+    # Use llvm-cov instead of gcov when compiler is clang.
+  - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
 
 # Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
 before_script:
@@ -93,7 +100,8 @@
   - if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
   - if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi
   - (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
-  - if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; fi
+    # Show Vim version and also if_xx versions.
+  - if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
   - if [ -n "$ASAN_OPTIONS" ]; then export PATH=/usr/lib/llvm-$(clang -v 2>&1 | sed -n 's/.*version \([1-9]\.[0-9][0-9]*\).*/\1/p')/bin:$PATH; fi
   - make $SHADOWOPT $TEST
   - if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do cat "$log"; err=1; done; fi
diff --git a/Filelist b/Filelist
index 5038e67..93a397d 100644
--- a/Filelist
+++ b/Filelist
@@ -134,6 +134,7 @@
 		src/testdir/bench*.in \
 		src/testdir/bench*.vim \
 		src/testdir/samples/*.txt \
+		src/testdir/if_ver*.vim \
 		src/proto.h \
 		src/proto/arabic.pro \
 		src/proto/blowfish.pro \
diff --git a/src/testdir/if_ver-1.vim b/src/testdir/if_ver-1.vim
new file mode 100644
index 0000000..3c94c9e
--- /dev/null
+++ b/src/testdir/if_ver-1.vim
@@ -0,0 +1,26 @@
+" Print all interface versions and write the result into if_ver.txt.
+" For Ubuntu. Part 1.
+
+redir! > if_ver.txt
+if 1
+  echo "*** Interface versions ***"
+  echo "\nLua:"
+  lua print(_VERSION)
+  " echo "\nLuaJIT:"
+  " lua print(jit.version)
+  if has('mzscheme')
+    echo "\nMzScheme:"
+    mzscheme (display (version))
+  endif
+  echo "\nPerl:"
+  perl print $^V
+  echo "\nRuby:"
+  ruby print RUBY_VERSION
+  if has('tcl')
+    echo "\nTcl:"
+    tcl puts [info patchlevel]
+  endif
+  echo "\nPython 2:"
+  python import sys; print sys.version
+endif
+redir END
diff --git a/src/testdir/if_ver-2.vim b/src/testdir/if_ver-2.vim
new file mode 100644
index 0000000..a6fedb5
--- /dev/null
+++ b/src/testdir/if_ver-2.vim
@@ -0,0 +1,10 @@
+" Print py3 interface version and write the result into if_ver.txt.
+" For Ubuntu. Part 2.
+
+redir! >> if_ver.txt
+if 1
+  echo "\nPython 3:"
+  python3 import sys; print(sys.version)
+  echo "\n"
+endif
+redir END
diff --git a/src/testdir/lsan-suppress.txt b/src/testdir/lsan-suppress.txt
new file mode 100644
index 0000000..5166fbf
--- /dev/null
+++ b/src/testdir/lsan-suppress.txt
@@ -0,0 +1,3 @@
+# Suppress leaks from X libraries on Ubuntu trusty.
+leak:libX11.so.6
+leak:libXt.so.6
diff --git a/src/version.c b/src/version.c
index 784f6c1..19e2a0d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    880,
+/**/
     879,
 /**/
     878,
