Commit Graph

765 Commits

Author SHA1 Message Date
Felipe Oliveira Carvalho
8aeb2e37ee Use ARRAY_SIZE where Coccinelle wasn't able to do it 2014-12-18 15:41:37 -03:00
Felipe Oliveira Carvalho
3c857900fe Define and use the ARRAY_SIZE macro
A similar macro is defined in the Linux kernel [1].

To refactor the code I used a slightly modified Coccinelle script I found in
[2].

```diff
// Use the macro ARRAY_SIZE when possible
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU.  GPLv2.
// URL: http://www.emn.fr/x-info/coccinelle/rules/array.html
// Options: -I ... -all_includes can give more complete results

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(*E))
+ ARRAY_SIZE(E)

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(E[...]))
+ ARRAY_SIZE(E)

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@n@
identifier AS,E;
@@

- #define AS(E) ARRAY_SIZE(E)

@@
expression E;
identifier n.AS;
@@

- AS(E)
+ ARRAY_SIZE(E)
```

`spatch --in-place --sp-file array_size.cocci -I src/ -I build/include/ -I build/src/nvim/auto/ src/nvim/*.c`

[1] http://lxr.free-electrons.com/source/include/linux/kernel.h#L54
[2] http://www.emn.fr/z-info/coccinelle/rules/#macros
2014-12-18 15:41:37 -03:00
Eliseo Martínez
693da00920 Fix warnings: option.c: makeset()/put_setnum(): Various (3): FP.
Problems   : Dereference of null pointer @ 6251.
             Dereference of null pointer @ 6267.
             Dereference of null pointer @ 6351.
Diagnostic : False positive.
Rationale  : Problems occur if varp is null after
             `varp = get_varp_scope(p, opt_flags);`.
             That can only happen if option is hidden. Those are options
             that can be set (for backwards compatibility reasons) but
             that do nothing (see `:h hidden-options`,
             `:h missing-options`). In particular, even if setting them
             is allowed, value is not stored, so these options have no
             real value.
             So, suggested error paths should not occur, as checks
             comparing option value and default value should discard
             them.
Resolution : We could just `assert(varp)` before line 6235
             `varp_local = varp;`. That was tried and worked.
             But we prefer modifying the code to explicitly skip hidden
             options.
             A redundant `!istermoption(p)` is removed too (it's already
             checked by for loop condition).
2014-12-17 21:45:01 +01:00
Joel Teichroeb
d0dcf56338 Ignore compatible mode 2014-12-13 11:43:48 -08:00
Michael Reed
a08e31368f docs: Remove 'osfiletype' remnants
Even when this was finally removed 6 months ago in b2b920f, it had
already been disabled for a while. Due to this, just remove all remnants
of the option as opposed to putting a placeholder like what was done for
'shortname'and 'cryptmethod'.
2014-12-09 19:25:43 -05:00
Björn Linse
5476250ba3 options: change "unnamedclip" back to "clipboard=unnamed/unnamedplus"
This allows to configure which of '*' and '+' should be used for
the unnamed clipboard, and is consistent with vim.
2014-12-08 22:05:05 +01:00
Thiago de Arruda
14f88b6865 term: Move more mouse functions to mouse.c 2014-12-02 07:21:28 -03:00
Thiago de Arruda
05f8d261fe term: Move "set_shellsize" to screen.c as "screen_resize" 2014-12-02 07:15:06 -03:00
Thiago de Arruda
6f7fe5d1b9 Remove code defined under USE_IM_CONTROL #ifdefs
This is not being used and should not be part of the core anyway.
2014-11-27 20:26:10 -03:00
Thiago de Arruda
bf6bb27e79 ui: Remove redundant ui.h includes
Also move read_error_exit to os/input.c
2014-11-27 15:00:30 -03:00
Thiago de Arruda
1865b8c1c1 ui: Remove ui_delay, ui_breakcheck and ui_set_shellsize
These functions only used to call another os_* function, so remove them and
replace all occurences in the project.
2014-11-27 14:27:18 -03:00
Fredrik Fornwall
b2b9333179 doc: Remove MS-DOS specific options bioskey and conskey #1353 2014-11-17 17:55:47 -05:00
Eliseo Martínez
3d57bcee7d Fix warnings: option.c: do_set(): Dead assignment: HI.
Problem    : Dead assignment @ 2566.
Diagnostic : Harmless issue.
Rationale  : `nextchar` is used as a lookahead buffer for the character
             next to the currently examined token. Sometimes it also
             saves that char while original string is modified (original
             position of nextchar is nullified for the string to
             terminate there). In summary, it's an auxiliary variable
             with no particular complex meaning. Safe to remove if not
             used.
