Commit Graph

898 Commits

Author SHA1 Message Date
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
Thiago de Arruda
080f5dbd95 Merge pull request #732 from tarruda/map-improvements 2014-05-19 11:01:55 -03:00
Thiago de Arruda
25595d97d5 Improve map module: Refactor vim_to_object_rec
Now the map.c module is used to implement the 'lookup set' for that function
2014-05-19 10:52:15 -03:00
Thiago de Arruda
37dfe2d48f Improve map module: Refactor into a macro library
The map_* declarations and definitions are now created by a macro invocation
with a key type parameter. Also refactored server module to use the updated
version.
2014-05-19 10:52:10 -03:00
Thiago de Arruda
974eade1a6 Improve map module: Change scopes
- Move `Map` structure definition to `map_defs.h`
- Use `KHASH_DECLARE` on map_defs.h to declare khash function prototypes.
- Redefine `map_foreach` into a macro
- Refactor server.c module to use the new `map_foreach` macro.
2014-05-19 10:52:04 -03:00
Thiago de Arruda
eb7513bbd2 Improve map module: Fix implementation of map_has 2014-05-19 10:51:56 -03:00
Thiago de Arruda
b87b1a3325 Improve map module: Add to clint and CONV_SRCS 2014-05-19 10:51:47 -03:00
Justin M. Keyes
93f9023b46 Merge klib upstream.
Silence -Wstrict-prototypes and static analyser warnings

Using "(void)" provides an explicit there-are-no-arguments prototype.
Using the exact type in "malloc(...sizeof)" is clearer and silences
warnings from clang's static analyzer. (John Marshall)
2014-05-19 09:17:27 -04:00
Justin M. Keyes
4fc6e06465 Fix comment typo. 2014-05-19 08:59:24 -04:00
Nicolas Hillegeer
9eb68075d8 api/helpers: implement C string to String helper
Use it in buffers.c
2014-05-18 06:45:39 -03:00
Nicolas Hillegeer
b591447f77 clint: disregard compound literal return
This allows lines like:

return (my_struct_type) {
  .my_int = 5,
  .my_str = ""
};

Thanks to @watk for finding and fixing it!
2014-05-18 06:45:39 -03:00
Thiago de Arruda
96a9b5eaee Fixed outdated comment in option.c 2014-05-17 08:14:54 -03:00
Thiago de Arruda
1f8534684e Removed lalloc prototype(again)
It was re-added by accident when resolving merge conflicts
2014-05-17 08:07:58 -03:00
Thiago de Arruda
83b59e3815 Fix xmemdup function signature 2014-05-17 08:05:44 -03:00
Thiago de Arruda
9920599e5d Replace unnecessary xcalloc call by xmalloc 2014-05-17 08:05:44 -03:00
Thiago de Arruda
45e5a18f3a Enable -Wconversion for API files and fix errors 2014-05-17 08:05:44 -03:00
Thiago de Arruda
76a2fb5667 Use more descriptive names for API primitive types
Instead of exposing native C types to a public API that can be consumed by other
platforms, we are now using the following translation:

int64_t -> Integer
double  -> Float
bool    -> Boolean
2014-05-17 08:05:44 -03:00
Thiago de Arruda
a8b0c9e576 Refactor API to use one integer type: int64_t
This should make the API simpler, and int64_t is enough to represent any integer
value we might need.

Range checks should be done inside the API functions, that way we can modify the
types of the actual fields/variables modified by the API without changes to the
API prototypes.
2014-05-17 08:05:44 -03:00
Thiago de Arruda
b7108002bb Use uintptr_t as the hashtable type in helpers.c 2014-05-17 08:05:44 -03:00
Thiago de Arruda
32b6122460 Remove hardcoded type names from msgpack-gen.lua
Except for the `Error *` type, all parameter types are valid identifiers, so
reuse that LPeg rule.
2014-05-17 08:05:44 -03:00
Felipe Oliveira Carvalho
bd2ab0d8a5 Replace if (ga->ga_len) with if (!GA_EMPTY(ga))
Used Coccinelle to perform the changes

```diff
@@
expression E;
statement S;
@@

(
- if (E.ga_len) S
+ if (!GA_EMPTY(&E)) S
|
- if (E->ga_len) S
+ if (!GA_EMPTY(E)) S
)
```
2014-05-17 07:02:44 -03:00
Felipe Oliveira Carvalho
5209d2271b Replace ga->ga_len == 0 checks with GA_EMPTY(ga)
Used Coccinelle to perform the changes

@@
expression E;
@@

<...
(
// E.ga_len == 0 is isomorphic to !E.ga_len
- E.ga_len == 0
+ GA_EMPTY(&E)
|
- E->ga_len == 0
+ GA_EMPTY(E)
)
...>
2014-05-17 07:02:44 -03:00
Felipe Oliveira Carvalho
b4efff6523 Replace ga->ga_len > 0 checks with !GA_EMPTY(ga)
Used Coccinelle to perform the changes

```diff
@@
expression E;
@@

<...
(
- E.ga_len > 0
+ !GA_EMPTY(&E)
|
- E->ga_len > 0
+ !GA_EMPTY(E)
)
...>
```

