aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * test/helpers: add 'vim_init' helperNicolas Hillegeer2014-07-16
| | | | | | | | | | - Initializes some global variables. - Necessary for the buffer tests in PR #904.
| * memory.h: don't include vim.h in header filesNicolas Hillegeer2014-07-16
| | | | | | | | | | Also include stdint.h in khash.h. It was transitively included by vim.h via memory.h before. khash.h accidentally relied on that.
| * vim: move vim_acl_T to types.hNicolas Hillegeer2014-07-16
| | | | | | | | | | Also include "types.h" in os_unix.h because it declares functions that return vim_acl_T.
| * test/preprocess: always declare EXTERNNicolas Hillegeer2014-07-16
| | | | | | | | | | | | | | | | | | | | Unit tests never need to declare globals, only access them. In the main code base this is handled by including "vim.h". If a file wants to declare globals (in the case of neovim that's only main.c), it #define's EXTERN and includes "vim.h". Otherwise, a file just includes "vim.h" (that's the majority case). Since we want to be able to run unit tests without including "vim.h", we predefine "EXTERN" to mean extern. That way, we don't have to include "vim.h".
| * vim: move disptick_T from vim.h to syntax_defs.hNicolas Hillegeer2014-07-16
| | | | | | | | Make vim.h smaller, bit by bit.
| * vim: move linenr_T and colnr_T to pos.hNicolas Hillegeer2014-07-16
| | | | | | | | Try to cut down vim.h's size. It's keeping us from testing more things.
| * vim: move long_u from vim.h to types.hNicolas Hillegeer2014-07-16
| | | | | | | | | | Seems to make no difference to the main binary, but it helps the tests a bit further along.
| * hashtab.h: don't include vim.hNicolas Hillegeer2014-07-16
|/ | | | | | | Including vim.h in another header filer is asking for trouble. Test code that includes separate header files (e.g.: cimport './src/nvim/buffer.h'), has a really bad time with this. This is just one piece of the puzzle though.
* doc: add clang analysis badge to README.mdJustin M. Keyes2014-07-16
|
* Merge pull request #839 from aktau/platform-abstract-time-fnJustin M. Keyes2014-07-16
|\ | | | | viml: impl profiling on top of uv_hrtime()
| * profiling: add testsNicolas Hillegeer2014-07-16
| | | | | | | | | | | | | | | | | | Some functions are missing: - profile_self - profile_get_wait - profile_set_wait - profile_sub_wait
| * profiling: move static to function scopeNicolas Hillegeer2014-07-16
| | | | | | | | | | It wasn't used anywhere else, our coding guidelines mandate the tightest scope possible.
| * profiling: implement on top of os_hrtime()Nicolas Hillegeer2014-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be better than gettimeofday() since libuv uses higher resolution clocks on most UNIX platforms. Libuv also tries to use monotonic clocks, kernel bugs notwithstanding, which is another win over gettimeofday(). Necessary for Windows, which doesn't have gettimeofday(). In vanilla vim, Windows uses QueryPerformanceCounter, which is the correct primitive for this sort of things, but that was removed when slimming up the codebase. Libuv uses QueryPerformanceCounter to implement uv_hrtime() on Windows so the behaviour of vim profiling on Windows should now be the same. The behaviour on Linux should be different (better) though, libuv uses more accurate primitives than gettimeofday(). Other misc. changes: - Added function attributes where relevant (const, pure, ...) - Convert functions to receive scalars: Now that proftime_T is always a (uint64_t) scalar (and not a struct), it's clearer to convert the functions to receive it as such instead of a pointer to a scalar. - Extract profiling funcs to profile.c: make everything clearer and reduces the size of the "catch-all" ex_cmds2.c - Add profile.{c,h} to clint and -Wconv: - Don't use sprintf, use snprintf - Don't use long, use int16_t/int32_t/...
| * os: implement os_hrtimeNicolas Hillegeer2014-07-16
| | | | | | | | Just an alias to uv_hrtime. Provides a high-resolution timer.
| * assert: add STATIC_ASSERT macroNicolas Hillegeer2014-07-16
| | | | | | | | | | | | | | | | | | Can be quite handy, attempt to provide fallbacks for compilers that don't support _Static_assert (which is technically a C11 feature). Suppress warnings as best we can (Clang and GCC warn that we're using a C11 feature while in C99 mode). Needs to be tested for MSVC still.
* | Merge #947 'Remove Clang 3.4 installation in travis.sh.'John Szakmeister2014-07-16
|\ \ | |/ |/|
| * travis.sh: Simplify clang/asan build.Florian Walch2014-07-16
| | | | | | | | | | * Clang 3.4 now default on Travis CI. * Introduce config variable to download & use different clang version.
| * travis.sh: Use dependencies from neovim/deps.Florian Walch2014-07-16
| |
| * travis.sh: Fix mixed tabs/whitespace formatting.Florian Walch2014-07-16
|/
* Merge #813 'Add platform checks to replace config.h.in hardcoded values'Nicolas Hillegeer2014-07-15
|\
| * Clean up DEBUG check in config.h.inRui Abreu Ferreira2014-07-15
| |
| * Add cmake platform checksRui Abreu Ferreira2014-07-15
|/ | | | | | | | | | | | | | | | | | | | | | | | | - Defined CMake checks for all headers in config.h.in - Removed headers checks that are not used anymore: sgtty.h sys/statfs.h libintl.h poll.h - Added UNIX check - Add some fatal checks + Check for setenv() and fail if it does not exist since our os layer just assumes it does + lstat is required by os_unix.c + sys/wait.h is required in UNIX - Removed entries for functions that are not being used: getcwd, getrlimit, getwd, nanosleep, sigaltstack, getwd, sigstack, fseeko - Replaced nearly all defines in config.h.in for functions with compile time checks - Add check for symbol FD_CLOEXEC - Add check for langinfo CODESET - HAVE_ICONV_H and HAVE_ICONV hold the expected checks but Neovim uses USE_ICONV define to actually decide whether to enable it - Removed checks that are no longer needed + USEMEMMOVE + _FILE_OFFSET_BITS + HAVE_ST_BLKSIZE + dlfcn.h
* Add more commented patch numbers to version.c (3) #940oni-link2014-07-14
| | | | This should help reduce conflicts when merging patches from upstream.
* Merge #850 'impl mkdtemp for windows, refactor vim_tempname'Nicolas Hillegeer2014-07-14
|\
| * Create os/os_defs.h for os specific definitionsPavel Platto2014-07-14
| |
| * tempfile.c: refactor vim_settempdirPavel Platto2014-07-14
| | | | | | | | | | | | | | - return result of setting and remove directory if the setting was not successful. - don't do `STRCPY` in case of `vim_FullName` failure because `vim_FullName` already did it.
| * tempfile.c: fix style issues and commentsPavel Platto2014-07-14
| |
| * tempfile.c: enable -WconversionPavel Platto2014-07-14
| |
| * tempfile.c: add to clint-files and fix warningsPavel Platto2014-07-14
| |
| * tempfile.c: add testsPavel Platto2014-07-14
| |
| * Extract `tempfile` module from fileioPavel Platto2014-07-14
| | | | | | | | | | | | | | Though this module is relatively small it has very clear boundaries. The last argument for extracting `tempfile` was the errors which I got when I was writing unittests for it: `cimport './src/nvim/fileio.h'` does not work for some reason.
| * Add vim_gettempdir(), remove global vim_tempdirPavel Platto2014-07-14
| | | | | | | | | | vim_gettempdir() and vim_maketempdir() was extracted from vim_tempname().
| * Refactor vim_tempnamePavel Platto2014-07-14
| | | | | | | | | | | | | | | | | | - temp_count is uint32_t now instead of long because it supposed to be at most 999999999 (comment on line 5227) temporary files. The most probably it was a long for compatibility with systems where int is 16-bit. - Use "nvim" as prefix for temp folder name instead of "v" - Remove unused parameter from vim_tempname
| * Remove #ifdefs TEMPDIRNAMES and add TEMPDIRNAMES for WindowsPavel Platto2014-07-14
| | | | | | | | | | | | | | | | Vim does not define TEMPDIRNAMES for all systems, but it is defined for all systems supported by Neovim. Temporary directory names for Windows was obtained from GetTempPath() function documentation at MSDN. Additionally small renamings were performed.
| * Remove USE_TMPNAMPavel Platto2014-07-14
| | | | | | | | tmpnam() is deprecated.
| * Remove HAVE_MKDTEMPPavel Platto2014-07-14
| | | | | | | | | | For now we provide simple `mkdtemp` for Windows, in the future we will use libuv for that.
| * Temporary os_mkdtemp implementation. Use it instead of mkdtemp.Pavel Platto2014-07-14
|/
* Use strict function prototypes #945Pavel Platto2014-07-14
| | | | | | | | | | | | | | | | | | | `-Wstrict-prototypes` warn if a function is declared or defined without specifying the argument types. This warning disallow function prototypes with empty parameter list. In C, a function declared with an empty parameter list accepts an arbitrary number of arguments when being called. This is for historic reasons; originally, C functions didn't have prototypes, as C evolved from B, a typeless language. When prototypes were added, the original typeless declarations were left in the language for backwards compatibility. Instead we should provide `void` in argument list to state that function doesn't have arguments. Also this warning disallow declaring type of the parameters after the parentheses because Neovim header generator produce no declarations for old-stlyle prototypes: it expects to find `{` after prototype.
* Use default busted pattern for unittests #943Pavel Platto2014-07-14
| | | | | | - Unittest should contain substring '_spec' in filename. - This is the simplest way to use both lua and moonscript tests. - This prevents running of non-test scripts from test folder.
* Merge #846 'impl mch_open with libuv'Justin M. Keyes2014-07-14
|\
| * os_open: add unit testsJustin M. Keyes2014-07-14
| |
| * os_open: impl mch_open with libuv. ref #133Justin M. Keyes2014-07-14
|/ | | | | | | | | - use return value instead of open_req.result - libuv uv_fs_open() returns `-errno` instead of always -1 - libuv always sets open_req.result to the return value, _except_ for OOM where it only sets the return value. So always use the return value. - replace calls to mch_open macro. - update call sites expecting -1 error
* Merge #874 'fix TCP connection (issue #870)'Nicolas Hillegeer2014-07-13
|\
| * os/server: Fix possible port overflowAndré Twupack2014-07-13
| | | | | | | | | | - add documentation about port being optional - parse port into long and check for valid value
| * os/server: Fix TCP connectionAndré Twupack2014-07-13
| | | | | | | | | | | | | | - remove unused errno - remove unused port_end - correct calculation of addr_len - use correct string length during IP copy
| * os/server: Fix indentationAndré Twupack2014-07-13
|/
* Merge #837 'Move defines from vim.h - phase2'Nicolas Hillegeer2014-07-12
|\
| * move defines from vim.hBrandon Coleman2014-07-12
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buffer.h: buflist_getfile() flags buflist_new() flags buf_freeall() flags do_buffer() flags charset.h: chartab[] flags edit.h: in_cinkeys() flags change_indent() flags beginline() flags insertchar() flags nv_mousescroll() flags eval.c AUTOLOAD_CHAR eval.h: enum for vimvars[] ex_cmds.h: do_ecmd read_viminfo flags ex_cmds2.h: check_changed() flags do_source() flags ex_cmds_defs.h: BAD_* flags ex_docmd.h: VALID_PATH VALID_HEAD EXMODE_* do_cmdline() flags added include ex_getln.c *_ESC_CHARS definitions ex_getln.h: history table flags - used by add_to_history() fileio.h: readfile() flags event_T definition getchar.h: ins_typebuf() flags KEYLEN_* globals.h: NO_SCREEN NO_BUFFERS SEA_* defines current_SID flags hlf_T enum HL_FLAGS do_profiling() flags schar_T sattr_T indent.h: set_indent() flags macros.h: BINARY_FILE_IO flags mbyte.h: MB_BYTE2LEN* ENC_* memfile.h: mf_sync() flags misc1.h: open_line() flags message.h: do_dialog() flags vim_dialogyesno() flags DLG_BUTTON_* normal.h: find_ident_under_cursor() flags ops.h: do_put() flags operator ID's option.h: buf_copy_options() flags OPT_* flags os_unix.h: mch_nodetype() flags quickfix.h: skip_vimgrep_pat() flags regexp.h: vim_regcomp() flags values for reg_do_extmatch search.h: do_search() flags search_regcomp() flags findmatchlimit() flags syntax.h: HL_* flags HL_FOLD is used in buffer_defs.h but nvim compiles just fine with the defines in syntax.h tag.h: do_tag() flags find_tags() flags term.h: TBUFSZ flags MOUSE flags ui.h: jump_to_mouse() flags window.h: file_name_in_line() flags win_split() flags MIN_LINES MIN_COLUMNS Remove VimClipboard which should have been removed with PR #921.
* Merge #932 'Check lua dependencies for all lua interpreters'John Szakmeister2014-07-11
|\
| * Check dependencies for each lua interpreter.Rui Abreu Ferreira2014-07-11
| | | | | | | | | | | | | | | | | | | | | | | | - When USE_BUNDLED=OFF and the system has multiple lua interpreters (luajit AND lua) it may occur that only the later has the needed dependencies (lua-lpeg, lua-cmsgpack). If we pick luajit then finding the dependencies FAILS. - This commit groups detection of the lua interpreter with the lua dependencies it tries to find them for both the interpreters and choses the first one that has them. Helped-by: John Szakmeister <john@szakmeister.net>