| Commit message (Collapse) | Author | Age |
... | |
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: $HOME in `=$HOME . '/.vimrc'` is expanded too early.
Solution: Skip over `=expr` when expanding environment names.
https://github.com/vim/vim/commit/be83b73ddb2ee8297037166d243f72e3423a3ce3
---
To reproduce:
```sh
nvim -u NONE -c 'e `=$HOME . "/.vimrc"`'
```
|
|\
| |
| | |
Windows: use $PATHEXT to find executables in path
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
is_executable_in_path() searches for executables in $PATH, but on
Windows executable files have extensions available in the environment
var $PATHEXT. This commit changes is_executable_in_path() to append
those extensions to the filename.
This patch diverges from standard Vim, in that Vim only checked for
the given filename if it already has an extensions. This one always
checks for the given filename.
|
|\ \
| | |
| | | |
Windows: include <io.h>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
if_csope.c uses _open_osfhandle so include the necessary header.
Futher we need <io.h> for read/write/close/lseek.
See: https://msdn.microsoft.com/en-us/library/bdts1c9x.aspx
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
Unix systems must have this header but Windows does not have it at all.
Since src/nvim/os/unix_defs.h includes <unistd.h> without the guard
in order to avoid including this in the numerous places we would
need <unistd.h> on Unix we just include src/nvim/os/os.h which will pull
in <unistd.h> for us.
|
|/
|
|
| |
S_IFLNK is not defined on Windows but libuv defines it for us.
|
|
|
|
| |
It's not present on Windows; see the discussion in #4024.
|
|
|
|
|
|
|
|
|
|
| |
Although UNIX is a registered trademark of The Open Group, it doesn't
really matter whether we refer to these systems as UNIX, Unix, or
Unix-like. So, for consistency, refer to them collectively as Unix.
Related:
http://www.greens.org/about/unix.html
http://www.unixica.com/html/unixunix.html
|
|
|
|
|
|
| |
Among other things, this includes:
- lies about command.com
- references to pcterm
|
|
|
|
|
|
|
|
|
|
| |
- ROOT_UID's comment is misleading, as it's always defined to 0.
- SEEK_{SET,END} & O_NOFOLLOW should already be defined on Unix-like
systems in <stdio.h> and <fcntl.h>, respectively. In any case,
neither of those #ifdef blocks should be in the middle of source files.
- The S_IS{LNK,DIR,...} macros should only be undefined on Windows.
|
|
|
|
|
|
|
| |
Windows provides a RGB macro but we have our own in macros.h.
Undefine the Windows one before including macros.h.
See: https://msdn.microsoft.com/en-us/library/dd162937%28v=vs.85%29.aspx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:7.4.569
vim-patch:7.4.573
Helped-by: @glts https://github.com/neovim/neovim/pull/2621
Problem: Having CTRL-C interrupt or not does not check the mode of the
mapping. (Ingo Karkat)
Solution: Use a bitmask with the map mode. (Christian Brabandt)
https://github.com/vim/vim/commit/651863c94a882a97aec7968fc87a638ff78e56ff
Problem: Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat)
Solution: Call get_real_state() instead of using State directly.
https://github.com/vim/vim/commit/5000869712f799d9ca25c0e45dc21d332edae5f4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For non-Windows systems, we assume that NAME_MAX is in <limits.h>, as
specified in POSIX.1-2008[1]. For Windows, which doesn't have NAME_MAX,
just define it ourselves to _MAX_PATH[2].
Also, remove two (now unused) HAVE_*_H checks.
[1]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
[2]: https://msdn.microsoft.com/en-us/library/930f87yf.aspx
Helped-by: Seth Jackson
|
|
|
|
|
|
| |
In Windows the separator character in the PATH environment is ';' instead
of ':'. Add a new define ENV_SEPCHAR to be used instead of hardcoding
the character literal.
|
|\
| |
| | |
shell: Unquote &shell* options before using them
|
| | |
|
|/
|
|
|
| |
MAXNAMLEN can be defined using _MAX_PATH from stdlib.h
which will fix the BASENAMELEN definition too.
|
| |
|
|
|
|
|
| |
The Vim code for windows in if_cscope.c/.h was removed during the refactor,
added missing code for error_closing().
|
|
|
|
|
|
| |
Since uid_t is not defined on Windows use uv_uid_t instead.
We now use uv_uid_t everywhere except one place in src/nvim/main.c
which is wrapped in a #ifdef UNIX check.
|
| |
|
| |
|
|\
| |
| | |
MSVC: Define S_IXUSR.
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: On some systems automatically adding the missing EOL causes
problems. Setting 'binary' has too many side effects.
Solution: Add the 'fixeol' option, default on. (Pavel Samarkin)
https://github.com/vim/vim/commit/34d72d4b6c1a2b04a214d8a49b7d22c97bc7a8bc
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Windows does not have setenv(), instead the _putenv_s() function is used - added
a function check and fatal errors. Implemented os_setenv() for Windows.
Vim supports the original putenv() function if no alternative is available.
Neovim only supports systems where safer alternatives exist, so the check for
putenv() was removed from config/CMakeLists.txt.
|
|\ \
| | |
| | | |
Add guards for SIGPIPE and SIGQUIT
|
| | |
| | |
| | |
| | | |
In some systems the signals SIGPIPE and SIGQUIT are not available.
|
|/ /
| |
| |
| |
| |
| | |
- Bring back Vim code for settings $HOME in Windows from
$HOMEDRIVE$HOMEPATH
- vim-patch:0
|
| | |
|
| |
| |
| |
| | |
MinGW already has a redefine for ssize_t.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously os_getperms() returned -1 for any error condition, it
now returns the libuv error code (as returned by os_stat()). This
allows checking for error conditions without relying on errno
(which not available in Windows).
The only case where the errno value from os_getperms() was being used
was in readfile() to set the new-file flag - replaced the errno check
with UV_ENOENT.
|
| |
| |
| |
| |
| |
| | |
Instead of returning bool from os_stat return the actual libuv return code.
This function is static and used internally in nvim/os/fs.c it should not
impact the rest of the API. This is a first step to change other fs functions.
|
|/
|
|
|
|
| |
In windows libuv does not return -errno, instead it uses negative
error codes e.g. UV_ENOENT. This commit changes the comments in os_*
functions to reflect this.
|
|
|
|
|
|
|
| |
This is the last direct getenv() call in the tree (besides the one in
os_getenv()); most of the work was already done in [1].
[1]: 412d246be71bd99cb4edde4e6f984b0b0d91bcd9
|
|\
| |
| | |
Some more fixes to XDG code
|
| | |
|
| | |
|
|/
|
|
| |
The assertion now considers the case where events are disabled.
|
|
|
|
|
|
|
|
|
| |
This makes it impossible for K_EVENT to interfere with mappings, but it also
disables processing of events while in the middle of a mapping (Though this will
be fixed later as this refactoring progresses).
`may_sync_undo` is now called when K_EVENT is received. This is necessary to
correctly update undo entry lists before executing some action.
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor input.c, normal.c and edit.c to use the K_EVENT special key to trigger
the CURSORHOLD event. In normal and edit mode, K_EVENT is treated as
K_CURSORHOLD, which enables better handling of arbitrary actions in those
states(eg: In normal mode the previous operator counts will be restored).
Also fix a test in vim_spec.lua. The test had a wrong assumption: cmdheight is
only used to determine when the press enter screen will be shown, not to limit
how many lines or control pagination.
|
|
|
|
| |
This way all standard Vim file paths have .vim extension. VIMRC_FILE constant
used for &exrc option was not touched.
|
| |
|
| |
|
| |
|
| |
|
| |
|