aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os
Commit message (Collapse)AuthorAge
...
* | | | 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
|
* process_spawn: Return status code (#6075)Justin M. Keyes2017-02-09
|
* vim-patch:8.0.0275Justin M. Keyes2017-02-06
| | | | | | | | Problem: When checking for CTRL-C typed the GUI may detect a screen resize and redraw the screen, causing trouble. Solution: Set updating_screen in ui_breakcheck(). https://github.com/vim/vim/commit/e3caa1109072b9655f8d5103c92efd73177f8577
* refactor: fix warningsJustin M. Keyes2017-02-04
|
* win: executable(): full path without extensionJustin M. Keyes2017-02-04
| | | | Absolute path is considered executable even *without* an extension.
* vim-patch:8.0.0280Justin M. Keyes2017-02-04
| | | | | | | | | | patch 8.0.0280: problem setting multi-byte environment var on MS-Windows Problem: On MS-Windows setting an environment variable with multi-byte strings does not work well. Solution: Use wputenv when possible. (Taro Muraoka, Ken Takata) 7c23d1d9d9cc
* win: Append process dir to $PATHJustin M. Keyes2017-02-04
| | | | | | | | This allows executables to be found by :!, system(), and executable() if they live next to ("sibling" to) nvim.exe. This is what gvim on Windows does, and also matches the behavior of Win32 SearchPath(). https://github.com/vim/vim/blob/c4a249a736d40ec54794827ef95804c225d0e38f/src/os_win32.c#L354-L370
* win: executable()Justin M. Keyes2017-02-04
| | | | | Windows: prepend `".;"` to PATH, as Vim does. https://github.com/vim/vim/blob/c4a249a736d40ec54794827ef95804c225d0e38f/src/os_win32.c#L1916
* refactor: Remove strncpy/STRNCPY. (#6008)Justin M. Keyes2017-01-26
| | | | | | | | | | | | | | | Closes #731 References #851 Note: This does not remove some intentional legacy usages of strncpy. - memcpy isn't equivalent because it doesn't check the string length of `src`, and doesn't zero-out the remainder of `dst`. - xstrlcpy isn't equivalent because it doesn't zero-out the remainder of `dst`. Some Vim logic depends on that (e.g. ex_append which calls vim_strnsave). Helped-by: Douglas Schneider <ds3@ualberta.ca> Helped-by: oni-link <knil.ino@gmail.com> Helped-by: James McCoy <jamessan@jamessan.com>
* refactor: strlcat instead of str{n}cat.cztchoice2017-01-23
| | | | | | | | | | Add xstrlcat function. Closes #3042 References #988 References #1069 coverity: 71530, 71531, 71532
* test: expand_env_esc()Justin M. Keyes2017-01-21
| | | | | | Test expand_env_esc() using the same parameters reported in #3725. Closes #3725
* input_enqueue(): Fix length calculation. (#5981)Justin M. Keyes2017-01-20
| | | Ref: https://github.com/neovim/neovim/issues/5885#issuecomment-273614373
* win: fix warningsJustin M. Keyes2017-01-19
|
* Windows: vim_getenv(): Find runtime relative to nvim. #3303 (#5929)Justin M. Keyes2017-01-11
| | | | | | | | | | | | In Windows we cannot rely on absolute install paths to point to the location of the runtime. Vim uses the path of the current binary as a possible location for the runtime folder. In Neovim the install location places the runtime folder in ../share/nvim/runtime. In Vim this logic is guarded by USE_EXE_NAME, which is defined for win32 and macOS. TODO: We may need to incorporate similar logic for macOS: https://github.com/vim/vim/blob/0cdb72aa38c4a0140c94d56bf8bc17cb30260ebf/src/misc1.c#L4287-L4308
* XDG: Windows: resolve $LOCALAPPDATA, $TEMP (#5278)Rui Abreu Ferreira2017-01-08
| | | | | | | | | | After #4964 environment variables in the XDG "fallback" table are no longer expanded. Fallback to correctly expanded $LOCALAPPDATA, $TEMP. If that fails (unlikely), fallback to hard-coded paths (e.g. ~/AppData/Local). Closes #5255
* time.c: os_microdelay(): Let input cancel the delay. #5830Michael Schupikov2017-01-06
| | | | Closes #5397
* tui: check stty/termios for kbsJustin M. Keyes2016-12-23
| | | | | | | | | | | Requires libtermkey 0.19+ Closes #2048 Closes #5693 See https://github.com/neovim/libtermkey/compare/a9b61424aae9f7548162ff112393c5f706cf54f1%5E...c0eb4e4a05f49ad8fee0195c77f2c29d09cc36af See https://bugzilla.redhat.com/show_bug.cgi?id=142659 See https://github.com/tmux/tmux/blob/fe4e9470bb504357d073320f5d305b22663ee3fd/tty-keys.c#L625-L632
* out_data_decide_throttle(): timeout instead of hard limit.Justin M. Keyes2016-12-10
| | | | | | | Instead of managing max_visits, check the time every N visits. This avoids edge cases where max_visits is large but the chunk frequency slowed down, which would causing the "..." pulse to show for a very long time. It's more important to show output at reasonable intervals than to avoid calling os_hrtime().
* out_data_decide_throttle(): Avoid too-small final chunk.Justin M. Keyes2016-12-10
|
* os/shell: do_os_system(): Always show last chunk.Justin M. Keyes2016-12-10
| | | | | | | | | | | | | | | | | | | | | This ameliorates use-cases like: :!cat foo.txt :make where the user is interested in the last few lines of output. Try these shell-based ex-commands before/after this commit: :grep -r '' * :make :!yes :!grep -r '' * :!git grep '' :!cat foo :!echo foo :!while true; do date; done :!for i in `seq 1 20000`; do echo XXXXXXXXXX $i; done In all cases the last few lines of the command should always be shown, regardless of where throttling was triggered.
* os/shell: Throttle :! output, pulse "..." message.Justin M. Keyes2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | Periodically skip :! spam. This is a "cheat" that works for all UIs and greatly improves responsiveness when :! spams MB or GB of output: :!yes :!while true; do date; done :!git grep '' :grep -r '' * After ~10KB of data is seen from a single :! invocation, output will be skipped for ~1s and three dots "..." will pulse in the bottom-left. Thereafter the behavior alternates at every: * 10KB received * ~1s throttled This also avoids out-of-memory which could happen with large :! outputs. Note: This commit does not change the behavior of execute(':!foo'). execute(':!foo') returns the string ':!foo^M', it captures *only* Vim messages, *not* shell command output. Vim behaves the same way. Use system('foo') for capturing shell command output. Closes #1234 Helped-by: oni-link <knil.ino@gmail.com>
* shell_write_cb: Schedule error message. (#5670)Justin M. Keyes2016-11-26
| | | Closes #5558
* os_nodetype: open fd with O_NONBLOCK (#5515)Justin M. Keyes2016-10-21
| | | | | Closes #5267 Helped-by: oni-link <knil.ino@gmail.com>