aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | | | vim-patch:7.4.1900 (#5259)Jurica Bradarić2016-09-04
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Using CTRL-] in the help on "{address}." doesn't work. Solution: Recognize an item in {}. (Hirohito Higashi, closes vim/vim#814) https://github.com/vim/vim/commit/28b942a064dd486cc241894b625ab72f5a5c6d1b
* | | | signal_init: unblock all signals on startup. #5283Nicolas Hillegeer2016-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed on #5243 and #5283. Helped-by: John Szakmeister <john@szakmeister.net> Helped-by: Justin M. Keyes <justinkz@gmail.com>
* | | | Merge pull request #5286 from jamessan/strtoimax-error-checkingJames McCoy2016-09-03
|\ \ \ \ | | | | | | | | | | Fix error-handling of strtoimax boundary conditions
| * | | | Fix error-handling of strtoimax boundary conditionsJames McCoy2016-09-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strtoimax is only required to set errno if there is an underflow/overflow. In those conditions, strtoimax returns INTMAX_MIN/INTMAX_MAX respectively, so that's the only time we should be checking the value of errno. Even in those conditions, errno needs to be set to a known good value before calling strtoimax to differentiate between "value is actually INTMAX_MAX/MIN" and "value over/underflows". Closes #5279
* | | | | lint: Close resource leak (#5288)Patrick Jackson2016-09-03
|/ / / /
* | | | helpers.c: Fix invalid state of failed conversion result for object_to_vim() ↵oni-link2016-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#5282) If a conversion for a container fails in object_to_vim(), the memory for the container in the returned/converted value is freed, but the returned value keeps a pointer to the freed memory. Calling later clear_tv() on this value leads to an invalid memory access. Set v_type to VAR_UNKNOWN in the converted value on failure, so that clear_tv() has no effect.
* | | | api: fix leak when a api function is incorrectly called with a list.Björn Linse2016-08-31
| | | | | | | | | | | | | | | | This applies both to msgpack-rpc and eval.
* | | | api: consistently use nvim_ prefix and update documentationBjörn Linse2016-08-31
| | | |
* | | | api: Allow blacklist functions that shouldn't be accesible from evalBjörn Linse2016-08-31
| | | | | | | | | | | | | | | | Blacklist deprecated functions and functions depending on channel_id
* | | | eval: use gperf to generate the hash of builtin functionsBjörn Linse2016-08-31
| | | | | | | | | | | | | | | | make api functions highlighted as builtins in vim.vim
* | | | api: When calling get/set_lines from vimL, don't convert between "\n" and "\0".Björn Linse2016-08-31
| | | |
* | | | api: unify buffer numbers and window ids with handlesBjörn Linse2016-08-31
| | | | | | | | | | | | | | | | also allow handle==0 meaning curbuf/curwin/curtab
* | | | api: auto generate api function wrappers for vimlBjörn Linse2016-08-31
| | | |
* | | | api: rename "msgpack_rpc/defs.h" to "api/private/dispatch.h" and use the ↵Björn Linse2016-08-31
| | | | | | | | | | | | | | | | header generator.
* | | | eval: Use generated hash to look up function listZyX2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problems: - Disables cross-compiling (alternative: keeps two hash implementations which need to be synchronized with each other). - Puts code-specific name literals into CMakeLists.txt. - Workaround for lua’s absence of bidirectional pipe communication is rather ugly.
* | | | eval: add new function entriesBjörn Linse2016-08-31
| | | |
* | | | eval: Move VimL functions list to a lua fileZyX2016-08-31
| | | | | | | | | | | | | | | | | | | | | | | | Removes all kinds of problems with sorting, provides a ready-to-use function list representation for genvimvim.lua, does not require specifying function name twice (VimL function name (string) + f_ function name).
* | | | vim-patch:7.4.1896 (#5258)Jurica Bradarić2016-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Invoking mark_adjust() when adding a new line below the last line is pointless. Solution: Skip calling mark_adjust() when appending below the last line. https://github.com/vim/vim/commit/82faa259cc42379f2a17d598a2a39d14048685b0
* | | | signal_init: Always unblock SIGCHLD. (#5243)Justin M. Keyes2016-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inherited signal mask may block SIGCHLD, which causes libuv to hang at epoll_wait. Closes #5230 Helped-by: Nicolas Hillegeer <nicolas@hillegeer.com> Helped-by: John Szakmeister <john@szakmeister.net> Note: the #pragma gymnastics are a workaround for broken system headers on macOS. signal.h: int sigaddset(sigset_t *, int); #define sigaddset(set, signo) (*(set) |= __sigbits(signo), 0) sys/_types/_sigset.h: typedef __darwin_sigset_t sigset_t; sys/_types.h: typedef __uint32_t __darwin_sigset_t; /* [???] signal set */ sigset_t is defined as unsigned int, but the sigaddset() ORs it with an int, mixing the types. So GCC generates a sign-conversion warning: sig.c:9:13: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion] (*(&s) |= __sigbits((sigset_t) 20), 0); ~~ ^~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. System headers are normally ignored when the compiler generates warnings: https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html > GCC gives code found in system headers special treatment. All warnings, > other than those generated by ‘#warning’ (see Diagnostics), are suppressed > while GCC is processing a system header. Macros defined in a system header > are immune to a few warnings wherever they are expanded. This immunity is > granted on an ad-hoc basis, when we find that a warning generates lots of > false positives because of code in macros defined in system headers. Instead of the #pragma workaround, we could cast the sigset_t pointer: # if defined(__APPLE__) sigaddset((int *)&mask, SIGCHLD); # else sigaddset(&mask, SIGCHLD); # endif but that could break if the headers are later fixed.
* | | | api/ui: use ui options instead of one method per featureBjörn Linse2016-08-29
| | | | | | | | | | | | | | | | Use new nvim_ui_ prefix to avoid breaking change.
* | | | api/ui: allow popupmenu to be drawn by external uiBjörn Linse2016-08-29
| | | |
* | | | iconv: Always include errno.h when USE_ICONV is defined (#5251)James McCoy2016-08-25
| | | | | | | | | | | | | | | | | | | | When USE_ICONV is defined, iconv.h references various errno constants, but errno.h is only being included when HAVE_ICONV_H is not defined. This causes build failures on at least GNU/Hurd.
* | | | Merge #5210 'vim-patch:7.4.1898 + :Man modifiers support'.Justin M. Keyes2016-08-25
|\ \ \ \
| * | | | use bool type for flag mod_entry_T membersAnmol Sethi2016-08-24
| | | | |
| * | | | vim-patch:7.4.1898Anmol Sethi2016-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: User commands don't support modifiers. Solution: Add the <mods> item. (Yegappan Lakshmanan, closes vim/vim#829) https://github.com/vim/vim/commit/63a60ded3fd584847a05dccf058026e682abad90
* | | | | Merge #5253 'perf: Disable clipboard in do_cmdline()'Justin M. Keyes2016-08-25
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | lintJustin M. Keyes2016-08-25
| | | | |
| * | | | perf: Disable clipboard in do_cmdline().Justin M. Keyes2016-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For any script--not just `:global` commands--there is no reason to update the system clipboard until the script is finished, so disable it during do_cmdline(). Before this change, 'clipboard=unnamedplus' causes scripted editing to be extremely slow (e.g. `:normal` in a while-loop). Closes #3534
| * | | | ops.c: Rename start_global_changes().Justin M. Keyes2016-08-25
| |/ / /
* / / / eval: remove (char_u *) in constant get_dict_(string|number) parametersBjörn Linse2016-08-24
|/ / / | | | | | | | | | | | | Remove redundant item availibility checks when constructing complete items from a dict.
* | | Merge commit 'refs/pull/upstream/5156'Justin M. Keyes2016-08-22
|\ \ \
| * | | LintingTommy Allen2016-08-17
| | | |
| * | | highlight: Added QuickFixLine highlight groupTommy Allen2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Links to Search by default screen.c: Combine CursorLine with QuickFixLine - HLF_QFL takes priority over HLF_CUL docs: Updated to mention QuickFixLine runtime: Added QuickFixLine to nvimHLGroup tests: QuickFixLine highlight
* | | | ex_cmds: Factor pieces of functionality out of do_subJames McCoy2016-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sub_joining_lines: Optimization for :%s/\n// * sub_grow_buf: Allocation of buffer to contain replacement text * sub_parse_flags: Parse {flags} from :s command into subflags_T Although this doesn't reduce do_sub's size enough to satisfy lint, it covers the more straightforward pieces.
* | | | lintJames McCoy2016-08-20
| | | |
* | | | vim-patch:7.4.2219James McCoy2016-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Recursive call to substitute gets stuck in sandbox. (Nikolai Pavlov) Solution: Handle the recursive call. (Christian Brabandt, closes vim/vim#950) Add a test. https://github.com/vim/vim/commit/f5a39447a8ebe162ee62caa2ee502cd0e65eecaa Closes #5118
* | | | vim-patch:7.4.1700James McCoy2016-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Equivalence classes are not properly tested. Solution: Add tests for multi-byte and latin1. Fix an error. (Owen Leibman) https://github.com/vim/vim/commit/22e421549d54147d003f6444de007cb1d73f1d27 src/regexp.c changes weren't applied because they're specific to EBCDIC handling, which has been dropped from nvim. The latin1-specific tests were also removed since neovim intends to remove the ability to have 'encoding' set to anything other than utf8.
* | | | job control: reuse common job code for rpc jobsBjörn Linse2016-08-20
| | | | | | | | | | | | | | | | This makes stderr and exit callbacks work for rpc jobs
* | | | stream: set data together with callbackBjörn Linse2016-08-20
| | | |
* | | | build: initialize variable (#5194)Matt Fowles Kulukundis2016-08-19
| | | |
* | | | Merge #5198 from equalsraf/windows-path-is-absoluteJustin M. Keyes2016-08-18
|\ \ \ \ | |/ / / |/| | | Windows: path_is_absolute()
| * | | path.c: Avoid code duplication for path separator checksRui Abreu Ferreira2016-08-18
| | | |
| * | | Windows: Check drive letter in absolute pathsRui Abreu Ferreira2016-08-18
| | | | | | | | | | | | | | | | | | | | Check if drive letter is alphabetic character in path_is_absolute_path().
| * | | Add Windows support to path_is_absolute()Rui Abreu Ferreira2016-08-18
| | | | | | | | | | | | | | | | vim-patch:0
* | | | vim-patch:7.4.2112 (#5175)Shougo2016-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: getcompletion(.., 'dir') returns a match with trailing "*" when there are no matches. (Chdiza) Solution: Return an empty list when there are no matches. Add a trailing slash to directories. (Yegappan Lakshmanan) Add tests for no matches. (closes vim/vim#947) https://github.com/vim/vim/commit/b56195ed00a9a79aa6217cddbeedbc8cc7a5b6d8
* | | | api: handle null string in buffer_add_highlightBjörn Linse2016-08-17
|/ / /
* | | Windows: get_past_head() (#5199)Rui Abreu Ferreira2016-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported in #4955, get_past_head() is supposed to return a pointer after the head of the path (/ in UNIX, c:\ in Windows) but the windows case was removed. Removed the Mac reference in the comment, since there no special handling for Mac. vim-patch:0
* | | Prevent endless loop in printdigraph(). (#5215)oni-link2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | Calling printdiagraph() with msg_silent != 0 can result in an endless loop because the loop condition never changes, if msg_col is never changed. To fix this, calculate the number of iterations before the loop, which is always smaller than list_width.
* | | lintJames McCoy2016-08-11
| | |
* | | Restore ":browse oldfiles" behavior from VimJames McCoy2016-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 3b12bb225adda2aac40a55f7009cae05311b2a43, ":oldfiles" was taught to behave like Vim's ":browse oldfiles" if ":oldfiles!" was used. However, this conflates the use of ! for abandoning a modified buffer with choosing one file out of a list of oldfiles. Now that ":browse" is supported again, ":browse oldfiles" will allow the user to select an old file, while still complaining if that would cause a modified buffer to be abandoned. ":browse oldfiles!" will just abandon the buffer, as expected.