aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* xrealloc(): similar to xmalloc()Felipe Oliveira Carvalho2014-03-31
| | | | | Replaced all calls to realloc by xrealloc. All `== NULL` tests can be removed and the code within `!= NULL` tests can be unwrapped.
* Document xmalloc() and deprecate lalloc()Felipe Oliveira Carvalho2014-03-31
|
* Avoid a seg fault when exiting after OOM errorFelipe Oliveira Carvalho2014-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm debugging OOM behavior using http://www.nongnu.org/failmalloc/ on Linux. gdb environment: ``` set env LD_PRELOAD=libfailmalloc.so set env FAILMALLOC_SPACE=0xF00000 ``` SEGV was happening like this: ``` Starting program: /home/felipe/code/neovim/build/bin/nvim [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Vim: Error: Out of memory. Program received signal SIGSEGV, Segmentation fault. 0x00000000004d3719 in getout (exitval=1) at /home/felipe/code/neovim/src/main.c:836 836 if (*p_viminfo != NUL) (gdb) ``` After the fix it works as expected: ``` (gdb) set environment LD_PRELOAD=libfailmalloc.so (gdb) set environment FAILMALLOC_SPACE=0xF00000 (gdb) r Starting program: /home/felipe/code/neovim/build/bin/nvim [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Vim: Error: Out of memory. Vim: Finished. [Inferior 1 (process 21505) exited with code 01] (gdb) ```
* xmalloc() that succeeds or gracefully abortsFelipe Oliveira Carvalho2014-03-31
|
* Re-integrate FEAT_SIGNS code, close #383Justin M. Keyes2014-03-29
| | | | | - omit FEAT_NETBEANS_INTG and FEAT_SIGN_ICONS - omit FEAT_GUI blocks
* use function attributes on allocation functionsNicolas Hillegeer2014-03-29
| | | | | This should allow gcc/clang/icc to generate better code and clarifies function intent.
* add func_attr.h to be able to use func attribsNicolas Hillegeer2014-03-29
| | | | | Currently enables these for every gnu-like compilers, i.e.: gcc, clang and icc.
* Move remove_duplicates to garray.cJohn Schmidt2014-03-29
|
* Extract path.c from misc1.cJohn Schmidt2014-03-29
|
* Address clint warnings and other style issues.Thomas Wienecke2014-03-27
| | | | | | | * Add const. * Fix conditions (move && from end to start of line). * Use int32_t instead of long. * Use //-style comments.
* Rename mch_* functions to os_* in os module.Thomas Wienecke2014-03-27
|
* Fix prepare watcher teardown in the event loopThiago de Arruda2014-03-27
|
* Re-integrate FEAT_FILTERPIPE codeThiago de Arruda2014-03-27
| | | | | | | | | | | | | This feature was accidentally removed when doing the initial import from vim. It makes vim use pipes instead of temporary files for filtering buffers through shell commands. I found that this was missing when looking for references of SHELL_READ/SHELL_WRITE outside mch_call_shell`. When `mch_call_shell` is reimplemented on top of libuv process management facilities, pipes will always be used for communication with child processes so it makes sense to enable the feature permanently.
* Make `EventType` enum private to input.cThiago de Arruda2014-03-27
| | | | | This enum doesn't need to be public since `event_poll` is only interested in user input(but other events may be handled by libuv callbacks).
* Cleanup of indent.c to make it comply with style guide.John2014-03-27
| | | | | | | | | | | | - Uncrustify indent.c - Fix comments - Fix whitespace - Format get_lisp_indent (needs to be refactored completely) - Fix endline comments - Change to postincrement - Fix clint.py errors - Move static function last - Fix blank endlines
* Reimplement input functions on top of libuvThiago de Arruda2014-03-26
| | | | | | | | | | | | | | | | The functions `mch_inchar`, `mch_breakcheck`, `mch_char_avail` were reimplemented on top of libuv. Here's how it works: - When Neovim needs to wait for characters, it will transfer control to libuv event loop. - When the libuv event loop gets user input, it will transfer control back to Neovim - Neovim uses the `input_read` function to get the actual data read by libuv. With this scheme its possible to keep Neovim single-threaded while enjoying the benefits provided by libuv. This commit leaves SIGWINCH broken for now
* Use realloc instead of vim_reallocFelipe Oliveira Carvalho2014-03-26
|
* HAVE_AVAIL_MEM is always undefined. Remove tests and dead codeFelipe Oliveira Carvalho2014-03-26
| | | | | Defining HAVE_AVAIL_MEM doesn't even build. The code tries to call `mch_avail_mem` which is not defined.
* Remove MEM_PROFILE related codeFelipe Oliveira Carvalho2014-03-26
| | | | | | | | | Code around `#ifdef MEM_PROFILE` was used to profile vim's memory comsumption. It's very likely broken as new code is using malloc() and free() directly. In this day and age, valgrind can solve in a much reliable way what this code was trying to do.
* Use memcmp instead of vim_memcmpFelipe Oliveira Carvalho2014-03-26
|
* Use memmove instead of mch_memmoveFelipe Oliveira Carvalho2014-03-26
|
* Prefer enums over incremental definesPetter Wahlman2014-03-26
|
* Use memset instead of vim_memsetFelipe Oliveira Carvalho2014-03-25
| | | | | | | | | Ran some commands on terminal, reviewed changes, and made some manual changes too. find src | xargs perl -i -p -e "s/vim_memset/memset/g" git grep -l memset | egrep "\.c$" | xargs perl -i -p -e \ 's/(#include "vim\.h")/#include <string.h>\n\n\1/g'
* Do not include farsi.c in main.cFelipe Oliveira Carvalho2014-03-25
| | | | | | | | | - Change CMakeLists.txt to compile farsi.c normally - Add const to global variables in farsi.h and define them in farsi.c (no need to include farsi.h with DO_INIT defined in globals.h) - Include farsi.h where necessary - Include all necessary headers in farsi.c - Move farsi function declarations from main.h to farsi.h
* Move some #defines from farsi.h to farsi.cFelipe Oliveira Carvalho2014-03-25
|
* Implement `mch_delay` on top of libuvThiago de Arruda2014-03-24
| | | | | Needed to temporarily move two static variables from os_unix.c to 'globals.h' as those are shared by other functions still in os_unix.
* inline arabic_char()Felipe Oliveira Carvalho2014-03-24
|
* Reformat new function in arabic.c to comply with style guideFelipe Oliveira Carvalho2014-03-24
|
* Move arabic.h #defines from arabic.h to arabic.cFelipe Oliveira Carvalho2014-03-24
| | | | | | | | | - Move arabic_shape() decl from main.h to arabic.h - Move arabic_combine() and arabic_maycombine() from mbyte.c to arabic.c as these functions use the #defines I moved. - Remove the unnecessary include of arabic.h in globals.h - Remove include of arabic.c (sic) in main.c (change CMakeLists.txt to compile arabic.c normally)
* Turn ARABIC_CHAR into a functionFelipe Oliveira Carvalho2014-03-24
|
* Don't require busted.John Szakmeister2014-03-23
| | | | | | | Only provide the unittest target if busted was found. And only build nvim-test if the unittest target exists by excluding nvim-test from all. Note: this means nvim-test won't be built by default, but it will be built when you try to run unittests.
* Update to the newest libuv versionThiago de Arruda2014-03-22
|
* Deal with the missing dependencies for libuv.John Szakmeister2014-03-21
| | | | | | Since libuv.pc is broken at the moment, try to determine libuv's dependencies ourselves. This ports most of the checks from libuv into our CMake build, and fixes the build on other unix platforms.
* Revamp the build system.John Szakmeister2014-03-21
| | | | | | | | | | | | | | | | | | | | | This achieves several goals: * Less reliance on scripts so we have better portability to Windows (though we still have a ways to go for proper Windows support). Luajit, luarocks, moonscript, and busted are all installed via CMake now. * Trying to make use of pkg-config to get the correct libraries. The latest libuv is still broken in this regard, but we'll at least be in a position to use it. * Allow the use of Ninja or make. The former runs faster in many environments, and automatically makes use of parallel builds. This also allows for system installed dependencies--though not through the Makefile just yet--and adds support for FreeBSD. This also make us build libuv and luajit as static libraries only, since we're only concerned about having static libraries for our bundled dependencies.
* printer_opts was left unitilized after #378Felipe Oliveira Carvalho2014-03-21
|
* No longer try to use standalone termcapMarcel Krüger2014-03-19
|
* adapt to the style guildelinesPetter Wahlman2014-03-19
| | | | | semi-automated harvest of low hanging fruit: change the unorthodox use of whitespace.
* Delete structs.h by spliting it and moving code to other headersFelipe Oliveira Carvalho2014-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's the list of squashed commits (for more info, see PR #378). - Define guicolor_T as a typedef in syntax.h - Move a big chunk of code from structs.h to buffer_defs.h - Move aco_save_T from structs.h to fileio.h - Move option_table_T from structs.h to hardcopy.h Aditionally: - Move the printer_opts global to hardcopy.c - Delete structs.h. Include buffer_defs.h where structs.h was included before. - Add header guards to option_defs.h - Put mark types and constants in new mark_defs.h - Move undo structs to undo_defs.h - Move memfile structs to new memfile_defs.h - Move expand_T and cmdmod_T to ex_cmds_defs.h - Move memline_T to memline_defs.h - Move many defs and types to ex_eval.h - Move syntax related types to syntax_defs.h - Move struct memfile to memfile_defs.h - struct buffblock and struct buffheader moved back to buffer_defs.h - Move some datatypes to hashtab.h and eval_defs.h - Move the buffer_defs.h include and TODOs for remaining unrelated types in buffer_defs.h
* Issue #311 - Clean up blowfish.c/h, charset.c/h, diff.c/h, digraph.c/h, ↵David Z. Chen2014-03-16
| | | | garray.c/h, hashtab.c/h, popupmnu.c/h, sha256.c/h, version.c/h. Update uncrustify to move logical operators to the beginning of the line when splitting. Also, clean up arabic.c/h and farsi.c/h
* Revive vim_fname (-> os_file_exists); fix misuse of mch_getperm.Thomas Wienecke2014-03-15
| | | | | | * Move vim_fname from misc1 to os/fs:os_file_exists. * Add unit tests for os_file_exists. * Replace misuse of mch_getperm with os_file_exists.
* Move and refactor mch_[gs]etperm to os/fs module.Thomas Wienecke2014-03-15
|
* Moved more functions from misc1.c to indent.cJohn2014-03-15
|
* Use include paths relative to src/James McCoy2014-03-14
| | | | | | | | | | As described in Google's style guide, the basis for Neovim's > All of a project's header files should be listed as descendants of the > project's source directory without use of UNIX directory shortcuts . > (the current directory) or .. (the parent directory). Add src as an include directory to facilitate this.
* Adapt include guards to the style guideJames McCoy2014-03-14
|
* Extract indent_c.c from misc1.cJohn2014-03-14
|
* Remove useless sizeof(uint32_t) == 4 testFelipe Oliveira Carvalho2014-03-14
|
* Replace UINT32_T by uint32_tFelipe Oliveira Carvalho2014-03-14
|
* Include <stdint.h> in types.hFelipe Oliveira Carvalho2014-03-14
|
* Remove remaining hangul-related codeThiago de Arruda2014-03-14
|
* Fix: Use an assert to make sure, an error message can be copied into buffer ↵oni-link2014-03-13
| | | | | | buf in mch_dirname(). The copied error message is NUL-terminated.