Date: Thursday, February 22, 2018 @ 22:20:58 Author: svenstaro Revision: 297129
archrelease: copy trunk to community-x86_64 Added: neovim/repos/community-x86_64/3a5721e91ba890718319213154ba6964c9dca4d2.patch (from rev 297128, neovim/trunk/3a5721e91ba890718319213154ba6964c9dca4d2.patch) neovim/repos/community-x86_64/PKGBUILD (from rev 297128, neovim/trunk/PKGBUILD) neovim/repos/community-x86_64/neovim.install (from rev 297128, neovim/trunk/neovim.install) Deleted: neovim/repos/community-x86_64/PKGBUILD neovim/repos/community-x86_64/neovim.install ------------------------------------------------+ 3a5721e91ba890718319213154ba6964c9dca4d2.patch | 41 +++++++++ PKGBUILD | 104 ++++++++++++----------- neovim.install | 20 ++-- 3 files changed, 107 insertions(+), 58 deletions(-) Copied: neovim/repos/community-x86_64/3a5721e91ba890718319213154ba6964c9dca4d2.patch (from rev 297128, neovim/trunk/3a5721e91ba890718319213154ba6964c9dca4d2.patch) =================================================================== --- 3a5721e91ba890718319213154ba6964c9dca4d2.patch (rev 0) +++ 3a5721e91ba890718319213154ba6964c9dca4d2.patch 2018-02-22 22:20:58 UTC (rev 297129) @@ -0,0 +1,41 @@ +From 3a5721e91ba890718319213154ba6964c9dca4d2 Mon Sep 17 00:00:00 2001 +From: Chih-Hsuan Yen <yan12...@gmail.com> +Date: Mon, 29 Jan 2018 22:47:25 +0800 +Subject: [PATCH] tui: libtermkey: force CSI driver for mouse input #7948 + +Fixes #7932 + +Nvim (tui.c) always enables SGR mouse (TUIData.unibi_ext.enable_mouse). +But if libtermkey sees key_mouse (kmous) in terminfo its terminfo driver +(driver-ti.c) will be activated, which by accident only supports X10 +protocol. The libtermkey CSI driver (driver-csi.c), in contrast, +supports SGR. + +We can force libtermkey to ignore the terminfo key_mouse entry by +returning NULL in the tui_tk_ti_getstr hook. That forces the CSI driver. + +What is the effect of returning NULL from `tui_tk_ti_getstr()`? +- libtermkey `driver-ti.c:load_terminfo()` skips the entry. +- `termkey.c:peekkey()` iterates through all drivers, it finds + `TERMKEY_RES_NONE` for the ti driver and falls back to the CSI driver. +--- + src/nvim/tui/tui.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c +index 2dfe7faa04c..70e19e1d932 100644 +--- a/src/nvim/tui/tui.c ++++ b/src/nvim/tui/tui.c +@@ -1813,6 +1813,12 @@ static const char *tui_tk_ti_getstr(const char *name, const char *value, + if (value != NULL && strequal(stty_erase, value)) { + return stty_erase[0] == DEL ? CTRL_H_STR : DEL_STR; + } ++ } else if (strequal(name, "key_mouse")) { ++ DLOG("libtermkey:kmous=%s", value); ++ // If key_mouse is found, libtermkey uses its terminfo driver (driver-ti.c) ++ // for mouse input, which by accident only supports X10 protocol. ++ // Force libtermkey to fallback to its CSI driver (driver-csi.c). #7948 ++ return NULL; + } + + return value; Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-02-22 22:20:54 UTC (rev 297128) +++ PKGBUILD 2018-02-22 22:20:58 UTC (rev 297129) @@ -1,48 +0,0 @@ -# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> -# Contributor: Florian Walch <florian+...@fwalch.com> -# Contributor: Florian Hahn <f...@fhahn.com> - -pkgname=neovim -pkgver=0.2.2 -pkgrel=2 -pkgdesc='Fork of Vim aiming to improve user experience, plugins, and GUIs' -arch=('x86_64') -url='https://neovim.io' -license=('custom:neovim') -depends=('jemalloc' 'libtermkey' 'libuv' 'msgpack-c' 'unibilium' 'libvterm' 'luajit') -makedepends=('cmake' 'lua51-mpack' 'lua51-lpeg' 'gperf') -optdepends=('python2-neovim: for Python 2 plugin support (see :help python)' - 'python-neovim: for Python 3 plugin support (see :help python)' - 'xclip: for clipboard support (or xsel) (see :help clipboard)' - 'xsel: for clipboard support (or xclip) (see :help clipboard)') -source=("https://github.com/neovim/neovim/archive/v${pkgver}.tar.gz") -sha512sums=('5609defe86ac98356f1b9ae9adc6049bb4df920a9a2ae3104f761d52d4dd54cbc84d2596231595dd9b0aa97201fef2121e6c5c86a19267ab6b871dbf4b568209') -install=neovim.install - -build() { - mkdir -p "${srcdir}/build" - cd "${srcdir}/build" - - cmake "../neovim-${pkgver}" \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DENABLE_JEMALLOC=ON - make -} - -check() { - cd "${srcdir}/build" - ./bin/nvim --version - ./bin/nvim --headless -u NONE -i NONE -c ':quit' -} - -package() { - cd "${srcdir}/build" - make DESTDIR="${pkgdir}" install - cd "${srcdir}/neovim-${pkgver}" - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - install -Dm644 runtime/nvim.desktop "${pkgdir}/usr/share/applications/nvim.desktop" - install -Dm644 runtime/nvim.png "${pkgdir}/usr/share/pixmaps/nvim.png" -} - -# vim:set sw=2 sts=2 et: Copied: neovim/repos/community-x86_64/PKGBUILD (from rev 297128, neovim/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-02-22 22:20:58 UTC (rev 297129) @@ -0,0 +1,56 @@ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> +# Contributor: Florian Walch <florian+...@fwalch.com> +# Contributor: Florian Hahn <f...@fhahn.com> + +pkgname=neovim +pkgver=0.2.2 +pkgrel=3 +pkgdesc='Fork of Vim aiming to improve user experience, plugins, and GUIs' +arch=('x86_64') +url='https://neovim.io' +license=('custom:neovim') +depends=('jemalloc' 'libtermkey' 'libuv' 'msgpack-c' 'unibilium' 'libvterm' 'luajit') +makedepends=('cmake' 'lua51-mpack' 'lua51-lpeg' 'gperf') +optdepends=('python2-neovim: for Python 2 plugin support (see :help python)' + 'python-neovim: for Python 3 plugin support (see :help python)' + 'xclip: for clipboard support (or xsel) (see :help clipboard)' + 'xsel: for clipboard support (or xclip) (see :help clipboard)') +source=(https://github.com/neovim/neovim/archive/v${pkgver}.tar.gz + 3a5721e91ba890718319213154ba6964c9dca4d2.patch) +sha512sums=('5609defe86ac98356f1b9ae9adc6049bb4df920a9a2ae3104f761d52d4dd54cbc84d2596231595dd9b0aa97201fef2121e6c5c86a19267ab6b871dbf4b568209' + 'f3dabd1bbe195a45a10efacfc4bb78007e32b91c32c01e42f8045c6e39d7a5f7e20eea1c4407c313d7ec0bb6d951a0b4e10b402f50d2022a5b4770ec62594a8a') +install=neovim.install + +prepare() { + cd "${srcdir}/neovim-${pkgver}" + + patch -Np1 < "${srcdir}/3a5721e91ba890718319213154ba6964c9dca4d2.patch" +} + +build() { + mkdir -p "${srcdir}/build" + cd "${srcdir}/build" + + cmake "../neovim-${pkgver}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DENABLE_JEMALLOC=ON + make +} + +check() { + cd "${srcdir}/build" + ./bin/nvim --version + ./bin/nvim --headless -u NONE -i NONE -c ':quit' +} + +package() { + cd "${srcdir}/build" + make DESTDIR="${pkgdir}" install + cd "${srcdir}/neovim-${pkgver}" + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm644 runtime/nvim.desktop "${pkgdir}/usr/share/applications/nvim.desktop" + install -Dm644 runtime/nvim.png "${pkgdir}/usr/share/pixmaps/nvim.png" +} + +# vim:set sw=2 sts=2 et: Deleted: neovim.install =================================================================== --- neovim.install 2018-02-22 22:20:54 UTC (rev 297128) +++ neovim.install 2018-02-22 22:20:58 UTC (rev 297129) @@ -1,10 +0,0 @@ -# $1: new package version -post_install() { - echo ":: The Neovim executable is called 'nvim'." - echo ":: If you are already familiar with Vim, see ':help nvim-from-vim'" - echo " to get started." - echo ":: If you have any questions, check the following page first:" - echo " https://github.com/neovim/neovim/wiki/FAQ" -} - -# vim:set sw=2 sts=2 et: Copied: neovim/repos/community-x86_64/neovim.install (from rev 297128, neovim/trunk/neovim.install) =================================================================== --- neovim.install (rev 0) +++ neovim.install 2018-02-22 22:20:58 UTC (rev 297129) @@ -0,0 +1,10 @@ +# $1: new package version +post_install() { + echo ":: The Neovim executable is called 'nvim'." + echo ":: If you are already familiar with Vim, see ':help nvim-from-vim'" + echo " to get started." + echo ":: If you have any questions, check the following page first:" + echo " https://github.com/neovim/neovim/wiki/FAQ" +} + +# vim:set sw=2 sts=2 et: