aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Extract file_search.c from misc2.cFelipe Oliveira Carvalho2014-02-28
| | | | | | | | Continue to split misc2.c in many other files (see #209). The only changed I made to the moved code was adding `vim_free(ff_expand_buffer)` to `free_finfile()`. This is was needed because `ff_expand_buffer` was moved from `misc2.c` to `file_search.c`.
* Added a types.h with vim.h unsigned int typedefs.scott-linder2014-02-28
|
* MAKE: ask gnulikes to warn and be pedantic + fixesNicolas Hillegeer2014-02-28
| | | | | | | | | | | | | | | | It seems clang 3.4 thinks the codebase is in fantastic shape and gcc 4.9.0 has only minor niggles, which I fixed: - fix uninitialized member warning: In DEBUG mode the expr member doesn't get properly initialized to NULL. - fix warnings about directive inside of macro's: On some platforms/compilers, sprintf is a macro. Putting macro directives inside of a macro is unportable and gcc 4.9 warns about that. - fix signed vs. unsigned comparison warning: The in-memory table will luckily not even come close to the limits imposed by ssize_t. If it ever reaches that, we've got bigger problems.
* Fix a 'garbage value' warning found by Clang's static analyzerFelipe Oliveira Carvalho2014-02-28
| | | | | - Initialize lists in paragraph_start() - Remove two dead stores
* Use _NSGetEnviron on Mac OS X to gain access to environ.John Szakmeister2014-02-28
| | | | | | | | When building nvim as a shared library for testing, environ is not exposed. In order to gain access to the environment variables, you must get a pointer to them from _NSGetEnviron(). It appears that this may affect the FreeBSD platform too.
* Include "garray.h" in ex_cmds2.cFelipe Oliveira Carvalho2014-02-28
|
* Extract garray.c from misc2.cFelipe Oliveira Carvalho2014-02-28
| | | | Start to split misc2.c in many other files (see #209).
* Use cmake module instead of shared for nvim-testScott Nielsen2014-02-28
| | | | | | | | | On a Mac using shared creates libnvim-test.dylib which cannot be found by the hardcoded .so extension in helpers.moon, causing the unittests to fail. However, using module creates libnvim-test.so, allowing the tests to run. There will still be problems running the tests on windows, because both shared and module create dll file which will not be found by in helpers.moon.
* Add unit test running to travis againThiago de Arruda2014-02-27
|
* Disable unit tests until fixed for travisThiago de Arruda2014-02-27
|
* Add basic infrastructure for unit testingThiago de Arruda2014-02-27
| | | | | | | | | | | | | | | | | | Tests will be written using the [moonscript](http://moonscript.org/) language, a lua 'dialect' that is whitespace-significant and has a syntax similar to coffeescript. The test framework used is [busted](http://olivinelabs.com/busted/), a bdd framework for lua/moonscript. Luajit has a nice ffi module, which lets lua programs link shared libraries and call it's functions without writing any C code. To take advantage of this fact for testing C functions, a new target was added to CMakeLists.txt, which compiles neovim as a shared library that is loaded by the process running the tests. This commit adds necessary code for downloading and installing a lua package manager(luarocks) locally. It wasn't added as a subtree because there are quite a few blobs in its source tree.
* CMakeLists: Improve handling of libintlAlexis Hildebrandt2014-02-27
| | | | by refactoring it into a separate CMake module
* CMakeLists: Use nvim target nameAlexis Hildebrandt2014-02-27
|
* Improve libintl detection and linking.John Szakmeister2014-02-27
| | | | | | This makes it so that a self-installed libintl is now detected and used. It also attempts to locate a homebrew version of the library, if that exists.
* Use GNU gettext from homebrew on Mac if availableAlexis Hildebrandt2014-02-27
|
* Use FindCurses to find curses librariesRui Abreu Ferreira2014-02-27
| | | | | | | | - Some systems have the FindCurses.cmake module to find the curses/ncurses libraries using find_package(). And in some CheckLibraries is not very reliable, so as fallback FindCurses is now used if no other option works.
* Modify travis configuration to install valgrindThiago de Arruda2014-02-26
| | | | This should fix previous build failures
* Add test reporting to travis scriptThiago de Arruda2014-02-26
|
* Add valgrind suppression fileThiago de Arruda2014-02-26
|
* Temporarily remove valgrind check in travis buildThiago de Arruda2014-02-26
|
* Add configuration to help debug memory leaksThiago de Arruda2014-02-26
|
* link to rt if it provides clock_gettimeRich Wareham2014-02-26
| | | | | | | | | | As noted in #128, if clock_gettime is provided by librt then it does not end up being linked into the static libuv.a binary. This might be considered a bug in libuv but we can address it here. Detect if librt provides the clock_gettime symbol and, if so, append it to the list of libraries linked into nvim. On non-librt systems the behaviour should be as before.
* make use of libuv when found by CMakeRich Wareham2014-02-26
|
* Remove final build warningScott Nielsen2014-02-26
| | | | | | | | | This commit removes a K&R promoted parameter error, the final warning I have when building. I realize that this creates only one function that is written in a different style, but I thought it might be worth it to have a warning free build.
* Remove implicit declaration of vim_strrchr and vim_strncpyScott Nielsen2014-02-26
|
* Removes 'proto' dirscott-linder2014-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #137 for the issue. Every header in the proto directory was: * Given include guards in the form #ifndef NEOVIM_FILENAME_H #define NEOVIM_FILENAME_H ... #endif /* NEOVIM_FILENAM_H */ * Renamed from *.pro -> *.h * Moved from src/proto/ to src/ This would have caused conficts with some existing headers in src/; rather than merge these conflicts now (which is a whole other can of worms involving multiple and conditional inclusion), any header in src/ with a conflicting name was renamed from *.h -> *_defs.h (which may or may not actually describe its purpose, the change is purely a namespacing issue). Once all of these changes were made a script was developed to determine what #includes needed to be added to each source file to describe its dependencies and allow it to compile; because the script is so short and I'll just list it here: #! /bin/bash cd $(dirname $0) # Scrapes `make` output for provided error messages and outputs #includes # needed to resolve them. # $1 : part of the clang error message between filename and identifier list_missing_includes() { for file_missing_pair in $(CC=clang make 2>&1 >/dev/null | sed -n "s/\/\(.*\.[hc]\).*$1.*'\(.*\)'.*/\1:\2/p"); do fields=(${file_missing_pair//:/ }) source_file=${fields[0]} missing_func=${fields[1]} # Try to find the declaration of the missing function. echo $(basename $source_file) \ \#include \"$(grep -r "\b$missing_func __ARGS" | sed -n "s/.*\/\(.*\)\:.*/\1/p")\" # Remove duplicates done | sort | uniq } echo "Finding missing function prototypes..." list_missing_includes "implicit declaration of function" echo "Finding missing identifier declarations..." list_missing_includes "use of undeclared identifier" Each list of required headers was added by hand in the following format: #include "vim.h" #include "*_defs.h" #include "filename.h" /* All other includes in same module here, in alphabetical order. */ /* All includes from other modules (e.g. "os/*.h") here in alphabetical * order. */
* Delete local function strerror and USE_GETCWD define.Thomas Wienecke2014-02-25
| | | | Both are useless after porting mch_dirname to libuv.
* os_unix: Port mch_FullName and mch_isFullName to libuv.Thomas Wienecke2014-02-25
| | | | | Basically just delete conditional use of fchdir, since the other called mch_* functions are already ported to libuv.
* os_unix: Use libuv uv_cwd instead of getcwd/getwd.Thomas Wienecke2014-02-25
|
* CMakeLists: add install target for nvimRich Wareham2014-02-25
|
* Add missing include guard to os moduleThiago de Arruda2014-02-24
|
* Create new OS moduleThiago de Arruda2014-02-24
| | | | | This module will contain all functions that perform OS calls such as IO, filesystem access, etc.
* move libuv functions to os.c and io.c moduleRich Wareham2014-02-24
| | | | | | Despite being an io library, the functions currently implemented with libuv include some non-I/O tasks like getting the total amount of memory.
* os_unix: use libuv total memory functionRich Wareham2014-02-24
|
* os_unix: switch to libuv chdir() functionRich Wareham2014-02-24
|
* os_unix: add #include for libuvRich Wareham2014-02-24
|
* Changed name of binary (vim -> nvim).scott-linder2014-02-24
| | | | Also updated affected config files and test49.vim
* Merge pull request #79 from jdiez17/has_neovimAshley Hewson2014-02-24
|\ | | | | Added 'neovim' to the feature list, following discussion on #44
| * Added 'neovim' to the feature list, following discussion on #44jdiez172014-02-23
| |
* | use CMake's built in pthread detectionRich Wareham2014-02-24
| | | | | | | | | | | | | | | | | | | | | | CMake ships with a standard FindThreads module which can be used to a) test for a threading library and b) confirm that it is pthread. It also allows the hard-coding of the threading library name to be removed from ``src/CMakeLists.txt``. Make it an error not to have a pthread library installed and indicate to CMake that we strongly prefer pthread to any other platform threading library.
* | Changed binary output directory from src/ to bin/jdiez172014-02-24
| |
* | Use neovim versions of ~/.vim and ~/.vimrcChristian Wellenbrock2014-02-24
| |
* | Convert function declarations from K&R to ANSI style.scott-linder2014-02-24
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | cproto (http://invisible-island.net/cproto/) was used to do the bulk of the work in batch; even the most recent version had some issues with typedef'd parameters; a quick "patch" was to modify `lex.l` to explicitly include all vim typedefs as known types. One example from `vim.h` is typedef unsigned char char_u; which was added in `lex.l` as <INITIAL>char_u { save_text_offset(); return T_CHAR; } Even with these changes there were some problems: * Two files (`mbyte.c` and `os_unix.c`) were not cleanly converted. * Any function with the `UNUSED` macro in its parameter list was not converted. Rather than spend more time fixing the automated approach, the two files `mbyte.c` and `os_unix.c` were converted by hand. The `UNUSED` macros were compiler specific, and the alternative, generic version would require a different syntax, so in order to simplify the conversion all uses of `UNUSED` were stripped, and then the sources were run back through cproto. It is planned to reconsider each use of `UNUSED` manually using a new macro definition.
* Clean up main.c:parse_command_nameMitchell Rosen2014-02-22
|
* Cleanup refactoring in mainMitchell Rosen2014-02-22
|
* fix build on OSXaph2014-02-01
|
* Wrap calls to 'get_mess_env' into LIBINTL #ifdefsThiago de Arruda2014-02-01
|
* Remove more #ifdef dead codeThiago de Arruda2014-02-01
|
* Fix build on OSX/Archlinux and add READMEaph2014-02-01
| | | | | | | | | | - remove SELinux dependency for now - OSX: find libintl.h - OSX: fix compile errors - OSX: use hack around gettext nonsense - fix gettext on ubuntu - work around Arch's lack of -ltermcap - add README.md
* Import vim from changeset v5628:c9cad40b4181Thiago de Arruda2014-01-31
- Cleanup source tree, leaving only files necessary for compilation/testing - Process files through unifdef to remove tons of FEAT_* macros - Process files through uncrustify to normalize source code formatting. - Port the build system to cmake