Resolution : Remove dead assignment.
2014-11-15 12:40:28 +01:00
Justin M. Keyes
c5d7d75bb1 Merge pull request #1283 from splinterofchaos/breakindent-tab
vim-patch:7.4.416 + vim-patch:7.4.417
2014-11-12 16:23:27 -05:00
Scott Prager
c92e649a1e vim-patch:7.4.417
Problem:    After splitting a window and setting 'breakindent' the default
            minimum with is not respected.
Solution:   Call briopt_check() when copying options to a new window.

https://code.google.com/p/vim/source/detail?r=v7-4-417
2014-11-12 15:37:56 -05:00
Wayne Rowcliffe
63e2558870 Convert some values from buffer_defs.h to bools 2014-11-12 00:38:34 -06:00
Eliseo Martínez
7d4ec612b1 Review: Remove long_u: memfile: Refactor: int -> bool.
Replace int with bool where appropriate.
2014-11-06 22:53:43 +01:00
Joseph Anthony Pasquale Holsten
ae743f8766 Removes shelltype option and all revelant doc. #1249
Fixes #1240
2014-10-06 16:25:53 -04:00
Wayne Rowcliffe
9b6f192693 Replace FOR_ALL_WINDOWS with FOR_ALL_WINDOWS_IN_TAB(curtab) 2014-09-24 19:00:50 -05:00
Wayne Rowcliffe
683bc797a0 FOR_ALL_WINDOWS_IN_TAB and local variables in FOR_ALL_TAB_WINDOWS 2014-09-22 09:31:09 -05:00
Thiago de Arruda
a1ce3a3acc provider: Major refactor
- Providers for features are now registered as a unit. For example, instead of
  calling `register_provider("clipboard_get")` and
  `register_provider("clipboard_set")`, clients call
  `register_provider("clipboard")` and nvim will assume it implements all
  methods of the "clipboard" feature
- Bootstrapping code was removed. With the `api_spawn` function exposed to
  vimscript, it's no longer necessary and will be handled by plugins
  distributed with nvim.
- Now the `has` function will return true if there's a live channel that
  has registered as a provider for the feature.
- 'initpython'/'initclipboard' options were removed
- A new API function was exposed: `vim_discover_features` which returns an
  object with information about pluggable features such as 'python' or
  'clipboard'
2014-09-12 13:25:29 -03:00
Wayne Rowcliffe
ac0b9714ed Additional FOR_ALL_WINDOWS usage 2014-09-08 17:27:41 -05:00
Wayne Rowcliffe
fe99930c46 Convert FOR_ALL_WINDOWS to use a locally declared pointer 2014-09-08 17:27:41 -05:00
André Twupack
5f3e677e21 vim-patch:7.4.339
Problem:    Local function is available globally.
Solution:   Add "static".

https://code.google.com/p/vim/source/detail?r=v7-4-339
2014-08-21 19:52:10 +02:00
Felipe Morales
dfdfee0260 vim-patch: 7.4.353
Make 'breakindent' work with the 'list' option.

