diff --git a/.travis.yml b/.travis.yml
index f96564b..be66b1b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,7 +9,7 @@
     - &small
       BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
     - &normal
-      BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
+      BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
     - &linux-huge
       BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
       "CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
@@ -21,6 +21,8 @@
     - &asan # ASAN build
       SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
       ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
+    - &shadowopt
+      SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
 
   linux: &linux
     os: linux
@@ -133,19 +135,15 @@
     fi
   - echo -en "travis_fold:end:build\\r\\033[0K"
   - set +o errexit
-  - echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
   # 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
+      "${SRCDIR}"/vim --clean --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
+      "${SRCDIR}"/vim --clean --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
     fi
-  - >
-    do_test make ${SHADOWOPT} ${TEST} &&
-    make -C runtime/doc vimtags VIMEXE=../../"${SRCDIR}"/vim &&
-    FOLD_MARKER=travis_fold
+  - echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
+  - do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
   - echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
 
 
@@ -194,11 +192,15 @@
     - <<: *linux
       name: normal/clang
       compiler: clang
-      env: *normal
+      env:
+        - *normal
+        - *shadowopt
     - <<: *linux
       name: normal/gcc
       compiler: gcc
-      env: *normal
+      env:
+        - *normal
+        - *shadowopt
     - <<: *linux
       name: huge+coverage/clang
       compiler: clang
@@ -228,5 +230,11 @@
         - *linux-huge
         - TEST="-C src testgui"
       after_success: *coverage
+    - <<: *linux
+      name: vimtags/gcc
+      compiler: gcc
+      env:
+        - *normal
+        - TEST="-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
 
 # vim:set sts=2 sw=2 tw=0 et:
diff --git a/Filelist b/Filelist
index 6ebb3f7..83ee35b 100644
--- a/Filelist
+++ b/Filelist
@@ -11,6 +11,7 @@
 		.cirrus.yml \
 		appveyor.yml \
 		ci/appveyor.bat \
+		ci/if_ver*.vim \
 		src/Make_all.mak \
 		src/README.md \
 		src/alloc.h \
@@ -177,7 +178,6 @@
 		src/testdir/dumps/*.dump \
 		src/testdir/samples/*.txt \
 		src/testdir/samples/test000 \
-		src/testdir/if_ver*.vim \
 		src/testdir/color_ramp.vim \
 		src/testdir/silent.wav \
 		src/testdir/popupbounce.vim \
diff --git a/ci/if_ver-1.vim b/ci/if_ver-1.vim
new file mode 100644
index 0000000..d5b2bb6
--- /dev/null
+++ b/ci/if_ver-1.vim
@@ -0,0 +1,25 @@
+" Print all interface versions for Ubuntu. Part 1.
+
+if 1
+  execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
+
+  echo "*** Interface versions ***\n"
+
+  echo 'Lua:'
+  PrintVer lua print(_VERSION)
+
+  echo 'MzScheme:'
+  PrintVer mzscheme (display (version))
+
+  echo 'Perl:'
+  PrintVer perl print $^V
+
+  echo 'Ruby:'
+  PrintVer ruby print RUBY_VERSION
+
+  echo 'Tcl:'
+  PrintVer tcl puts [info patchlevel]
+
+  echo 'Python 2:'
+  PrintVer python print sys.version
+endif
diff --git a/ci/if_ver-2.vim b/ci/if_ver-2.vim
new file mode 100644
index 0000000..83e80e4
--- /dev/null
+++ b/ci/if_ver-2.vim
@@ -0,0 +1,8 @@
+" Print py3 interface versions for Ubuntu. Part 2.
+
+if 1
+  execute 'source' expand('<sfile>:h') .. '/if_ver-cmd.vim'
+
+  echo 'Python 3:'
+  PrintVer python3 print(sys.version)
+endif
diff --git a/ci/if_ver-cmd.vim b/ci/if_ver-cmd.vim
new file mode 100644
index 0000000..ac5d82a
--- /dev/null
+++ b/ci/if_ver-cmd.vim
@@ -0,0 +1,12 @@
+" Provide 'PrintVer' command to print the interface versions.
+
+func s:print_ver(lang, ...)
+  if has(a:lang)
+    exec a:lang join(a:000)
+  else
+    echo 'N/A'
+  endif
+  echo ''
+endfunc
+
+command -nargs=+ PrintVer call <SID>print_ver(<f-args>)
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index e10415f..514a012 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -323,10 +323,7 @@
 # Use Vim to generate the tags file.  Can only be used when Vim has been
 # compiled and installed.  Supports multiple languages.
 vimtags: $(DOCS)
-	@if command -v $(VIMEXE); then \
-	    $(VIMEXE) --clean -eX -u doctags.vim >/dev/null && \
-	      echo "help tags updated"; \
-	  else echo "vim executable $(VIMEXE) not found; help tags not updated"; fi
+	@$(VIMEXE) --clean -esX -V1 -u doctags.vim
 
 # Use "doctags" to generate the tags file.  Only works for English!
 tags: doctags $(DOCS)
diff --git a/runtime/doc/doctags.vim b/runtime/doc/doctags.vim
index 7dfbcc0..833dbef 100644
--- a/runtime/doc/doctags.vim
+++ b/runtime/doc/doctags.vim
@@ -2,5 +2,12 @@
 "
 " Usage: vim -eX -u doctags.vim
 
-helptags ++t .
+try
+  helptags ++t .
+  echo 'help tags updated'
+catch
+  echo v:exception
+  echo 'help tags failed update'
+endtry
+echo ''
 qa!
diff --git a/src/testdir/if_ver-1.vim b/src/testdir/if_ver-1.vim
deleted file mode 100644
index 3c94c9e..0000000
--- a/src/testdir/if_ver-1.vim
+++ /dev/null
@@ -1,26 +0,0 @@
-" 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
deleted file mode 100644
index a6fedb5..0000000
--- a/src/testdir/if_ver-2.vim
+++ /dev/null
@@ -1,10 +0,0 @@
-" 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/version.c b/src/version.c
index 8e527b8..9748392 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    140,
+/**/
     139,
 /**/
     138,