`spatch --in-place --sp-file ga_empty.cocci <C_FILE>`
2014-05-17 07:02:44 -03:00
Felipe Oliveira Carvalho
659cd0e99a s/GA_EMPTY/GA_EMPTY_INIT_VALUE/
I'm about to implement a `GA_EMPTY` macro that checks if the GA is empty or not.
2014-05-17 07:02:44 -03:00
Eliseo Martínez
5f795225dc Introduce nvim namespace: Fix define guards.
Change define guards from NEOVIM_XXX_H to NVIM_XXX_H:
- Change header files.
- Change clint correct guard name calculation.
2014-05-15 20:46:02 +02:00
Eliseo Martínez
71c79b5b70 Introduce nvim namespace: Fix contrib youcompleteme.
- Fix instructions to install youcompleteme configuration.
2014-05-15 20:46:02 +02:00
Eliseo Martínez
3b523ec699 Introduce nvim namespace: Fix localization.
- Fix executable path.
- Make po file title similar as others.
2014-05-15 20:46:02 +02:00
Eliseo Martínez
575deff66d Introduce nvim namespace: Fix clint.
- Fix path to clint-checked files.
- Fix mechanism to calculate define guard names.
2014-05-15 20:46:02 +02:00
Eliseo Martínez
2ababe5a99 Introduce nvim namespace: Fix functional tests.
Fix some paths to new locations:
- Makefile: Fix nvim binary path.
- test49  : 459: Fix nvim binary path.
- test89  :  62: Fix testdir root.
                 Fix corresponding expected result.
- test105 :  10: Testing fnamemodify to reduce path to use ~ prefix.
                 Fix faked home directory.
                 Fix corresponding expected result.
             26: Testing fnamemodify with r modifier.
                 Fix out-of-project prefix removal.
                 Fix corresponding expected result.
2014-05-15 20:46:02 +02:00
Eliseo Martínez
74b9396043 Introduce nvim namespace: Fix unit tests.
Point cimports to new locations.
2014-05-15 20:46:02 +02:00
Eliseo Martínez
762a8ad0f3 Introduce nvim namespace: Fix unmasked strings.h issue.
Problem:  Now that nvim/strings.h is correctly namespaced, an issue
          that had been masked until now arises:

          When compiling, we get a lot of errors because of everywhere
          the functions in nvim/strings.h are used, there's no include
          to import them.

          But, how could this compile and work previously, then? It
          turns out that:
          - In every such case, we are also including vim.h, which in
            turn includes os_unix_defs.h.
          - os_unix_defs.h includes <string.h> and also <strings.h> in
            some systems (e.g. OSX).
          - Build had been modified previously to (even when importing
            system headers), prefer equally-named local ones. That was
            in fact done as a previous attempt to solve the same issue
            we are trying to solve another way now.

          So, we were including our "strings.h" as a side-effect of
          including <strings.h> through "vim.h" --> "os_unix_defs.h".

Solution: Correctly include "nvim/strings.h" in every file needing it.
2014-05-15 20:46:02 +02:00
Eliseo Martínez
409cc138f2 Introduce nvim namespace: Fix project-local includes.
Prepend 'nvim/' in all project-local (non-system) includes.
2014-05-15 20:46:01 +02:00
Eliseo Martínez
e731a5edf8 Introduce nvim namespace: Fix relative includes.
Problem:  Some newly introduced files used includes relative to the
          current file, both of the form `include "../XXX.h"` and
          `include "XXX.h"`.
          Preferred form is relative to include root (src/ in our case).
Solution: Change includes to preferred form.
Note:     This is also done to ease next commit (prepend 'nvim/ to all
          project-local includes).
2014-05-15 20:46:01 +02:00
Eliseo Martínez
a6734844ca Introduce nvim namespace: Fix build process.
- Leave src as include dir (for includes to recognize 'nvim/' prefix).
- Change subdirectory from src to src/nvim.
- Fix msgpack generation.
- Fix some other paths to new locations.
2014-05-15 20:46:01 +02:00
Eliseo Martínez
da51dc9cf2 Introduce nvim namespace: Move files.
Move files from src/ to src/nvim/.
- src/nvim/ becomes the new root dir for nvim executable sources.
- src/libnvim/ is planned to become root dir of the neovim library.
2014-05-15 20:46:01 +02:00
Thiago de Arruda
ffe61e5ba1 Tell cmake to use -isystem third-party includes
This adds the `SYSTEM` parameter to `include_directories`, which will tell cmake
to use `-isystem` instead of `-I` for specifying include directories. One
advantage is that compilers won't emit warnings for included files that belong
to dependencies.
2014-05-15 08:21:13 -03:00
John Szakmeister
21bd990603 Don't allow undefined references under Linux.
Many other systems expect this already, but on Linux the default is to
allow them.  Let's turn that off.
2014-05-14 21:14:28 -04:00
Thiago de Arruda
0d1094d709 Add ${API_SOURCES} to nvim-test cmake target.
Fixes #720
2014-05-14 16:41:42 -03:00
Thiago de Arruda
f0f4ab5500 Use platform check for correct selection of khash type in helpers.c 2014-05-13 14:11:32 -03:00