aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | | api: Make sure dict_set_var doesn’t edit read-only valuesZyX2017-02-23
| | | | | | | | | | | | | | | Fixes #6147
| * | | | api: Rename dict_set_value to dict_set_varZyX2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reasonings: 1. It is not used for anything, but scope dictionaries currenly. So there is no need to generalize and split it into dict_set_var (which will contain some scope-dictionary-specific checks) and dict_set_value (which will work for any dictionary). 2. Check for key size is no longer valid for non-scope dictionaries: you *can* use empty keys there. In scope dictionaries also, but you actually are not supposed to store there anything, but variables. Note that actually one may still do let b:[''] = 1 and “bypass” check for variable name. It won’t change what `echo b:` will show, but it may affect code which iterates over scope dictionary keys and sets them to something (if there is such code).
| * | | | eval: Remove incorrect workaroundZyX2017-02-23
| | | | | | | | | | | | | | | Was replaced by the previous patch. Also fixes legacy test 055.
| * | | | eval: Forbid (un)locking b:changedtickZyX2017-02-23
| | | | | | | | | | | | | | | Port of vim-patch:8.0.0343
| * | | | eval: Make sure `islocked('b:.changedtick')` does not error outZyX2017-02-23
| | | | | | | | | | | | | | | Port of vim-patch:8.0.0345
| * | | | eval: Specify more precise len for var_check_ro in get_lvalZyX2017-02-23
| | | | |
| * | | | eval: Refactor var_check_ro, tv_check_lock and var_check_fixedZyX2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | - They are no longer responble for using gettext. - They now receive string length and use %.* format specifier in messages. - And one less global: one of the error messages is never repeated.
| * | | | eval: Fix memory leakZyX2017-02-23
| | | | | | | | | | | | | | | Ref vim/vim#1497
| * | | | buffer: Forbid unletting b:changedtickZyX2017-02-23
| | | | |
| * | | | eval: Refactor item_lockZyX2017-02-23
| | | | | | | | | | | | | | | If I am not mistaking, this commit should not change any functionality.
| * | | | eval: Make sure that b:changedtick may not be unlocked via :unlo b:varZyX2017-02-23
| | | | | | | | | | | | | | | It still may be unlocked by `:unlock b:.var`.
| * | | | buffer: Bind b:changedtick to b:['changedtick'], remove special casesZyX2017-02-23
| | | | |
| * | | | api/buffer: Add nvim_buf_get_changedtick methodZyX2017-02-23
| | | | |
* | | | | Merge #6111 from ZyX-I/split-eval'/os-fileioJustin M. Keyes2017-02-27
|\ \ \ \ \ | | | | | | | | | | | | Refactor writefile() and create more tests for it
| * | | | | eval: Flush buffer in write_listZyX2017-02-23
| | | | | | | | | | | | | | | | | | This way success/failure return from this function is more precise.
| * | | | | eval: Fix linter errorZyX2017-02-15
| | | | | |
| * | | | | eval: Fix error messages from writefileZyX2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. When calling writefile(list, fname, []) do not show error message twice. 2. Do not allow file name to be overwritten for writefile([1], 2). 3. Do not show “Can’t open file with an empty name” error after error like “using Float as a String” when type of the second argument is not correct. 4. Do not give multiple error messages and still continue for code like `writefile(["test", [], [], [], "tset"])`. Note that to fix 4. ideally I need tv_check_str_or_nr which is currently present in two PRs: #6114 and #5119. I would want to avoid copying this function into a yet another PR. Ref vim/vim#1476.
| * | | | | eval: Return immediately after an error in write_list()ZyX2017-02-14
| | | | | | | | | | | | | | | | | | Previously it could attempt to write trailing newline before returning.
| * | | | | eval: Remove outdated commentZyX2017-02-14
| | | | | |
| * | | | | eval: writefile: Give more adequate IO errors and do not call putc()ZyX2017-02-14
| | | | | |
| * | | | | os/fileio: Support appending to a fileZyX2017-02-14
| | | | | |
| * | | | | os/fileio: Allow certain failures during file_fsyncZyX2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the documentation fsync() may fail with EROFS or EINVAL if “file descriptor is bound to a special file which does not support synchronization” (e.g. /dev/stderr). This condition is completely valid in this case since main point of `file_fsync()` is dumping buffered input.
* | | | | | Merge #6142 from justinmk/term-modifiableJustin M. Keyes2017-02-27
|\ \ \ \ \ \ | | | | | | | | | | | | | | terminal: 'modifiable'; 'scrollback'; follow output only if cursor is on last line
| * | | | | | terminal.c/redraw(): Remove cargo cult.Justin M. Keyes2017-02-26
| | | | | | |
| * | | | | | channel.c: loggingJustin M. Keyes2017-02-26
| | | | | | |
| * | | | | | terminal: Follow output only if cursor is at end.Justin M. Keyes2017-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #2257 Closes #2636 References #2683
| * | | | | | terminal: 'scrollback'Justin M. Keyes2017-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #2637
| * | | | | | options: 'scrollback'Justin M. Keyes2017-02-26
| | | | | | |
| * | | | | | terminal: Allow undo and 'modifiable'.Justin M. Keyes2017-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partial step towards #2637. Will crash if *all* lines are deleted. Closes #2607 References #5431
* | | | | | | vim-patch:8.0.0379James McCoy2017-02-26
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: CTRL-Z and mouse click use CTRL-O unnecessary. Solution: Remove stuffing CTRL-O. (James McCoy, closes vim/vim#1453) https://github.com/vim/vim/commit/74a47162a07fddb532f4bead212f6c80ef474ae7
* | | | | | terminal: Don't redraw the entire screen when resizing (#6167)Tommy Allen2017-02-26
| | | | | |
* | | | | | vim-patch:7.4.2230 (#6080)lonerover2017-02-25
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: There is no equivalent of 'smartcase' for a tag search. Solution: Add value "followscs" and "smart" to 'tagcase'. (Christian Brabandt, closes vim/vim#712) Turn tagcase test into new style. https://github.com/vim/vim/commit/66e29d7112e437b2b50efe1f82c7e892736d23e4
* | | | | Merge pull request #5771 from brcolow/lambdaJames McCoy2017-02-23
|\ \ \ \ \ | | | | | | | | | | | | Lambda Support
| * \ \ \ \ Merge remote-tracking branch 'origin/master' into lambdaJames McCoy2017-02-22
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| * | | | | vim-patch:8.0.0297Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Double free on exit when using a closure. (James McCoy) Solution: Split free_al_functions in two parts. (closes #1428) https://github.com/vim/vim/commit/03ff9bcbc968f7d306e4a4e334e226fdde62ca82
| * | | | | Allow lambdas to be used with jobs, timers and dictwatchers.Michael Ennen2017-02-14
| | | | | |
| * | | | | vim-patch:7.4.2235Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: submatch() does not check for a valid argument. Solution: Give an error if the argument is out of range. (Dominique Pelle) https://github.com/vim/vim/commit/989f592f7ffcbafdc4ec35cee4dc65bd053e2077
| * | | | | vim-patch:7.4.2233Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Crash when using funcref() with invalid name. (Dominique Pelle) Solution: Check for NULL translated name. https://github.com/vim/vim/commit/843b884461de1c79a1d2748549776fb13fc94360
| * | | | | vim-patch:7.4.2197Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: All functions are freed on exit, which may hide leaks. Solution: Only free named functions, not reference counted ones. https://github.com/vim/vim/commit/c257487035f83aabe1c7e07f0552309e98f1bcb1
| * | | | | vim-patch:7.4.2143Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: A funccal is garbage collected while it can still be used. Solution: Set copyID in all referenced functions. Do not list lambda functions with ":function". https://github.com/vim/vim/commit/bc7ce675b2d1c9fb58c067eff3edd59abc30aba4
| * | | | | vim-patch:7.4.2142Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Leaking memory when redefining a function. Solution: Don't increment the function reference count when it's found by name. Don't remove the wrong function from the hashtab. More reference counting fixes. https://github.com/vim/vim/commit/8dd3a43d75550e9b5736066124c97697564f769e
| * | | | | vim-patch:7.4.2141Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Coverity reports bogus NULL check. Solution: When checking for a variable in the funccal scope don't pass the varname. https://github.com/vim/vim/commit/ba96e9af388804364425185b47eed14988302865
| * | | | | vim-patch:7.4.2139Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: :delfunction causes illegal memory access. Solution: Correct logic when deciding to free a function. https://github.com/vim/vim/commit/0588d4f9d2741f35a271400a37fddbdd72d84219
| * | | | | vim-patch:7.4.2137Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Using function() with a name will find another function when it is redefined. Solution: Add funcref(). Refer to lambda using a partial. Fix several reference counting issues. https://github.com/vim/vim/commit/437bafe4c8a83ed71ee006eda7f54b65a90f0d4c
| * | | | | vim-patch:7.4.2136Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Closure function fails. Solution: Don't reset uf_scoped when it points to another funccal. https://github.com/vim/vim/commit/580164481924ed8611eb79f0247a0eb1ca0b3b9a
| * | | | | vim-patch:7.4.2134Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No error for using function() badly. Solution: Check for passing wrong function name. (Ken Takata) https://github.com/vim/vim/commit/b54c3ff3174dbb5dfbfcabdf95200b047beaa644
| * | | | | vim-patch:7.4.2121Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No easy way to check if lambda and closure are supported. Solution: Add the +lambda feature. https://github.com/vim/vim/commit/9532fe7fbe1b14531931e83bd9f8054efdcf7509
| * | | | | vim-patch:7.4.2120Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: User defined functions can't be a closure. Solution: Add the "closure" argument. Allow using :unlet on a bound variable. (Yasuhiro Matsumoto, Ken Takata) https://github.com/vim/vim/commit/10ce39a0d52272a3dfff2feb8c631529f29e6740
| * | | | | vim-patch:7.4.2119Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Closures are not supported. Solution: Capture variables in lambdas from the outer scope. (Yasuhiro Matsumoto, Ken Takata) https://github.com/vim/vim/commit/1e96d9bf98f9ab84d5af7f98d6a961d91b17364f
| * | | | | vim-patch:7.4.2104Michael Ennen2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Code duplication when unreferencing a function. Solution: De-duplicate. https://github.com/vim/vim/commit/97baee80f0906ee2f651ee1215ec033e84f866ad