| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| | |
- Initializes some global variables.
- Necessary for the buffer tests in PR #904.
|
| |
| |
| |
| |
| | |
Also include stdint.h in khash.h. It was transitively included by vim.h via
memory.h before. khash.h accidentally relied on that.
|
| |
| |
| |
| |
| | |
Also include "types.h" in os_unix.h because it declares functions that
return vim_acl_T.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unit tests never need to declare globals, only access them. In the main code
base this is handled by including "vim.h". If a file wants to declare
globals (in the case of neovim that's only main.c), it #define's EXTERN and
includes "vim.h". Otherwise, a file just includes "vim.h" (that's the
majority case). Since we want to be able to run unit tests without including
"vim.h", we predefine "EXTERN" to mean extern. That way, we don't have to
include "vim.h".
|
| |
| |
| |
| | |
Make vim.h smaller, bit by bit.
|
| |
| |
| |
| | |
Try to cut down vim.h's size. It's keeping us from testing more things.
|
| |
| |
| |
| |
| | |
Seems to make no difference to the main binary, but it helps the tests a bit
further along.
|
|/
|
|
|
|
|
| |
Including vim.h in another header filer is asking for trouble. Test code
that includes separate header files (e.g.: cimport './src/nvim/buffer.h'),
has a really bad time with this. This is just one piece of the puzzle
though.
|
| |
|
|\
| |
| | |
viml: impl profiling on top of uv_hrtime()
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some functions are missing:
- profile_self
- profile_get_wait
- profile_set_wait
- profile_sub_wait
|
| |
| |
| |
| |
| | |
It wasn't used anywhere else, our coding guidelines mandate the tightest
scope possible.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Should be better than gettimeofday() since libuv uses higher resolution
clocks on most UNIX platforms. Libuv also tries to use monotonic clocks,
kernel bugs notwithstanding, which is another win over gettimeofday().
Necessary for Windows, which doesn't have gettimeofday(). In vanilla vim,
Windows uses QueryPerformanceCounter, which is the correct primitive for
this sort of things, but that was removed when slimming up the codebase.
Libuv uses QueryPerformanceCounter to implement uv_hrtime() on Windows so
the behaviour of vim profiling on Windows should now be the same.
The behaviour on Linux should be different (better) though, libuv uses more
accurate primitives than gettimeofday().
Other misc. changes:
- Added function attributes where relevant (const, pure, ...)
- Convert functions to receive scalars: Now that proftime_T is always a
(uint64_t) scalar (and not a struct), it's clearer to convert the
functions to receive it as such instead of a pointer to a scalar.
- Extract profiling funcs to profile.c: make everything clearer and reduces
the size of the "catch-all" ex_cmds2.c
- Add profile.{c,h} to clint and -Wconv:
- Don't use sprintf, use snprintf
- Don't use long, use int16_t/int32_t/...
|
| |
| |
| |
| | |
Just an alias to uv_hrtime. Provides a high-resolution timer.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Can be quite handy, attempt to provide fallbacks for compilers that don't
support _Static_assert (which is technically a C11 feature). Suppress
warnings as best we can (Clang and GCC warn that we're using a C11 feature
while in C99 mode).
Needs to be tested for MSVC still.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
* Clang 3.4 now default on Travis CI.
* Introduce config variable to download & use different clang version.
|
| | |
|
|/ |
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Defined CMake checks for all headers in config.h.in
- Removed headers checks that are not used anymore:
sgtty.h sys/statfs.h libintl.h poll.h
- Added UNIX check
- Add some fatal checks
+ Check for setenv() and fail if it does not exist
since our os layer just assumes it does
+ lstat is required by os_unix.c
+ sys/wait.h is required in UNIX
- Removed entries for functions that are not being used: getcwd,
getrlimit, getwd, nanosleep, sigaltstack, getwd, sigstack, fseeko
- Replaced nearly all defines in config.h.in for functions with
compile time checks
- Add check for symbol FD_CLOEXEC
- Add check for langinfo CODESET
- HAVE_ICONV_H and HAVE_ICONV hold the expected checks but Neovim uses
USE_ICONV define to actually decide whether to enable it
- Removed checks that are no longer needed
+ USEMEMMOVE
+ _FILE_OFFSET_BITS
+ HAVE_ST_BLKSIZE
+ dlfcn.h
|
|
|
|
| |
This should help reduce conflicts when merging patches from upstream.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
- return result of setting and remove directory if the setting was not
successful.
- don't do `STRCPY` in case of `vim_FullName` failure because
`vim_FullName` already did it.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Though this module is relatively small it has very clear boundaries.
The last argument for extracting `tempfile` was the errors which I got
when I was writing unittests for it: `cimport './src/nvim/fileio.h'`
does not work for some reason.
|
| |
| |
| |
| |
| | |
vim_gettempdir() and vim_maketempdir() was extracted from
vim_tempname().
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- temp_count is uint32_t now instead of long because it supposed to be
at most 999999999 (comment on line 5227) temporary files. The most
probably it was a long for compatibility with systems where int is
16-bit.
- Use "nvim" as prefix for temp folder name instead of "v"
- Remove unused parameter from vim_tempname
|
| |
| |
| |
| |
| |
| |
| |
| | |
Vim does not define TEMPDIRNAMES for all systems, but it is defined for
all systems supported by Neovim.
Temporary directory names for Windows was obtained from GetTempPath()
function documentation at MSDN.
Additionally small renamings were performed.
|
| |
| |
| |
| | |
tmpnam() is deprecated.
|
| |
| |
| |
| |
| | |
For now we provide simple `mkdtemp` for Windows, in the future we will
use libuv for that.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`-Wstrict-prototypes` warn if a function is declared or defined without
specifying the argument types.
This warning disallow function prototypes with empty parameter list.
In C, a function declared with an empty parameter list accepts an
arbitrary number of arguments when being called. This is for historic
reasons; originally, C functions didn't have prototypes, as C evolved
from B, a typeless language. When prototypes were added, the original
typeless declarations were left in the language for backwards
compatibility.
Instead we should provide `void` in argument list to state
that function doesn't have arguments.
Also this warning disallow declaring type of the parameters after the
parentheses because Neovim header generator produce no declarations for
old-stlyle prototypes: it expects to find `{` after prototype.
|
|
|
|
|
|
| |
- Unittest should contain substring '_spec' in filename.
- This is the simplest way to use both lua and moonscript tests.
- This prevents running of non-test scripts from test folder.
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
| |
- use return value instead of open_req.result
- libuv uv_fs_open() returns `-errno` instead of always -1
- libuv always sets open_req.result to the return value, _except_ for OOM
where it only sets the return value. So always use the return value.
- replace calls to mch_open macro.
- update call sites expecting -1 error
|
|\ |
|
| |
| |
| |
| |
| | |
- add documentation about port being optional
- parse port into long and check for valid value
|
| |
| |
| |
| |
| |
| |
| | |
- remove unused errno
- remove unused port_end
- correct calculation of addr_len
- use correct string length during IP copy
|
|/ |
|
|\ |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
buffer.h:
buflist_getfile() flags
buflist_new() flags
buf_freeall() flags
do_buffer() flags
charset.h:
chartab[] flags
edit.h:
in_cinkeys() flags
change_indent() flags
beginline() flags
insertchar() flags
nv_mousescroll() flags
eval.c
AUTOLOAD_CHAR
eval.h:
enum for vimvars[]
ex_cmds.h:
do_ecmd
read_viminfo flags
ex_cmds2.h:
check_changed() flags
do_source() flags
ex_cmds_defs.h:
BAD_* flags
ex_docmd.h:
VALID_PATH VALID_HEAD
EXMODE_*
do_cmdline() flags
added include
ex_getln.c
*_ESC_CHARS definitions
ex_getln.h:
history table flags - used by add_to_history()
fileio.h:
readfile() flags
event_T definition
getchar.h:
ins_typebuf() flags
KEYLEN_*
globals.h:
NO_SCREEN
NO_BUFFERS
SEA_* defines
current_SID flags
hlf_T enum
HL_FLAGS
do_profiling() flags
schar_T
sattr_T
indent.h:
set_indent() flags
macros.h:
BINARY_FILE_IO flags
mbyte.h:
MB_BYTE2LEN*
ENC_*
memfile.h:
mf_sync() flags
misc1.h:
open_line() flags
message.h:
do_dialog() flags
vim_dialogyesno() flags
DLG_BUTTON_*
normal.h:
find_ident_under_cursor() flags
ops.h:
do_put() flags
operator ID's
option.h:
buf_copy_options() flags
OPT_* flags
os_unix.h:
mch_nodetype() flags
quickfix.h:
skip_vimgrep_pat() flags
regexp.h:
vim_regcomp() flags
values for reg_do_extmatch
search.h:
do_search() flags
search_regcomp() flags
findmatchlimit() flags
syntax.h:
HL_* flags
HL_FOLD is used in buffer_defs.h but nvim
compiles just fine with the defines in
syntax.h
tag.h:
do_tag() flags
find_tags() flags
term.h:
TBUFSZ flags
MOUSE flags
ui.h:
jump_to_mouse() flags
window.h:
file_name_in_line() flags
win_split() flags
MIN_LINES
MIN_COLUMNS
Remove VimClipboard which should have been removed with PR #921.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- When USE_BUNDLED=OFF and the system has multiple lua interpreters
(luajit AND lua) it may occur that only the later has the needed
dependencies (lua-lpeg, lua-cmsgpack). If we pick luajit then
finding the dependencies FAILS.
- This commit groups detection of the lua interpreter with the lua
dependencies it tries to find them for both the interpreters and
choses the first one that has them.
Helped-by: John Szakmeister <john@szakmeister.net>
|