Commit Graph

24 Commits

Author SHA1 Message Date
ZyX
ad7b7716bb *: Fix lint errors found in new code in previously ignored files 2015-10-08 22:00:50 +03:00
ZyX
0564b30ef5 shada: Fix linter errors 2015-10-08 22:00:38 +03:00
ZyX
bcdda63e3a shada: Allocate all hashes on stack 2015-10-08 22:00:35 +03:00
ZyX
43fe98c9fb shada: Add support for merging everything like described in the doc 2015-10-08 22:00:13 +03:00
ZyX
200e62efeb shada: Add support for dumping/restoring bufs changes and win jumps 2015-10-08 21:59:53 +03:00
ZyX
0fe9679101 shada: Initial support for merging history
Currently only merges history when reading ShaDa file. No tests yet.
2015-10-08 21:59:53 +03:00
Thiago de Arruda
1a7a020b68 lib: Include libuv circularly linked list
This is simpler and more efficient than klist.h for implementing queues that
support insertion or removal at arbitrary positions.
2015-08-13 07:41:04 -03:00
Thiago de Arruda
aa9cb48bf0 job: Replace by a better process abstraction layer
- New libuv/pty process abstraction with simplified API and no globals.
- Remove nvim/os/job*. Jobs are now a concept that apply only to programs
  spawned by vimscript job* functions.
- Refactor shell.c/channel.c to use the new module, which brings a number of
  advantages:
  - Simplified API, less code
  - No slots in the user job table are used
  - Not possible to acidentally receive data from vimscript
- Implement job table in eval.c, which is now a hash table with unilimited job
  slots and unique job ids.
2015-07-17 00:32:07 -03:00
Thiago de Arruda
4f5b250d4e klib: Improve klist.h
- Add `kl_shift_at` macro and backing function. This can be used to shift
  elements at arbitrary positions. `kl_shift` is now defined on top of the new
  macro.
- Change shift/push API, now `kl_push` accepts an object as parameter and
  `kl_shift` returns the object instead of a status. An assertion against
  shifting at the end of a list(or empty lists) was added.
- Add `kl_iter` and `kl_iter_at` macros. `kl_iter_at` is for starting the
  iteration at arbitrary positions.
2015-07-01 05:40:53 -03:00
Thiago de Arruda
34c48aaf12 memory: Add free wrapper and refactor project to use it
We already use wrappers for allocation, the new `xfree` function is the
equivalent for deallocation and provides a way to fully replace the malloc
implementation used by Neovim.
2015-04-13 08:22:44 -03:00
Thiago de Arruda
72f028abcb eval: Defer execution of JobActivity autocommands
JobActivity autocommands run vimscript and must be executed on Nvim main loop.
Since the previous commit removed automatic calls to `event_push` on RStream/Job
callbacks, this adds it back, but in eval.c where job control is implemented.
2014-10-21 11:05:49 -03:00
Nicolas Hillegeer
32ddfec84f memory.h: don't include vim.h in header files
Also include stdint.h in khash.h. It was transitively included by vim.h via
memory.h before. khash.h accidentally relied on that.
2014-07-16 19:05:35 +02:00
Pavel Platto
1de9287a02 Remove stdbool.h from files which don't need it
Done by manual inspection of the output of this script:
grep -r -l -w "bool\|true\|false" * | grep 'c$\|h$' > has_bool
grep -r -l "stdbool.h" * | grep 'c$\|h$' > has_include
grep -F -x -v -f has_bool has_include
2014-07-11 18:33:07 -04:00
Thiago de Arruda
caf2fb8480 api: Enable usage of Arrays and Dictionaries as [k]vectors
- Rename a/n/m to items/size/capactity in kvec.h
- Add capactity field to Arrays/Dictionaries
2014-06-18 11:36:08 -03:00
ZyX
4cf17ad632 Add REAL_FATTR_ macros to func_attr.h, use them in lib/k*
Otherwise FUNC_ATTR_* macros may appear empty
2014-06-02 11:04:18 -03:00
ZyX
f0be78506f Move memory.h include above func_attr.h include 2014-06-02 11:04:18 -03:00
ZyX
dca28e55c7 Fix some styles 2014-06-02 11:04:18 -03:00
ZyX
8c0ca573e5 Surround nvim/func_attr.h includes with define/undef DEFINE_FUNC_ATTRIBUTES
Required for FUNC_ATTR_UNUSED to work in lib/k*
2014-06-02 11:04:18 -03:00
Thiago de Arruda
89ded2dac8 Add kvec.h macro library 2014-05-28 08:52:54 -03:00
Pavel Platto
c57c3633d4 Remove OOM error handling in khash.h 2014-05-20 16:50:36 +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
Thiago de Arruda
45e5a18f3a Enable -Wconversion for API files and fix errors 2014-05-17 08:05:44 -03: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
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