Originally patched in vim patch 7.4.353, by chrisbra
(https://code.google.com/p/vim/source/detail?r=d42a1d3b74d40f580359dbd139d2d0dfa7235252)

Updated version.c.
2014-08-20 05:19:57 -04:00
Felipe Morales
47391b18e2 Port vim's patch 7.4.338 ('breakindent') 2014-08-20 05:19:49 -04:00
Justin M. Keyes
e1c330a486 Merge pull request #1024 from war1025/dev/for_all_buffers
Add FOR_ALL_BUFFERS helper
2014-08-19 23:49:25 -04:00
Paul Burlumi
aca6dc5001 coverity/13749: fix negative array index read in unset_global_local_option 2014-08-19 22:06:55 +01:00
Fredrik Fornwall
6dcd629ed6 Make ttyfast default to true on all terminals #1051 2014-08-18 03:59:40 +00:00
Scott Prager
d2988e12fe vim-patch:7.4.276
Problem:    The fish shell is not supported.
Solution:   Use begin/end instead of () for fish. (Andy Russell)

https://code.google.com/p/vim/source/detail?r=a6b59ee633a355095e6473ec5e2a7d9088bfb853
2014-08-17 22:17:26 -04:00
Wayne Rowcliffe
888a31ba45 FOR_ALL_BUFFERS use locally declared buffer pointer 2014-08-17 11:13:42 -05:00
André Twupack
9c8da794e1 vim-patch:7.4.201
Problem:    'lispwords' is a global option.
Solution:   Make 'lispwords' global-local. (Sung Pae)

https://code.google.com/p/vim/source/detail?r=06e5f65c34d8136c3a9d2219429b7eca35cb3a21
2014-08-15 18:56:05 +02:00
Justin M. Keyes
ad5ae68acd Merge #814 'Remove dead #ifdefed code' 2014-08-07 02:20:12 -04:00
Thiago de Arruda
ed71401b24 bugfix: set empty string as default for ipy/icpb to avoid segfault
Fixes #1039
2014-08-06 12:59:27 -03:00
Wayne Rowcliffe
8cf45786b1 Add FOR_ALL_BUFFERS helper 2014-08-02 20:19:33 -05:00
Pavel Platto
ff71a042a2 Remove HAVE_TOTAL_MEM
libuv provide uv_get_total_mem_kib. So HAVE_TOTAL_MEM should always be
true.
Before that commit in neovim maxmem=5120 and maxmemtot=10240. Now
both equal to half of system memory.
2014-08-02 09:17:00 +03:00
Pavel Platto
8991609393 Remove EBCDIC: remove last #ifdef EBCDIC 2014-08-02 09:16:59 +03:00
Thiago de Arruda
fba1d3b50f provider: Add support for clipboard registers.
This reimplements the '+'/'*' clipboard registers(both are aliases to the same
register, no dedicated storage for the X11 selection) on top of the provider
infrastructure.

This adds two new 'unnamedclip' option, has the same effect of setting
'clipboard' to 'unnamed/unnamedplus' in vim

The 'clipboard' option was not reused because all values(except 'unnamedplus')
seem to be useless for Neovim, and the code to parse the option was relatively
big. The option remains for vim compatibility but it's silently ignored.
2014-07-17 11:37:41 -03:00
Thiago de Arruda
486c8e37c1 provider: Add support for python commands/functions
This uses the provider/scripting infrastructure to reintroduce python support
through the msgpack-rpc API.

A new 'initpython' option was added, and it must be set to a command that will
bootstrap the python provider the first time it's needed.
2014-07-17 11:37:41 -03:00
Brandon Coleman
0fff487690 move errno.h include out of vim.h 2014-07-09 00:18:20 +02:00
Brandon Coleman
bf219e1442 move <inttypes.h> include out of vim.h 2014-07-09 00:18:19 +02:00
Brandon Coleman
82b71a3056 move ascii.h include out of vim.h 2014-07-09 00:18:18 +02:00
Brandon Coleman
a4f441e547 remove stdbool.h include from vim.h and globals.h 2014-07-09 00:18:17 +02:00
Klemen Košir
a568e8b644 Replaced most TRUE/FALSE macros in arabic, mbyte and spell. #645 2014-07-08 17:34:08 +00:00
Felipe Oliveira Carvalho
be3a4b6ca8 ga_growsize should be >= 1
I know it could be 0 sometimes. Running the tests with
`assert(gap->ga_growsize > 0)` in ga_grow() crashes nvim while running the
tests.

 - Add a setter for ga_growsize that checks whether the value passed is >=1 (log
	 in case it's not)
 - log when ga_grow() tries to use a ga_growsize that's not >=1
 - use GA_EMPTY_INIT_VALUE is many places
2014-06-30 03:57:50 -04:00
Felipe Oliveira Carvalho
f4002c97dc No OOM in ExpandOldSetting() 2014-06-16 01:40:28 -03:00
Felipe Oliveira Carvalho
81ca5ff126 No OOM in enc_canonize()
Fix a `return FAIL` that should be `return NULL` in `enc_locale()`
2014-06-16 01:36:31 -03:00
Felipe Oliveira Carvalho
8234f2839f No OOM in vim_strsave_escaped[_ext]() 2014-06-16 01:36:31 -03:00
Douglas Schneider
30f5cd6c30 Replace vim_strncpy calls: option.c 2014-06-13 18:08:21 -04:00
Nicolas Hillegeer
731761715a coverity/62617: fix leak in set_string_default
Also constified the arguments. The double casts for the `xstrdup` are ugly
but `vim_strsave` doesn't take `const` arguments for now so I couldn't keep
that.
2014-06-12 01:41:03 -04:00