Commit Graph

886 Commits

Author SHA1 Message Date
Eliseo Martínez
98255c7a78 Remove long_u: hashtab: Cleanup: Comments.
- Restyle comments (/// when appropiate, // otherwise).
- Improve comments (add new comments, augment/clarify existing ones).
2014-05-24 01:17:43 +02:00
Eliseo Martínez
95c3300ca6 Remove long_u: do_outofmem_msg().
Remove long_u occurrences due to do_outofmem_msg() function.
Refactor size parameter from long_u into size_t.
2014-05-24 01:17:42 +02:00
Thiago de Arruda
9e95c8aa33 Merge branch 'use-uids-for-api-remote-objects' 2014-05-23 18:10:52 -03:00
Thiago de Arruda
6c96e42e2c API: Test: Setup basic test infrastructure
- Add a 'expect' utility script that can run simple API tests using clients
  developed for any platform.
- Extend travis build matrix to run API tests using the python client and
  valgrind.

This script can be used to write API tests without having to manage nvim's
lifetime:

- It starts a single nvim instance listening on a known socket
- Invokes the test runner, which should connect to NEOVIM_LISTEN_ADDRESS
- The nvim instance started by the script provides a `BeforeEachTest` function,
  which should be called before each test to reset nvim to a clean state.
- It takes care of shutting down nvim once the tests are finished.

As explained
[here](https://github.com/neovim/neovim/pull/737#issuecomment-43941520), it's
not possible to fully reset nvim to it's initial state, but the `BeforeEachTest`
function should be enough for most test cases. Tests requiring a fully clean
nvim instance should take care of starting/stopping nvim.
2014-05-23 16:06:59 -03:00
Thiago de Arruda
f03a7672e1 API: Refactor: Fix buffer_get_mark 2014-05-23 16:06:59 -03:00
Thiago de Arruda
9815688fbd API: Refactor: Use macro for initializing all arrays 2014-05-23 16:06:59 -03:00
Thiago de Arruda
1156360fe7 API: Refactor: Implement buffer_get_number 2014-05-23 16:06:59 -03:00
Thiago de Arruda
a842fe4dc1 API: Refactor: Return handles instead of indexes
- Define specialized arrays for each remote object type
- Implement msgpack_rpc functions for dealing with the new types
- Refactor all functions dealing with buffers, windows and tabpages to
  return/accept handles instead of list indexes.
2014-05-23 16:06:58 -03:00
Thiago de Arruda
f70f9bfac1 API: Refactor: Change the integer type of remote objects to uint64_t 2014-05-23 16:06:58 -03:00
Thiago de Arruda
1e67b13fdc API: Refactor: Add macro infrastructure for typed arrays
- Add macros supporting typed arrays in the remote API
- Refactor StringArray-related functions on top of the new macros
2014-05-23 16:06:58 -03:00
Thiago de Arruda
92307201b5 API: Refactor: Generalize buffer, window and tabpage types/functions
- Extract remote types definitions into a macro
- Extract msgpack_rpc helper functions for remote types into a macro
2014-05-23 16:06:58 -03:00
Thiago de Arruda
5fdf854f78 API: Refactor: Register/unregister created/destroyed tabpages
- Add the 'handle' field to `tabpage_T`
- Add declare/implement functions for registering/unregistering/retrieving
  tabpages
- Register/unregister tabpages when they are created/destroyed.
2014-05-23 16:06:58 -03:00
Thiago de Arruda
20848c4064 API: Refactor: Register/unregister created/destroyed windows
- Add the 'handle' field to `win_T`
- Add declare/implement functions for registering/unregistering/retrieving
  windows
- Register/unregister windows when they are created/destroyed.
2014-05-23 16:06:58 -03:00
Thiago de Arruda
ed99198ff1 API: Refactor: Register/unregister created/destroyed buffers
- Add the 'handle' field to `buf_T`
- Add declare/implement functions for registering/unregistering/retrieving
  buffers
- Register/unregister buffers when they are created/destroyed.
2014-05-23 16:06:58 -03:00
Thiago de Arruda
7dfc7bc2e1 API: Refactor: Implement api/handle module
This module will be used to implement remote management of objects through the
API. Object types to be registered must have a `uint64_t` field named 'handle'.
2014-05-23 16:06:58 -03:00
Thiago de Arruda
72e3125f45 API: Refactor: Move non-public files to private subdirectory 2014-05-23 16:06:58 -03:00
Thiago de Arruda
399a0e3740 API: Bugfix: Terminate directory string in vim_change_directory
Also check that the string length is not equal or greater than MAXPATHL.
2014-05-23 16:06:46 -03:00
Thiago de Arruda
677d30d796 API: Bugfix: Use 0-terminated string in vim_strwidth
While the mb_string2cells function accepts a length parameter, it only seems to
work properly with 0-terminated strings, since valgrind reports a conditional
jump that depends on uninitialized values(means it reads after the string
boundaries which could result in overflows or wrong results)
2014-05-23 15:49:19 -03:00
Thiago de Arruda
c6483aa2fa API: Bugfix: Fix loop condition in vim_list_runtime_paths 2014-05-23 15:49:17 -03:00
Thiago de Arruda
ee60683b9a API: Bugfix: Remove wrong increment statement from buffer_set_slice 2014-05-23 15:49:14 -03:00
Thiago de Arruda
28eb3796b9 API: Bugfix: Check that error isn't set in buffer_get_line 2014-05-23 15:49:12 -03:00
Thiago de Arruda
7ce2d63fef API: Cleanup: Remove unnecessary NULL checks 2014-05-23 15:49:08 -03:00
Justin M. Keyes
f1e52c496d Merge #739 'Remove OOM error handling in khash.h' 2014-05-22 17:00:55 -04:00
Justin M. Keyes
e2e47803bd Merge #708 'Remove NULL/non-NULL tests after vim_str(n)save'
- replace alloc with xmalloc
2014-05-22 13:00:51 -04:00
Pavel Platto
c57c3633d4 Remove OOM error handling in khash.h 2014-05-20 16:50:36 +03:00
Thiago de Arruda
0aa8b5828c Merge pull request #699 'Remove cryptography' 2014-05-20 08:31:19 -03:00
John Schmidt
85338fe1d5 Remove cryptography
As discussed in #694, vim encryption uses old,
obsolete algorithms that are poorly implemented.
Since insecure cryptography is worse than no
cryptgraphy, the community voted in favor of
removing all crypto.

Various alternatives to the old crypto is
being discussed in #701.

Closes #694.
2014-05-20 08:31:06 -03:00
Felipe Oliveira Carvalho
e303a11ebf Remove OOM checks: suggested changes in review
- Replace a vim_strsave/free pair with xrealloc
 - Use xmallocz() in some places
 - Use xrealloc() and forget about the NULL pointer case
 - Remove invalid comment
 - Remove unnecessary checks
 - Replace a complicated xmalloc/STRCPY/free code chunk code with xrealloc()
 - Replace a vim_strsave/free code chunk with xrealloc()
2014-05-19 14:50:26 -03:00
Felipe Oliveira Carvalho
7a830d945f Remove OOM checks: viminfo_filename() 2014-05-19 14:50:26 -03:00
Felipe Oliveira Carvalho
f88a2d7e1b Remove OOM checks: do_string_sub() 2014-05-19 14:50:25 -03:00
Felipe Oliveira Carvalho
1d844dda46 Remove OOM checks: expand_tag_fname() and tag_full_name() 2014-05-19 14:50:25 -03:00
Felipe Oliveira Carvalho
6ea2559f6c Remove OOM checks: u_save_line() 2014-05-19 14:50:25 -03:00
Felipe Oliveira Carvalho
1a2364f74e Remove OOM checks: ff_create_stack_element() 2014-05-19 14:50:25 -03:00
Felipe Oliveira Carvalho
8551f4f4c7 Remove OOM checks: mark_line() 2014-05-19 14:50:25 -03:00
Felipe Oliveira Carvalho
bf3d093627 truncate_line() cant't FAIL: change its return type to void 2014-05-19 14:50:25 -03:00
Felipe Oliveira Carvalho
11cae8ec58 Remove OOM checks: backslash_halve_save() 2014-05-19 14:50:25 -03:00
Felipe Oliveira Carvalho
a2f6a53b68 Remove OOM checks: save_typebuf() 2014-05-19 14:50:24 -03:00
Felipe Oliveira Carvalho
39a272c4db Remove OOM checks: alloc_typebuf() 2014-05-19 14:50:24 -03:00
Felipe Oliveira Carvalho
27f5f7b1e8 Remove OOM checks: realloc_cmdbuff()
put_on_cmdline() doesn't FAIL anymore but its return value was
never checked.
2014-05-19 14:50:24 -03:00
Felipe Oliveira Carvalho
eb636858b5 Remove OOM checks: alloc_cmdbuff() 2014-05-19 14:50:24 -03:00
Felipe Oliveira Carvalho
1ca3368ce3 Remove OOM checks: ml_new_data() 2014-05-19 14:50:24 -03:00
Felipe Oliveira Carvalho
679629649b Remove OOM checks: ml_new() 2014-05-19 14:50:24 -03:00
Felipe Oliveira Carvalho
873a137c64 Remove OOM checks: mf_alloc_bhdr() 2014-05-19 14:50:23 -03:00
Felipe Oliveira Carvalho
e5e3cbf320 Remove OOM checks: reverse_text() 2014-05-19 14:50:23 -03:00
Felipe Oliveira Carvalho
21784aeb00 Replace alloc() with xmalloc() and remove immediate OOM checks 2014-05-19 14:50:23 -03:00
Felipe Oliveira Carvalho
a80d7e86c1 Remove NULL/non-NULL tests after calls to vim_str(n)save() 2014-05-19 14:50:23 -03:00
Felipe Oliveira Carvalho
b63d2626ed Implement vim_str(n)save using xstrdup and strncpy/xmalloc 2014-05-19 14:50:22 -03:00
Justin M. Keyes
32d018b57e Merge #735 'nvim namespace fixes regarding YouCompleteMe' 2014-05-19 10:47:51 -04:00
Eliseo Martínez
1f84a4f811 Introduce vim namespace: Contrib YCM: Fix style issues.
Python-mode signaled a couple of issues here:
- Multiple imports on same line.
- Line too long.
2014-05-19 16:24:44 +02:00
Eliseo Martínez
c0e70e1fa5 Introduce vim namespace: Contrib YCM: Fix build dir calculation.
Build directory calculation had not been correctly updated in #716.
2014-05-19 16:24:44 +02:00