aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | | | eval.c: Garbage collection frees dictionary before job cleanuponi-link2016-09-08
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing a job too early from the joblist gives garbage collection the chance to also remove the job dictionary. Can be triggered with ASAN while waiting 'updatetime'ms (~5 seconds) before closing the terminal window opened with: nvim -u NONE +'call termopen("true",{})'
* | | shada: Fix non-writeable ShaDa directory handlingZyX2016-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, nvim -i /etc/shada segfaults on exit if the file does not exist and user does not have permissions to create the file at /etc/shada. Closes #5296 Reported in #5277 https://github.com/neovim/neovim/issues/5277#issuecomment-243937255
* | | getcwd(): Return empty string if CWD is invalid. #5292HiPhish2016-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #5291 Restores behaviour identical to Vim. If the user calls the VimScript function 'getcwd()' and the working directory cannot be found (for example because the directory has been deleted since the last time it was used) an empty string needs to be returned instead of throwing an error.
* | | vim-patch:7.4.1913 (#5260)Jurica Bradarić2016-09-04
| | | | | | | | | | | | | | | | | | | | | Problem: When ":doautocmd" is used modelines are used even when no autocommands were executed. (Daniel Hahler) Solution: Skip processing modelines. (closes vim/vim#854) https://github.com/vim/vim/commit/1610d052413e0ed664498853a47acc2d677a22d1
* | | vim-patch:7.4.1971 (#5262)Jurica Bradarić2016-09-04
| | | | | | | | | | | | | | | | | | | | | Problem: It is not easy to see unrecognized error lines below the current error position. Solution: Add ":clist +count". https://github.com/vim/vim/commit/e8fea0728a2fa1fe78ef0ac90dee1a84bd7ef9fb
* | | test: Add unittest spec for option.c (#5289)Kalle Ranki2016-09-04
| | | | | | | | | | | | | | | | | | | | | | | | Move typedef expand_T to types.h for tests Fix lint error for old style comments Describe 'check_ff_value' valid values as an initial test. Fix 'get_sts_value' comment inaccuracy and add unit test for it
* | | tchdir: New tab should inherit CWD. (#5227)Alejandro Sanchez2016-09-04
| | | | | | | | | | | | When a new tabpage gets created it will copy the local working directory of the previous one, if there is any.
* | | 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().