aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * coverity/13685: silence NUL-termnation fpNicolas Hillegeer2014-06-12
| | | | | | | | | | | | | | | | | | | | It was a false positive, but it can't hurt to "fix" it. Original warning: CID 13685 (#1 of 1): Buffer not null terminated (BUFFER_SIZE) 6. buffer_size: Calling strncpy with a source string whose length (4 chars) is greater than or equal to the size argument (4) will fail to null-terminate b0p->b0_version.
| * coverity/13770: add_keyword(), mark as false pos.Nicolas Hillegeer2014-06-12
| | | | | | | | Also cleaned up the function a little bit.
| * coverity/62615: fix leak in write_reg_contents_exNicolas Hillegeer2014-06-12
| | | | | | | | | | | | | | | | | | | | | | Coverity detected a memory leak caused by not free'ing the value returned by get_expr_line_src (basically vim_strsave(expr_line)). Replaced the copying with direct manipulation of expr_line, since that also happens in other parts of the codebase. NOTE: I'm aware that this has different behaviour than vim_strnsave, namely vim_strnsave always allocates `len` bytes, even if the string is shorter. I don't see how that behaviour is helpful here though.
| * coverity/62617: fix leak in set_string_defaultNicolas Hillegeer2014-06-12
|/ | | | | | Also constified the arguments. The double casts for the `xstrdup` are ugly but `vim_strsave` doesn't take `const` arguments for now so I couldn't keep that.
* Declare garray iterators in the for() scope where possible #819Felipe Oliveira Carvalho2014-06-10
|
* Add function attributes to functions in memory.h #811Wesley Wiser2014-06-10
| | | | Add missing function attributes in memory.h. Fixes #806
* Prevent null-pointer deference during vim_eval #785Andrew Chin2014-06-10
| | | | | If the eval_expr call in vim_eval returns NULL, a null-pointer deference would happen a few frames down, in vim_to_object_rec
* deleted unused defines in vim.h #772Brandon Coleman2014-06-10
|
* Merge #783 'Nul terminate pascal strings'Justin M. Keyes2014-06-08
|\
| * api: unify string conversions, simplify interopNicolas Hillegeer2014-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | - The data member of String's can now be passed directly to functions expecting C strings, as we now guarantee that they are NUL-terminated. This obviates the need to use xstrndup and free, simplifying code and enhancing performance. - Use xmemdupz instead of xstrndup for converting String's into C strings. It's faster because it doesn't calculate strlen(string.data) (which is unnecesary as that information is already provided in string.size anyway). - Use cstr_to_string to convert from C strings to String, it is both shorter and faster than the usual strlen/xstrndup combo, which calls strlen twice. cstr_to_string internally calls strlen and then xmemdupz.
| * api: also NUL-terminate Strings made from cstrsNicolas Hillegeer2014-06-08
| | | | | | | | | | | | I believe we can now mostly assume that all encountered String's data members are safe to pass into functions that accept C strings. That should simplify interop with C string code.
| * api: remove some redundant string copiesNicolas Hillegeer2014-06-08
| | | | | | | | | | Now that incoming Pascal strings are NULL-terminated by default, we can skip some spurious copies.
| * msgpack: NULL terminate incoming stringsNicolas Hillegeer2014-06-08
|/ | | | | | | It's a 1-byte loss of memory but it allows us to skip copying and NULL-terminating strings when interacting with vim functions that accept C strings. This lowers the pressure on the allocator and saves lines of code (no more dup/free pairs).
* Merge #777 'Constify text enc args fix mb_string2cells'Justin M. Keyes2014-06-08
|\
| * text: remove useless arg from mb_string2cellsNicolas Hillegeer2014-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mb_string2cells was always called like mb_string2cells(..., -1) so that was the only codepath that was tested. @tarruda was the first to try to input an actual length, after which valgrind detected that funny business was going on. It's not even possible to do the right thing with the current text codec infrastructure: they all assume to be working with C strings. Meaning that if there is no NUL-terminator, they will happily keep on reading past the end of Pascal strings. Ergo, passing the length parameter is moot. The condition in the for-loop was wrong as well (but that's no longer relevant). Also change the return value to size_t, by analogy with strlen. ref: https://github.com/neovim/neovim/commit/677d30d7966dd2766bbf20665791c568dacc427a
| * text/encoding: constify argumentsNicolas Hillegeer2014-06-07
|/ | | | | | Most of these functions don't modify their strings, let's make the contract a bit clearer. In some cases I've tried to get rid of C89-style variable declarations at the start of functions, now that I was there.
* vim-patch:7.4.290 #753oni-link2014-06-06
| | | | | | | | | Problem: A non-greedy match followed by a branch is too greedy. (Ingo Karkat) Solution: Add NFA_MATCH when it is already in the state list if the position differs. https://code.google.com/p/vim/source/detail?r=b871734bf54ea185dbd2cc759d86dbfbe21cde26
* vim-patch:7.4.292 #754oni-link2014-06-06
| | | | | | | | | | Problem: Searching for "a" does not match accented "a" with new regexp engine, does match with old engine. (David Bürgin) "ca" does not match "ca" with accented "a" with either engine. Solution: Change the old engine, check for following composing character also for single-byte patterns. https://code.google.com/p/vim/source/detail?r=60cdaa05a6ad31cef55eb6b3dc1f57ecac6fcf79
* Remove USE_CR and tag_fgets. #808Justin M. Keyes2014-06-06
| | | | These features are only used by legacy Mac OS.
* Add more commented patch numbers to version.c (2) #763oni-link2014-06-05
| | | | This should help reduce conflicts when merging patches from upstream.
* vim-patch:7.4.289 #752oni-link2014-06-05
| | | | | | | | | Problem: Pattern with repeated backreference does not match with new regexp engine. (Urtica Dioica) Solution: Also check the end of a submatch when deciding to put a state in the state list. https://code.google.com/p/vim/source/detail?r=99374096a76b96d1128f5e6aa1fa92b4ba70fee9
* vim-patch:7.4.288 #751oni-link2014-06-05
| | | | | | | Problem: When 'spellfile' is set the screen is not redrawn. Solution: Redraw when updating the spelling info. (Christian Brabandt) https://code.google.com/p/vim/source/detail?r=7965cb6a435ae1ea331c7c2f8740d3d4c3625f3b
* vim-patch:7.4.286 #750oni-link2014-06-05
| | | | | | | Problem: Error messages are inconsistant. (ZyX) Solution: Change "Lists" to "list". https://code.google.com/p/vim/source/detail?r=be19015ef43cc17825929206790696c2e716035d
* vim-patch:7.4.284 #748oni-link2014-06-05
| | | | | | | | Problem: Setting 'langmap' in the modeline can cause trouble. E.g. mapping ":" breaks many commands. (Jens-Wolfhard Schicke-Uffmann) Solution: Disallow setting 'langmap' from the modeline. https://code.google.com/p/vim/source/detail?r=3c35ca9666e88a8024af6dab585b8e79ab295f83
* vim-patch:7.4.282 #747oni-link2014-06-05
| | | | | | | Problem: Test 97 fails on Mac. Solution: Do not ignore case in file names. (Jun Takimoto) https://code.google.com/p/vim/source/detail?r=6d0a1132dd71c7f55f7ed53fe99e97c79bfd05a4
* vim-patch:7.4.281 #746oni-link2014-06-05
| | | | | | | | Problem: When a session file has more than one tabpage and 'showtabline' is one the positions may be slightly off. Solution: Set 'showtabline' to two while positioning windows. https://code.google.com/p/vim/source/detail?r=24c90f1fec859b54cf2b854b98c4c9e614c46061
* vim-patch:7.4.280 #745oni-link2014-06-05
| | | | | | | | Problem: When using a session file the relative position of the cursor is not restored if there is another tab. (Nobuhiro Takasaki) Solution: Update w_wrow before calculating the fraction. https://code.google.com/p/vim/source/detail?r=daf7e98675cf395e1ef96f8040567affb2782a11
* Merge #738 'vim-patch:7.4.275'Justin M. Keyes2014-06-04
|\
| * vim-patch:7.4.275Douglas Schneider2014-06-04
|/ | | | | | | | | | Problem: When changing the type of a sign that hasn't been placed ther is no error message. Solution: Add an error message. (Christian Brabandt) Author: Bram Moolenaar https://code.google.com/p/vim/source/detail?r=8a3117a4887c1e12a1165c9719491f96753
* Merge #744 'vim-patch:7.4.277'Justin M. Keyes2014-06-04
|\
| * vim-patch:7.4.277oni-link2014-06-04
|/ | | | | | | | Problem: Using ":sign unplace *" may leave the cursor in the wrong position (Christian Brabandt) Solution: Update the cursor position when removing all signs. https://code.google.com/p/vim/source/detail?r=373204662d82e894b27ee76bc3319bc62c91f6ae
* Fix diagrams in ex_cmds.c #798Justin M. Keyes2014-06-02
|
* Merge branch 'make-gendeclarations-friendly-to-incremental-builds'Thiago de Arruda2014-06-02
|\
| * Make gendeclarations.lua more friendly to incremental buildsThiago de Arruda2014-06-02
|/ | | | | | Modify gendeclarations.lua to check if the generated non-static declaration header changed before rewriting it with a new version. This is to prevent unnecessary rebuilds of modules that depend on modules that had private changes.
* Merge pull request #710 'Automatically generate declarations'Thiago de Arruda2014-06-02
|\
| * Use generated static declarations in cursor.cZyX2014-06-02
| |
| * Use generated headers in os.hZyX2014-06-02
| |
| * Add REAL_FATTR_ macros to func_attr.h, use them in lib/k*ZyX2014-06-02
| | | | | | | | Otherwise FUNC_ATTR_* macros may appear empty
| * Move memory.h include above func_attr.h includeZyX2014-06-02
| |
| * Remove unneeded klist include in channel.cZyX2014-06-02
| |
| * Remove a number of unneeded func_attr includesZyX2014-06-02
| |
| * Add missing include to mbyte.cZyX2014-06-02
| |
| * Fix some stylesZyX2014-06-02
| |
| * Add include guard to ex_cmds_defsZyX2014-06-02
| |
| * Make nvim/lib/k*.h headers be the last one in the listZyX2014-06-02
| | | | | | | | So that they do the last nvim/func_attr.h include
| * Surround nvim/func_attr.h includes with define/undef DEFINE_FUNC_ATTRIBUTESZyX2014-06-02
| | | | | | | | Required for FUNC_ATTR_UNUSED to work in lib/k*
| * Remove remaining declarations with new script: finddeclarations.plZyX2014-06-02
| |
| * Add automatic generation of headersZyX2014-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The 'stripdecls.py' script replaces declarations in all headers by includes to generated headers. `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'` was used for this. - Add and integrate gendeclarations.lua into the build system to generate the required includes. - Add -Wno-unused-function - Made a bunch of old-style definitions ANSI This adds a requirement: all type and structure definitions must be present before INCLUDE_GENERATED_DECLARATIONS-protected include. Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is the only exception.
| * Move documentation from function declarations to definitionsZyX2014-06-02
|/ | | | Uses a perl script to move it (scripts/movedocs.pl)
* Merge pull request #779 'Add --api-msgpack-metadata command line option'Thiago de Arruda2014-06-02
|\