Justin M. Keyes 7164f61850 typval_encode.c.h: avoid -Wnonnull-compare warning (#7712)
* typval_encode.c.h: avoid -Wnonnull-compare warning

closes #6847

The NULL check is needed because TYPVAL_ENCODE_CONV_EMPTY_DICT may be
invoked with literal `NULL`.

Warning occurs even for `Debug` build-type:

    neovim/src/nvim/eval/typval.c: In function ‘_typval_encode_nothing_convert_one_value’:
    neovim/src/nvim/eval/typval.c:1802:10: warning: nonnull argument ‘tv’ compared to NULL [-Wnonnull-compare]
           if (tv != NULL) { \
              ^
    ../src/nvim/eval/typval_encode.c.h:398:9: note: in expansion of macro ‘TYPVAL_ENCODE_CONV_EMPTY_DICT’
             TYPVAL_ENCODE_CONV_EMPTY_DICT(tv, tv->vval.v_dict);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

gcc version:
    gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406

* fixup! typval_encode.c.h: avoid -Wnonnull-compare warning
2017-12-13 22:22:02 +01:00
2017-12-10 02:45:41 +01:00
2017-06-29 17:46:29 -04:00
2017-12-03 16:53:29 +03:00
2015-11-11 19:50:33 -08:00
doc
2017-12-10 17:13:22 +01:00
2017-07-08 14:59:06 +02:00
2014-06-30 13:59:56 -04:00
doc
2017-12-10 17:13:22 +01:00

Neovim

Wiki | Documentation | Twitter | Community | Gitter Chat

Travis Build Status AppVeyor Build status codecov Coverity Scan Build Clang Scan Build PVS-studio Check

Debian CI Downloads

Neovim is a project that seeks to aggressively refactor Vim in order to:

See the wiki and Roadmap for more information.

Throughput Graph

Install from source

make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install

To install to a non-default location, specify CMAKE_INSTALL_PREFIX:

make CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=/full/path/"
make install

See the wiki for details.

Install from package

Pre-built packages for Windows, macOS, and Linux are found at the Releases page.

Managed packages are in Homebrew, Debian, Ubuntu, Fedora, Arch Linux, Gentoo, and more!

Project layout

├─ ci/              build automation
├─ cmake/           build scripts
├─ runtime/         user plugins/docs
├─ src/             application source code (see src/nvim/README.md)
│  ├─ api/          API subsystem
│  ├─ eval/         VimL subsystem
│  ├─ event/        event-loop subsystem
│  ├─ generators/   code generation (pre-compilation)
│  ├─ lib/          generic data structures
│  ├─ lua/          lua subsystem
│  ├─ msgpack_rpc/  RPC subsystem
│  ├─ os/           low-level platform code
│  └─ tui/          built-in UI
├─ third-party/     cmake subproject to build dependencies
└─ test/            tests (see test/README.md)
  • To disable third-party/ specify USE_BUNDLED_DEPS=NO or USE_BUNDLED=NO (CMake option).

Features

See :help nvim-features for the full list!

License

Neovim is licensed under the terms of the Apache 2.0 license, except for parts that were contributed under the Vim license.

  • Contributions committed before b17d96 remain under the Vim license.

  • Contributions committed after b17d96 are licensed under Apache 2.0 unless those contributions were copied from Vim (identified in the commit logs by the vim-patch token).

See LICENSE for details.

Vim is Charityware.  You can use and copy it as much as you like, but you are
encouraged to make a donation for needy children in Uganda.  Please see the
kcc section of the vim docs or visit the ICCF web site, available at these URLs:

        http://iccf-holland.org/
        http://www.vim.org/iccf/
        http://www.iccf.nl/

You can also sponsor the development of Vim.  Vim sponsors can vote for
features.  The money goes to Uganda anyway.
Description
Vim-fork focused on extensibility and usability
Readme 417 MiB
Languages
Vim Script 41.2%
Lua 30.4%
C 27.4%
CMake 0.4%
Python 0.3%
Other 0.2%