aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
* vim-patch:7.4.950watiko2016-01-10
| | | | | | | Problem: v:errors is not initialized. Solution: Initialze it to an empty list. (Thinca) https://github.com/vim/vim/commit/4649ded2877508fe343cbcf6f7e7fd277be0aab3
* vim-patch:7.4.946watiko2016-01-10
| | | | | | | Problem: Missing changes in source file. Solution: Include changes to the eval.c file. https://github.com/vim/vim/commit/bbfbaf9741deebb9f1ed790885bd571c4cbce17a
* vim-patch:7.4.944watiko2016-01-10
| | | | | | | | | Problem: Writing tests for Vim script is hard. Solution: Add assertEqual(), assertFalse() and assertTrue() functions. Add the v:errors variable. Add the runtest script. Add a first new style test script. https://github.com/vim/vim/commit/43345546ae63710441f066648b8485fb545b3801
* eval: Do not use msgpack#string for error messagesZyX2016-01-07
|
* eval: Use better error messages when failing to dump valuesZyX2016-01-04
| | | | | | | | | | | | | | | | | | | | | | | | Examples: let g:SR = [[]] call add(g:SR[0], g:SR) wshada " E952: Unable to dump variable g:SR: container references itself in index 0, index 0 let g:F = {'_TYPE': v:msgpack_types.map, '_VAL': [[{'abc': 1}, function("tr")]]} wshada " E951: Error while dumping variable g:F, key {'abc': 1} at index 0 from special map, key '': attempt to dump function reference " (no msgpack#string available) " E951: Error while dumping variable g:F, key {="abc": 1} at index 0 from special map, key '': attempt to dump function reference " (msgpack#string available) let g:F = {'_TYPE': v:msgpack_types.map, '_VAL': [[g:SR, function("tr")]]} wshada " E951: Error while dumping variable g:F, key [[[[{E724@0}]]]] at index 0 from special map, index 1: attempt to dump function reference call msgpackdump([g:SR]) " E952: Unable to dump msgpackdump() argument, index 0: container references itself in index 0, index 0 Not tested yet.
* eval: Use list_unref in place of decrementing refcount directlyZyX2015-12-13
|
* eval: Replace internal_refcount hack with proper copyID settingZyX2015-12-13
|
* Merge pull request #3753 from watiko/vim-7.4.790Justin M. Keyes2015-12-12
|\ | | | | Vim 7.4.{786,787,789,790}
| * Improve coding stylewatiko2015-11-28
| |
| * vim-patch:7.4.786watiko2015-11-28
| | | | | | | | | | | | | | Problem: It is not possible for a plugin to adjust to a changed setting. Solution: Add the OptionSet autocommand event. (Christian Brabandt) https://github.com/vim/vim/commit/537443018d41918639695a442c91b34ccec69fc3
* | src/*: Remove `VIM - Vi improved ...` headerMichael Reed2015-11-27
|/ | | | | | | | | | | | | | | | | | | Regarding the individual items in the header: `Vim - Vi improved by Bram Moolenar` Bram Moolenar is already mentioned throughout the documentation, as well as the intro screen. `:help uganda` It's already shown to all users who don't use `shortmess+=I` upon starting nvim, and is already placed prominently in help.txt, i.e., `:help` run with no arguments. `:help credits` Already mentioned near the top of help.txt. `README.md` Already mentioned in develop.txt.
* Remove unnecessary includes for errno.hRui Abreu Ferreira2015-11-25
|
* src: README.txt -> README.mdMichael Reed2015-11-23
| | | | | The former no longer exists in this repo; see the top of src/nvim/README.md.
* Add TermClose eventMarco Hinz2015-11-15
| | | | | | | | A terminal buffer now exits with: [Process exited <return value>] You can hook into it. E.g. :au TermClose * call feedkeys('<cr>') Closes #2293.
* Add file selection prompt on ":oldfiles!"Marco Hinz2015-11-10
| | | | | | | | :browse was removed for good, but some people miss ":browse oldfiles". The same functionality is now provided by ":oldfiles!". Helped-by: @Pyrohh
* Add ":profile stop"Marco Hinz2015-11-10
| | | | This writes the logfile and stops profiling.
* eval: Implement dictionary change notificationsThiago de Arruda2015-11-09
|
* eval: Extract `find_var_ht_dict` from `find_var_ht`Thiago de Arruda2015-11-09
|
* eval: Extract `find_ufunc` from `get_dict_callback`Thiago de Arruda2015-11-09
|
* Remove useless FEAT_BROWSE ifdefMichael Reed2015-11-01
| | | | | The only thing this affected was the return value of has('browsefilter').
* undo: Do some refactoringZyX2015-10-29
| | | | | | Specifically refactor u_get_undo_file_name which will be modified to automatically create undo directory and replace `char_u` with `char` in some of the related functions.
* Implement server_address_new()Rui Abreu Ferreira2015-10-18
| | | | | | | | | | | | | | | | When creating a local socket/pipe (server_start()) Neovim used vim_tempname() to generate a unique socket path. For Windows UNIX filepaths cannot be used as pipe names (they must start with \\.\pipe\). This commit replaces the use of vim_tempname() for server addresses with server_address_new(). server_address_new() generates unique names for local sockets/pipes - for UNIX it uses vim_tempname(), for Windows generates names in the form \\.\pipe\nvim-PID-COUNTER where PID is the current process id, and COUNTER is a static uint32_t counter incremented with every call. This function is now used for server_start() and server_init() when no address is available.
* *: Fix lint errors found in new code in previously ignored filesZyX2015-10-08
|
* shada: Use same iteration end conditions as with other iteratorsZyX2015-10-08
|
* eval: Use proper iteration end conditionZyX2015-10-08
|
* eval: Reorder checks in var_shada_iterZyX2015-10-08
|
* eval: Remove incorrect NONNULL_RET attributesZyX2015-10-08
|
* *: Fix problems with clang+asan Release buildZyX2015-10-08
|
* eval,functests: Reference all additional_* items created by ShaDaZyX2015-10-08
|
* *: Make ShaDa code use VimL values for additional_\* dataZyX2015-10-08
|
* viminfo: First version of ShaDa file dumpingZyX2015-10-08
| | | | | | | | | | | | | | | | | | | | What works: 1. ShaDa file dumping: header, registers, jump list, history, search patterns, substitute strings, variables. 2. ShaDa file reading: registers, global marks, variables. Most was not tested. TODO: 1. Merging. 2. Reading history, local marks, jump and buffer lists. 3. Documentation update. 4. Converting some data from &encoding. 5. Safer variant of dumping viminfo (dump to temporary file then rename). 6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for reference).
* eval/string(): Share code between msgpackdump() and string()+:echoZyX2015-09-30
|
* eval/msgpackdump(): Use copyID for protecting against recursive inputZyX2015-09-30
| | | Should be faster then O(depth) iteration, but removes const qualifiers.
* eval/msgpackparse(): Fix crash by adding return at errorZyX2015-09-19
|
* eval: Fix `ex_delfunction` to use the `uf_refcount` field properlyThiago de Arruda2015-09-18
| | | | | | @4b98ea1e80bf changed how refcounts are handled internally to fit into job control semantics. Change the refcount check in `ex_delfunction` to consider this. Close #3000
* vim-patch:7.4.609oni-link2015-09-07
| | | | | | | | | Problem: For complicated list and dict use the garbage collector can run out of stack space. Solution: Use a stack of dicts and lists to be marked, thus making it iterative instead of recursive. (Ben Fritz) https://github.com/vim/vim/commit/2459a5ecaa43c8549ea53e9364253ff891676da5
* termopen(): remove `name` feature. #3181Mathieu Xhonneux2015-08-30
| | | | | | | | | | | Problem: Commands like `:e term://top` display `term://.//PID:(null)` instead of `term://.//PID:top`. Solution: Remove the optional `name` argument (it allowed ambiguous/potentially destructive cases, so it was problematic anyway). Closes #3113 Closes #2924
* Windows: avoid "uv_" naming conflicts. #3225Seth Jackson2015-08-27
|
* vim-patch:7.4.836 #3244Justin M. Keyes2015-08-26
| | | | | | | Problem: Accessing unitinialized memory. Solution: Add missing calls to init_tv(). (Dominique Pelle) https://github.com/vim/vim/commit/0a38dd29d6f65aa601162542a5ab0ba7f308fc8e
* Windows: Add has('win32'). #3223Rui Abreu Ferreira2015-08-23
| | | | References #810
* eval: Protect job callbacks from being redefinedThiago de Arruda2015-08-21
| | | | ref: #3188
* 7.4.813James McCoy2015-08-20
| | | | | | | | | | | patch 7.4.813 Problem: It is not possible to save and restore character search state. Solution: Add getcharsearch() and setcharsearch(). (James McCoy) https://github.com/vim/vim/releases/tag/v7.4.813 https://github.com/vim/vim/releases/tag/v7.4.826 Signed-off-by: James McCoy <vega.james@gmail.com>
* fs.c: implement os_file_is_readable()Justin M. Keyes2015-08-17
| | | | | | | Use access() because: - We already use it for os_file_is_writable() - Vim's old check_file_readonly() ends up using access() after all.
* eval: Fix jobwait() to process multiple jobs concurrentlyThiago de Arruda2015-08-13
| | | | | | | | | | | | | The new event processing architecture changed `jobwait()` semantics: Only one job is processed at time since process_wait only focuses on one queue. This fixes the problem with a few changes: - Allow the event queue polled by `process_wait` to be overriden by a new argument. - Allow the parent queue to be overriden with `queue_replace_parent` - Create a temporary queue that serves as the parent for all jobs passed to `jobwait()`
* rstream: Pass read count to read eventsThiago de Arruda2015-08-13
| | | | This is necessary to keep events in the same order received from the OS.
* process: Remove indeterminism that causes reordering of pty eventsoni-link2015-08-13
| | | | | | | | | | | | | | | | | | | | | Since pty events are queued, it is possible that the reads will be reordered. Example scenario: In the terminal you have output combined from stdout and stderr. A program generates output, first you have some output on stdout, then output on stderr, output on stdout, output on stderr,... The whole output should be interleaved from both streams. Each output generates a read_event and they are placed in the same queue. If the queue is processed, the first read_event will send the whole stdout output to the terminal (on_job_output() consumes the whole buffer). The next read_event is similar for stderr. The remaining read events do nothing because now both RBuffer are already empty. So the terminal would show first the stdout output and after that the stderr output. This commit fixes the problem by disabling stderr stream in pty processes. That's ok because they all represent the same stream(duplicate file descriptors), plus one stream is simpler to deal with.
* event: Refactor async event processingThiago de Arruda2015-08-13
| | | | | | | | | | - Improve the implementation of deferred/immediate events. - Use the new queue module to change how/when events are queued/processed by giving a private queue to each emitter. - Immediate events(which only exist to break uv_run recursion) are now represented in the `loop->fast_events` queue. - Events pushed to child queues are propagated to the event loop main queue and processed as K_EVENT keys.
* process: Pass loop reference during initializationThiago de Arruda2015-08-13
| | | | | Change the API so that it is passed to {uv,pty}_process_init instead of `process_spawn`.
* eval: Fixes to job controlThiago de Arruda2015-08-13
| | | | | - Ensure TerminalJobData is freed in case of error when spawning pty jobs - Check if job was stopped in every function that receives a job id.
* eval: Use proper refcount of msgpack type listsZyX2015-08-05
|