aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os
Commit message (Collapse)AuthorAge
* main: Flush file in place of closing it, also do error reportingZyX2017-07-04
| | | | | | | | | | | | | | | | | | | | | Apparently on travis OS X systems it crashes when cleaning up streams with stdout closed: (lldb) bt all * thread #1: tid = 0x0000, 0x00007fff8703df06 libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGSTOP * frame #0: 0x00007fff8703df06 libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x00007fff93a764ec libsystem_pthread.dylib`pthread_kill + 90 frame #2: 0x00007fff97c056df libsystem_c.dylib`abort + 129 frame #3: 0x00007fff97bccdd8 libsystem_c.dylib`__assert_rtn + 321 frame #4: 0x0000000107a4e106 nvim`uv__close(fd=<unavailable>) + 102 at core.c:521 frame #5: 0x0000000107a5307d nvim`uv__loop_close(loop=0x00007fff5847c018) + 77 at loop.c:118 frame #6: 0x0000000107a4d149 nvim`uv_loop_close(loop=0x00007fff5847c018) + 57 at uv-common.c:626 frame #7: 0x000000010783e5bc nvim`stream_set_blocking(fd=0, blocking=true) + 204 at stream.c:34 frame #8: 0x000000010795d66b nvim`mch_exit(r=0) + 91 at os_unix.c:147 frame #9: 0x00000001078d5663 nvim`command_line_scan(parmp=0x00007fff5847c760) + 1779 at main.c:787 frame #10: 0x00000001078d4393 nvim`main(argc=2, argv=0x00007fff5847c898) + 163 at main.c:249 frame #11: 0x00007fff8cdd65ad libdyld.dylib`start + 1 frame #12: 0x00007fff8cdd65ad libdyld.dylib`start + 1
* os: Add OS_STD*_FILENO constantsZyX2017-07-04
|
* os/fileio: Add ability to use os/fileio.c for file descriptorsZyX2017-07-04
| | | | Code imported from #6299
* os/fileio: Add msgpack_file_write functionZyX2017-07-04
|
* coverity/155506: fixing "dereference null after check" (#6862)Chris Hall2017-06-19
| | | | | | | rbuffer_read_ptr may return a null if ptr == null && cnt == 0 && !out_data_decide_throttle(cnt) then we would have called out_data_append_to_screen(ptr, cnt, eof) which dereferences the null pointer.
* coverity/155509: negative close() argJustin M. Keyes2017-06-14
|
* log: Always enable; remove DISABLE_LOGJustin M. Keyes2017-06-07
| | | | | | - Establish ERROR log level as "critical". Such errors are rare and will be valuable when users encounter unusual circumstances. - Set -DMIN_LOG_LEVEL=3 for release-type builds
* pty_process_unix.c: include <libutil.h> on DragonFly BSDJustin M. Keyes2017-05-21
| | | | | | | From FreeBSD ports patch: https://svnweb.freebsd.org/ports/head/editors/neovim/files/patch-src_nvim_os_pty__process__unix.c?revision=425833&view=markup References https://github.com/neovim/neovim/issues/6771#issuecomment-302921368
* vim_getenv: Remove redundant NULL check.Justin M. Keyes2017-05-20
|
* startup: init v:progpath before calling vim_getenv (#6755)Justin M. Keyes2017-05-17
|
* env_iter: Learn `delim` parameter.Justin M. Keyes2017-05-15
|
* vim_getenv: Use v:progpath instead of os_exepath.Justin M. Keyes2017-05-15
|
* startup: v:progpath fallback: path_guess_exepathJustin M. Keyes2017-05-15
| | | | | | | If procfs is missing then libuv cannot find the exe path. Fallback to path_guess_exepath(), adapted from Vim findYourself(). Closes #6734
* os/shell.c: temporary solution to not put ctrl chars on the screen gridBjörn Linse2017-05-10
|
* refactor/single-include (#6687)Carlo Abelli2017-05-08
|
* api/nvim_get_mode: Use child-queue instead of "priority".Justin M. Keyes2017-04-28
|
* input.c: Process only safe events before blocking.Justin M. Keyes2017-04-28
| | | | | Introduce multiqueue_process_priority() to process only events at or above a certain priority.
* api: nvim_get_mode()Justin M. Keyes2017-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | Asynchronous API functions are served immediately, which means pending input could change the state of Nvim shortly after an async API function result is returned. nvim_get_mode() is different: - If RPCs are known to be blocked, it responds immediately (without flushing the input/event queue) - else it is handled just-in-time before waiting for input, after pending input was processed. This makes the result more reliable (but not perfect). Internally this is handled as a special case, but _semantically_ nothing has changed: API users never know when input flushes, so this internal special-case doesn't violate that. As far as API users are concerned, nvim_get_mode() is just another asynchronous API function. In all cases nvim_get_mode() never blocks for more than the time it takes to flush the input/event queue (~µs). Note: This doesn't address #6166; nvim_get_mode() will provoke #6166 if e.g. `d` is operator-pending. Closes #6159
* test/fs: sanity check for literal "~" directory (#6579)Justin M. Keyes2017-04-24
| | | | If the CWD contains a directory with the literal name "~" then the tests will have bogus failures.
* os_term_is_nice: Return true for rxvt and iTerm.Justin M. Keyes2017-04-22
|
* Merge #6550 from ZyX-I/pvs-check-commentJustin M. Keyes2017-04-20
|\
| * *: Add comment to all C filesZyX2017-04-19
| |
* | vim-patch:7.4.2209James McCoy2017-04-19
|/ | | | | | | | Problem: Cannot map <M-">. (Stephen Riehm) Solution: Solve the memory access problem in another way. (Dominique Pelle) Allow for using <M-\"> in a string. https://github.com/vim/vim/commit/35a4cfa200917dd171b1fff3cd5b6cee9add673d
* os/env: Fix “invalid pointer to local” false positiveZyX2017-04-16
|
* fileio: Silence “!= identical subexpressions” warningZyX2017-04-16
|
* os/shell: Remove FUNC_ATTR_MALLOC from shell_build_argvZyX2017-04-15
| | | Returns an array of allocated strings.
* os/fileio: Remove FUNC_ATTR_MALLOC for file_open_newZyX2017-04-15
| | | fp contains pointer to rbuffer
* win: os_shell_is_cmdexe() + testsJustin M. Keyes2017-04-12
|
* win: defaults: 'shellredir', 'shellxquote', 'shellxescape'Justin M. Keyes2017-04-12
|
* win: os_get_hostname() #5416 (#6413)Justin M. Keyes2017-04-07
|
* 'guicursor': Disable by default for unknown terminals.Justin M. Keyes2017-04-04
| | | | | | | User can still set guicursor explicitly in init.vim. Closes #5990 Closes #6403
* fileio: Refactor msg_add_fname to something which needs no commentsZyX2017-04-03
|
* eval: Make writefile() able to disable fsync()ZyX2017-04-02
|
* eval,fileio: Omit additional fsync() callZyX2017-04-01
| | | | Fixes #6420
* Merge pull request #6397 from jamessan/coverityJames McCoy2017-03-31
|\ | | | | Fix latest Coverity issues
| * coverity/161195: Increase scope of exe_nameJames McCoy2017-03-29
| | | | | | | | | | Since exe_name is a stack allocated array, we need it to be in scope for the lifetime that vim_path points to it.
* | win: tempname(): Use $TMPDIR if defined.Justin M. Keyes2017-03-30
|/
* eval: Move part of dictwatcher* functions to eval/typvalZyX2017-03-29
|
* *: Fix some Windows-specific warningsZyX2017-03-29
| | | | Also fixed an error in path_fnamecmp().
* eval: Move remaining get_tv_string* functions to eval/typval.cZyX2017-03-29
|
* eval,*: Move get_tv_string to typval.cZyX2017-03-29
| | | | Function was renamed and changed to return `const char *`.
* ci: Check that `#include "*.h"` works as a single includeEiichi NISHINA2017-03-27
| | | | | | | | | | | Lesser form of include-what-you-use: at least guarantees that header file did not forget to include something through some other included file. Activate run_single_includes_tests on CI. Fix some IWYU violations. References #5321
* os_set_cloexec: Fix condition. #5986Justin M. Keyes2017-03-17
| | | | Also: skip Test_undo_del_chars the right way. #6287
* terminal: Support extra arguments in 'shell'. #4504Jack Bracewell2017-03-17
| | | | | | | | | | | | | Tokenize p_sh if used as default in ex_terminal(). Previously p_sh was used as the first arg in a list when calling termopen(), this would try to call an untokenized version of shell, meaning if you had an argument in 'shell': set shell=/bin/bash\ --login the command would fail. Helped-by: oni-link <knil.ino@gmail.com> Closes #3999
* job-control: set CLOEXEC on pty processes. #5986Matthew Malcomson2017-03-17
| | | | | Before this change, new processes started with libuv prevented SIGHUP from reaching pty processes (by keeping the ptmx file descriptor open).
* vim_getenv: $VIMRUNTIME fallback: ../share/nvim/runtime (#6223)Justin M. Keyes2017-03-06
| | | | | | | | | Do this on all systems, so that portable builds work everywhere. This allows us to ship archives with this folder structure: bin/nvim share/nvim/runtime then ./bin/nvim works without the user needing to explicitly set VIMRUNTIME.
* os/fileio: Support appending to a fileZyX2017-02-14
|
* os/fileio: Allow certain failures during file_fsyncZyX2017-02-14
| | | | | | According to the documentation fsync() may fail with EROFS or EINVAL if “file descriptor is bound to a special file which does not support synchronization” (e.g. /dev/stderr). This condition is completely valid in this case since main point of `file_fsync()` is dumping buffered input.
* os/*: Use os_buf instead of NameBuff, IObuff.Justin M. Keyes2017-02-12
|
* coverity/155968: resource leakJustin M. Keyes2017-02-09
|