aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os
Commit message (Collapse)AuthorAge
* gcov: use __gcov_flush instead of __gcov_dump (#10260)Daniel Hahler2019-06-18
| | | | | | This restores missing coverage again. Move it to process_spawn in os/pty_process_unix.c, since it seems to break printargs-test on Windows/AppVeyor otherwise (#10248).
* TUI: set os/input.c:global_fd to input->in_fd #10174erw72019-06-10
| | | | | | | | | | | | | Problem: When we changed startup to wait for the TUI (like a remote UI), we forgot to set os/input.c:global_fd. That used to be done by input_start(). Solution: Initialize os/input.c:global_fd before initializing libtermkey (termkey_new_abstract) so that tui_get_stty_erase() and friends can inspect the correct fd. fixes #10134 close #10174
* vim-patch:8.1.0211: expanding a file name "~" results in $HOMEJan Edmund Lazo2019-05-25
| | | | | | Problem: Expanding a file name "~" results in $HOME. (Aidan Shafran) Solution: Change "~" to "./~" before expanding. (closes vim/vim#3072) https://github.com/vim/vim/commit/00136dc321586800986e8f743c2f108f5eecbf92
* lua/shared: share trim() implJustin M. Keyes2019-05-20
|
* fileio: set group of backup fileJustin M. Keyes2019-05-20
| | | | | | | | | | Restores code removed in #9709. uv_fs_copyfile() copies the perm bits but not the group name. https://github.com/libuv/libuv/pull/1547 ref #9709 ref #8288
* Merge #9709 'fileio: use os_copy to create backups'Justin M. Keyes2019-05-20
|\ | | | | | | ref #8288
| * docs: explicitly state return value on successSaid Al Attrach2019-03-30
| |
| * fs: add os_copy function that uses uv_fs_copyfileSaid Al Attrach2019-03-10
| |
* | vim-patch:8.1.1231: asking about existing swap file unnecessarilyJustin M. Keyes2019-04-29
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Asking about existing swap file unnecessarily. Solution: When it is safe, delete the swap file. Remove HAS_SWAP_EXISTS_ACTION, it is always defined. (closes vim/vim#1237) https://github.com/vim/vim/commit/67cf86bfff5fd5224d557d81cb146f46e33b831c N/A: vim-patch:8.1.1232 vim-patch:8.1.1233 vim-patch:8.1.1236
* | win/defaults: Use "…/nvim-data/site" in 'runtimepath'Justin M. Keyes2019-04-28
| | | | | | | | | | | | | | | | | | | | On Windows we store non-config data in "$XDG_DATA_HOME/nvim-data". But the "…/site" items in 'runtimepath' did not correctly point to that location, they used "…/nvim/site". Fix the init logic to use "…/nvim-data/site". closes #9910
* | test: "$PATHEXT=::"Justin M. Keyes2019-04-02
| |
* | fs.c: fix is_executable_ext()erw72019-04-02
| | | | | | | | | | | | | | - Corresponds to the case where pathext contains a zero-length extension. - Remove unnecessary break statements. - Fix function attributes.
* | [ci skip] fs.c: fix commenterw72019-04-01
| |
* | fs.c: Move sh check of is_executable_ext to outside of looperw72019-04-01
| |
* | fs.c: Simplify calling is_executable_exterw72019-04-01
| |
* | fs.c: fix is_executable_exterw72019-04-01
| | | | | | | | | | | | - Fix the problem of checking the extension in a UNIX like shell. - Fix the problem of not checking the existence of the file when the pathext contains an extension.
* | fs.c: eliminate is_extension_executableJustin M. Keyes2019-04-01
| | | | | | | | Add this functionality to is_executable_ext() instead.
* | is_extension_executable: simplify check for unix-style shellJustin M. Keyes2019-04-01
| | | | | | | | mch_expand_wildcards does it this way, it's probably good enough.
* | is_extension_executable: simplifyerw72019-04-01
| | | | | | | | Simplify method of determining search position of the extension.
* | cleanup: PATHEXT functionerw72019-04-01
| |
* | test/win: executable(), exepath() #9516erw72019-04-01
| |
* | win: exepath(): append extension if omittederw72019-04-01
| | | | | | | | fixes #9403
* | win: executable(): also check extensionerw72019-04-01
| |
* | win: executable(): fix relative path bugerw72019-04-01
| | | | | | | | | | Qualified (i.e. dot-prefixed) relative paths should only search CWD, not $PATH.
* | Merge #9686 'win/Lua: monkey-patch os.getenv()'Justin M. Keyes2019-03-16
|\ \ | |/ |/| | | fixes #9681
| * Fix os.getenv of lua on Windowserw72019-03-07
| | | | | | | | | | Change to use os_getenv instead of getenv because environment variable set by uv_os_setenv can not be get with getenv.
| * Fix environment variable on Windowserw72019-03-06
| | | | | | | | | | | | | | Since uv_os_setenv uses SetEnvironmentVariableW, _wenviron is no updated. As a result, inconsistency occurs in completion of environment variable names. Change to use GetEnvironmentStaringsW instead of _wenviron to solve it.
* | executable(): return false if user is not owner #9703erw72019-03-09
|/ | | | | | | | | | S_IXUSR does not check ownership. Test case: touch test.txt chmod 744 test.txt sudo chown root:root test.txt nvim -u NORC :echo executable('./test.txt')
* os/env: Fix completion of multibyte env var nameserw72019-03-03
| | | | fixes #9655
* floats: implement floating windowsBjörn Linse2019-03-02
| | | | Co-Author: Dongdong Zhou <dzhou121@gmail.com>
* os: remove uv_translate_sys_error impl #9652Justin M. Keyes2019-03-01
| | | Since libuv minimum version is now v1.12, we can use libuv's impl.
* clint: check env functionsJustin M. Keyes2019-02-28
|
* os/env: use libuv v1.12 getenv/setenv APIJustin M. Keyes2019-02-27
| | | | | | | | | | | - Minimum required libuv is now v1.12 - Because `uv_os_getenv` requires allocating, we must manage a map (`envmap` in `env.c`) to maintain the old behavior of `os_getenv` . - free() map-items after removal. khash.h does not make copies of anything, so even its keys must be memory-managed by the caller. closes #8398 closes #9267
* os_getenv, os_setenv: revert "widechar" implJustin M. Keyes2019-02-26
| | | | | | | | | | It's reported that the Windows widechar variants do automatically convert from the current codepage to UTF16, which is very helpful. So the "widechar" impls are a good direction. But libuv v1.12 does that for us, so the next commit will use that instead. ref #8398 ref #9267
* win: os_getenv(): use _wgetenv()Justin M. Keyes2019-02-25
|
* os_setenv: use _wputenv_s; remove vestigial code #7920Justin M. Keyes2019-02-25
| | | | | _putenv_s variant was left over from 810d31a43001, should have been removed in cd5b1315757e.
* I/O: ignore ENOTSUP for failed fsync()Justin M. Keyes2019-02-21
| | | | | | | | | Suggested by ZyX in https://github.com/neovim/neovim/issues/6725#issuecomment-312197691 : > There already is an exception if writing to a “device” (e.g. FIFO). > It makes sense to ignore certain errors like ENOTSUP or EOPNOTSUPP > since it is not something we or user can do anything about. ref #6725
* deps: update to libuv v1.26.0Justin M. Keyes2019-02-21
| | | | | | | | | | | | | | | | | | | | | | | Notable changes since v1.23.2: - v1.26.0 - uv_os_uname() - unix: don't attempt to invalidate invalid fd https://github.com/libuv/libuv/commit/1ce6393a5780538ad8601cae00c5bd079b9415a9 - v1.25.0 - unix: better handling of unsupported F_FULLFSYNC (fixes #6725) https://github.com/libuv/libuv/commit/6fc797c3fe18d8df71b36ecf2184f085c0283251 - tty,win: fix Alt+key under WSL https://github.com/libuv/libuv/commit/d2e59bb6003d707bdebd7a381f5a7e1d0cc3fd3b - fsevents: really watch files with fsevents on macos 10.7+ https://github.com/libuv/libuv/commit/2d2af382ce84b91d6ee7a185af32fca7f0acd84b - win: fix duplicate tty vt100 fn key - v1.24.0 - win,fs: retry if uv_fs_rename fails https://github.com/libuv/libuv/commit/e94c184c7c4a18f3de569c97caeb83f4ff98a4b2 - later [reverted](https://github.com/libuv/libuv/issues/2098) but may be useful reference - win: support more fine-grained windows hiding https://github.com/libuv/libuv/commit/4c2dcca27b80945d6b7063f0ea031b8a75a46a52
* fix "E667: Fsync failed" on macOSJustin M. Keyes2019-02-21
| | | | | | | | | | | | | macOS: Try direct fsync() if F_FULLFSYNC fails. closes #6725 ref https://github.com/vim/vim/pull/4016 vim-patch:8.1.0957 > on macOS F_FULLFSYNC fails with ENOTSUP for unsupported storage systems > (e.g. SMB), though this is not documented in the Apple fcntl man page. libuv fixed this in v1.25.0: https://github.com/libuv/libuv/commit/6fc797c3fe18d8df71b36ecf2184f085c0283251
* Merge #9560 from justinmk/Wmissing-prototypesJustin M. Keyes2019-02-04
|\
| * build: -Wmissing-prototypesJustin M. Keyes2019-02-04
| | | | | | | | | | | | | | ref #343 Though I don't see a strong benefit, it isn't too much of a burden, and maybe avoids confusion in some cases.
* | events: add "Signal" event #9564Marco Hinz2019-02-04
|/ | | | | ..which gets triggered when SIGUSR1 is sent to the nvim process. Closes #9562
* ui: multigrid mouse supportBjörn Linse2019-01-20
|
* Merge #9401 from justinmk/pr-win-erw7Justin M. Keyes2018-12-30
|\
| * cleanup: Remove os_term_is_nice()Justin M. Keyes2018-12-30
| |
| * refactor: Extract os_tty_guess_term()Justin M. Keyes2018-12-30
| | | | | | | | | | - Also remove feature-detection of uv_set_vterm_state(): instead, on Windows we always require libuv to have that function.
* | vim-patch:8.1.0662: needlessly searching for tilde in stringJames McCoy2018-12-30
|/ | | | | | Problem: Needlessly searching for tilde in string. Solution: Only check the first character. (James McCoy, closes vim/vim#3734) https://github.com/vim/vim/commit/ef0a1d5ed3566b91143d30ae9de3240f47c6e282
* TUI: detect BSD vt consoleJustin M. Keyes2018-12-16
| | | | | | | | | | | | | | FreeBSD console sets TERM=xterm, but it does not support xterm features like cursor-shaping. GUI terminals typically set TERM=xterm-256color, so on FreeBSD we can guess that TERM=xterm is the degraded vt. OpenBSD console sets TERM=vt220 https://github.com/openbsd/src/blob/master/etc/etc.amd64/ttys NetBSD console sets TERM=vt100 https://github.com/NetBSD/src/blob/trunk/etc/etc.amd64/ttys closes #8644
* os/lang: use the correct LC_NUMERIC also for OS XBjörn Linse2018-12-13
|
* macOS: infer primary language if $LANG is empty #9345Marco Hinz2018-12-11
| | | | | | | | | | | | | | The macOS preferences have a section called `Language & Region`. There is always at least one language defined, the primary language. CFLocaleCopyPreferredLanguages() returns the languages defined in that section, the first element being the primary language. Use the primary language in case CFLocaleCopyCurrent() returns NULL. In the case that the above fallback does not work either, which is very unlikely, log the error and continue with an empty $LANG. References #9134