aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Use ARRAY_SIZE where Coccinelle wasn't able to do itFelipe Oliveira Carvalho2014-12-18
|
* Define and use the ARRAY_SIZE macroFelipe Oliveira Carvalho2014-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A similar macro is defined in the Linux kernel [1]. To refactor the code I used a slightly modified Coccinelle script I found in [2]. ```diff // Use the macro ARRAY_SIZE when possible // // Confidence: High // Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU. GPLv2. // URL: http://www.emn.fr/x-info/coccinelle/rules/array.html // Options: -I ... -all_includes can give more complete results @@ type T; T[] E; @@ - (sizeof(E)/sizeof(*E)) + ARRAY_SIZE(E) @@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) @n@ identifier AS,E; @@ - #define AS(E) ARRAY_SIZE(E) @@ expression E; identifier n.AS; @@ - AS(E) + ARRAY_SIZE(E) ``` `spatch --in-place --sp-file array_size.cocci -I src/ -I build/include/ -I build/src/nvim/auto/ src/nvim/*.c` [1] http://lxr.free-electrons.com/source/include/linux/kernel.h#L54 [2] http://www.emn.fr/z-info/coccinelle/rules/#macros
* Merge pull request #1701 from fwalch/vim-7.4.423Justin M. Keyes2014-12-18
|\ | | | | vim-patch:7.4.423
| * vim-patch:7.4.423Florian Walch2014-12-18
| | | | | | | | | | | | | | Problem: expand("$shell") does not work as documented. Solution: Do not escape the $ when expanding environment variables. https://code.google.com/p/vim/source/detail?r=v7-4-423
* | Merge pull request #1702 from fwalch/update-bustedJustin M. Keyes2014-12-18
|\ \ | |/ |/| Update busted to 2.0.rc4.
| * Update busted to 2.0.rc4.Florian Walch2014-12-18
|/
* Merge pull request #1588 from equalsraf/tb-no-central-depsJohn Szakmeister2014-12-18
|\ | | | | Dont force ../.deps in third-party/CMakeLists.txt use the Makefile instead
| * Allow cmake caller to override DEPS_PREFIXRui Abreu Ferreira2014-12-16
| | | | | | | | | | | | | | | | | | | | | | - Caller can override bundled dependency location using DEPS_PREFIX - Cache variable DEPS_PREFIX, using .deps/usr by default - Removed unused variables DEPS_BIN_DIR, DEPS_BUILD_DIR, DEPS_DIR DEPS_INSTALL_DIR - Corner case: if the caller tries to override DEPS_PREFIX after a successful cmake configuration, the caller needs to clear the cache because dependency checks are based on the old value
| * Dont force ../.deps in third-party/CMakeLists.txtRui Abreu Ferreira2014-12-16
| | | | | | | | | | | | | | | | | | | | | | - third-party is built under .deps by default instead of using its own ${CMAKE_BINARY_DIR}, move this default setting out of the cmake settings and into the Makefile. - As a consequence the workflow of building third-party using CMake should feel more natural, avoid the additional folder or setting DEPS_DIR from the command line. - This commit does not change the default behaviour when calling the Makefile wrapper.
* | Merge pull request #1686 from jszakmeister/include-opts-in-fortify-checkJohn Szakmeister2014-12-18
|\ \ | | | | | | build: include the flags for the build type in the _FORTIFY_SOURCE check
| * | build: include the flags for the build type in the _FORTIFY_SOURCE checkJohn Szakmeister2014-12-16
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out the check was being performed without optimizations enabled even when the CMAKE_BUILD_TYPE was set to a release build. This led to _FORTIFY_SOURCE's level not being correctly determined, and us failing to apply the correct workaround. To counter this, we'll take the default flags for the build type and apply them. Also, if options are passed via CFLAGS, they are automatically passed on to the underlying build. So this should cover all the necessary ground. This fixes #1647.
* | Merge pull request #1654 from gaurdro/rpm-fortify_sourceJohn Szakmeister2014-12-18
|\ \ | | | | | | [RFC] Fix issue 1569: Build fails in rpmbuild environment
| * | Detect and propagate _FORTIFY_SOURCE prefixRoss Smith2014-12-17
|/ / | | | | | | | | | | | | | | Get prefix to a -D_FORTIFY_SOURCE string if it is present in CFLAGS and apply the prefix to flags added to redefine _FORTIFY_SOURCE in CFLAGS and CPPFLAGS * fixes 1569
* | Merge pull request #1698 from elmart/clang-analysis-fixes-6Justin M. Keyes2014-12-17
|\ \ | | | | | | Fix clang analysis warnings. (6)
| * | Fix warnings: window.c: win_close_othertab(): Np dereference: FP.Eliseo Martínez2014-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : Dereference of null pointer @ 1980. Diagnostic : False positive. Rationale : I haven't been able to find the real reason why this is signaled. Nonetheless, I've been able to track down the introduction of this warning to commit 77135447e09903b45d1482da45869946212f7904. The change there affecting this function is just a transformation maintaining semantics. So, this must be a FP, though I can't explain why. Analyzer thinks `win->w_buffer` can be null in line 1980, following an error path assuming win->w_buffer null at line 1819. Given that `win_close` function was not modified by mentioned commit, I don't understand why this path is analyzed after the changes, but not before them. Or if it's analyzed, why it's discarded before changes but not after them. I don't see anything in changes to `close_last_window_tabpage` that should affect to being able to deduce `win->w_buffer` is not null. Resolution : Assert buffer not null in `win_close_othertab`. Function comments state that passed window should have a buffer that can be hidden, which implies there should be a buffer. Reverting changes to `close_last_window_tabpage` in mentioned commit would be another way to fix this (tried and worked). But assert is preferred in this case because flat style reads better and we have some other way to fix it.
| * | Fix warnings: syntax.c: get_id_list(): Double free: FP.Eliseo Martínez2014-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : Double free @ 5213. Diagnostic : False positive. Rationale : I haven't been able to find the real reason why this is signaled. Nonetheless, I've been able to track down the introduction of this warning to commit 77135447e09903b45d1482da45869946212f7904. The change there affecting this function is just a transformation maintaining semantics. So, this must be a FP, though I can't explain why. Resolution : Revert changes in mentioned commmit touching this function.
| * | Fix warnings: option.c: makeset()/put_setnum(): Various (3): FP.Eliseo Martínez2014-12-17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problems : Dereference of null pointer @ 6251. Dereference of null pointer @ 6267. Dereference of null pointer @ 6351. Diagnostic : False positive. Rationale : Problems occur if varp is null after `varp = get_varp_scope(p, opt_flags);`. That can only happen if option is hidden. Those are options that can be set (for backwards compatibility reasons) but that do nothing (see `:h hidden-options`, `:h missing-options`). In particular, even if setting them is allowed, value is not stored, so these options have no real value. So, suggested error paths should not occur, as checks comparing option value and default value should discard them. Resolution : We could just `assert(varp)` before line 6235 `varp_local = varp;`. That was tried and worked. But we prefer modifying the code to explicitly skip hidden options. A redundant `!istermoption(p)` is removed too (it's already checked by for loop condition).
* | Merge pull request #1688 from elmart/coverity-issues-1Justin M. Keyes2014-12-16
|\ \ | | | | | | coverity issues
| * | coverity/75594: Explicit null dereferenced: RI.Eliseo Martínez2014-12-16
| | | | | | | | | | | | | | | | | | | | | | | | Problem : Exlicit null dereferenced (FORWARD NULL) @ 2859. Diagnostic : Real issue. Rationale : Code within `if (!p_bk)` seems to assume `backup` not null at that point, which may not be true. Resolution : Don't enter conditional on null `backup`.
| * | Passing-by: Fix FALSE/FAIL confusion.Eliseo Martínez2014-12-16
| | | | | | | | | | | | | | | | | | FALSE was being used instead of FAIL. They happen to have the same value, so it works the same. But from function comment it's clear it uses the OK/FAIL convention.
| * | coverity/13696: Unchecked return value: RI.Eliseo Martínez2014-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : Unchecked return value (CHECKED_RETURN) @ 2644. Diagnostic : Real issue. Rationale : Other `u_save` invocations are checked, and there's no reason to think this invocation could not fail. Resolution : Check and return if failed (other previous checks in the same function just return, without reporting error, so we just do the same).
| * | coverity/13695: Unchecked return value: RI.Eliseo Martínez2014-12-16
|/ / | | | | | | | | | | | | | | | | Problem : Unchecked return value (CHECKED_RETURN) @ 8554. Diagnostic : Real issue. Rationale : Other invocations of `do_source` are checked and generate an error message if fail. There seems to be no reason why this particular instance could not fail the same. Resolution : Check invocation and generate error message on failure.
* | Merge pull request #1679 from oni-link/fix.clang.warningJustin M. Keyes2014-12-15
|\ \ | | | | | | Fix for clang analyzer warning in ops.c
| * | Fix warning: ops.c: read_viminfo_register(): Dereference of null pointer: RI.oni-link2014-12-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem : Array access (via field 'y_array') results in a null pointer dereference @ 4487. Diagnostic : Real issue. Rationale : If the array was previously freed and the size of the array (y_current->y_size) was not updated to zero, the loop @4486 could be entered and a NULL pointer would be dereferenced. Resolution : Use free_yank_all() to take care of the NULL check and to free the current yank register.
* | | Merge pull request #1677 from philix/dpelle-constifyJustin M. Keyes2014-12-15
|\ \ \ | |/ / |/| | add 'const' where possible: mbyte.c (rebase of #268)
| * | Little by little add 'const' were possible: mbyte.cDominique Pelle2014-12-15
| |/
* | Merge pull request #1676 from fwalch/na-patchesJustin M. Keyes2014-12-15
|\ \ | |/ |/| vim-patch: Mark patches as NA.
| * vim-patch: Mark patches as NA.Florian Walch2014-12-15
|/
* Merge pull request #1666 from elmart/vim-patch-7.4.543Justin M. Keyes2014-12-14
|\ | | | | vim-patch:7.4.543.
| * vim-patch:7.4.543.Eliseo Martínez2014-12-15
|/ | | | | | | | | | | Adapt #1533 and #1596 to conform to upstream patch (https://groups.google.com/forum/#!topic/vim_dev/vp0Lwo9f56s). Problem: Since patch 7.4.232 "1,3s/\n//" joins two lines instead of three. (Eliseo Martínez) Issue 287 Solution: Correct the line count. (Christian Brabandt) Also set the last used search pattern.
* Merge pull request #1570 from fwalch/travis-improvementsJustin M. Keyes2014-12-14
|\ | | | | Travis-related improvements
| * Travis: Remove setting core file size.Florian Walch2014-12-14
| | | | | | | | | | | | Doesn't work on Travis: > bash: line 0: ulimit: core file size: cannot modify limit: Operation not permitted
| * Travis: Simplify clint script.Florian Walch2014-12-14
| |
| * Travis: Change search pattern for core dumps.Florian Walch2014-12-14
| | | | | | | | Would otherwise find files in .deps if dependencies are built.
| * Travis: Add flag to force building of dependencies.Florian Walch2014-12-14
| |
| * Travis: Perform installation test on 32-bit build.Florian Walch2014-12-14
|/
* Merge pull request #1668 from three-comrades/patchesJustin M. Keyes2014-12-14
|\ | | | | vim-patch:7.4.463 + vim-patch:7.4.470
| * vim-patch: Update patches to 552Julian Mehne2014-12-14
| |
| * vim-patch: Mark patches as NAJulian Mehne2014-12-14
| |
| * vim-patch:7.4.470Julian Mehne2014-12-14
| | | | | | | | | | | | | | Problem: Test 11 and 100 do not work properly on Windows. Solution: Avoid using feedkeys(). (Ken Takata) https://code.google.com/p/vim/source/detail?r=v7-4-470
| * vim-patch:7.4.463Julian Mehne2014-12-14
| | | | | | | | | | | | | | Problem: Test 86 and 87 may hang on MS-Windows. Solution: Call inputrestore() after inputsave(). (Ken Takata) https://code.google.com/p/vim/source/detail?r=v7-4-463
* | Merge pull request #1661 from philix/early_exitJustin M. Keyes2014-12-14
|\ \ | |/ |/| Reduce indentation level by early returning or continuing loop
| * Simple refatorings that didn't fit the pattern of the last commitFelipe Oliveira Carvalho2014-12-13
| |
| * Reduce indentation level by early returning or continuing loopFelipe Oliveira Carvalho2014-12-13
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace code like this ```c func() { if (cond) { ... ... ... } return ret; } ``` ```c for (...) { if (cond) { ... ... ... } } ``` with ```c func() { if (!cond) { return ret; } ... ... ... } ``` ```c for (...) { if (!cond) { continue; } ... ... ... } ```
* vim-patch: Mark patches as NA. #1637Florian Walch2014-12-13
|
* main.c: remove NO_VIM_MAINJustin M. Keyes2014-12-13
| | | | It is from legacy Vim, not used by Neovim.
* Merge pull request #1622 from klusark/test29Justin M. Keyes2014-12-13
|\ | | | | default to 'nocompatible'
| * vim-patch:? Fix memory leak in readviminfoJoel Teichroeb2014-12-13
| | | | | | | | | | Patch provided by Christian Brabandt Improved by oni-link
| * Ignore compatible modeJoel Teichroeb2014-12-13
| |
| * Make test29 work with nocompatible.Julian Mehne2014-12-13
|/