| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This is none of option.c business to create *possibly unneeded* **default**
directories **before** user specified where he actually wants to place the
files.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
- Remove/add includes
- Do not pretend that returns are const
- Add function attributes
- Allocate memory always in get_xdg
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Add functions that are able to query XDG.
- Replace defaults for
- &runtimepath. Does not follow #78.
- &viewdir.
- &undodir.
- &directory.
- &backupdir. Does not follow #78.
- vimrc location.
- Remove user vimrc file line from :version message.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What works:
1. ShaDa file dumping: header, registers, jump list, history, search patterns,
substitute strings, variables.
2. ShaDa file reading: registers, global marks, variables.
Most was not tested.
TODO:
1. Merging.
2. Reading history, local marks, jump and buffer lists.
3. Documentation update.
4. Converting some data from &encoding.
5. Safer variant of dumping viminfo (dump to temporary file then rename).
6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for
reference).
|
| |
|
|
| |
It is not needed to know that os/* uses libuv.
|
| |
|
|
|
| |
This allows callers to incrementally process buffers that are filled by
incomplete chunks more easily.
|
| |
|
|
|
| |
Vim defines this for Windows, so there's no Neovim-supported system for
which this would not be defined.
|
| |
|
|
|
|
|
|
|
|
| |
Closes https://github.com/neovim/neovim/issues/3164
Closes https://github.com/neovim/neovim/issues/3194
Closes https://github.com/neovim/neovim/issues/3221
Helped-by: @splinterofchaos
Helped-by: @oni-link
Helped-by: @justinmk
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
RETSIGTYPE, SIGRETURN, and SIGDEFARG are always defined the same, so
inline them for simplicity; SIGDUMMYARG, however, is unused, so remove
it.
Even if these things don't work on windows, the signal handler in
if_cscope.c is already wrapped with '#idef UNIX', as is its only call
site.
Reviewed-by: Justin M. Keyes <justinkz@gmail.com>
|
| |
|
|
| |
It's always defined, so the #else is redundant.
|
| |
|
|
|
|
|
|
|
|
|
| |
SIGHAS3ARGS appears in Vim's source code like this:
/* List 3 arg systems here. I guess __sgi, please test and correct me. jw. */
if defined(__sgi) && defined(HAVE_SIGCONTEXT)
define SIGHAS3ARGS
endif
Given we don't support SGI, remove it.
|
| |
|
|
|
| |
Any files which need definitions from <time.h> should include it,
not "os/os_defs.h".
|
| |
|
|
|
|
|
|
| |
MSVC 2015 defines __func__ (C++11).
https://msdn.microsoft.com/en-us/library/dn919276.aspx
MSVC only allows inline in C++ and requires __inline in C instead.
https://msdn.microsoft.com/en-us/library/bw1hbe6y.aspx
|
| |
|
|
|
| |
Remove R_OK, W_OK defines because os/os.h includes <uv.h> which includes
uv-win.h which defines R_OK and W_OK.
|
| |
|
|
|
| |
Since gettimeofday() was replaced by os_time in
fb5a786bdb5b7b52b9c36b3eb8b6d2cc002aa8f3 we do not need sys/time.h.
|
| |
|
|
|
|
|
|
|
| |
In Windows there is no equivalent to the filesystem executable bit; the
documentation states that for Windows :executable() returns
1 for all files. But this behaviour was broken because is_executable()
checked for the UNIX bit.
When WIN32 is defined we now skip the S_IXUSR check.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
os_file_is_readonly() in its current form is equivalent to
!os_file_is_writable(). This does not appear to be a bug, because Vim's
use of check_file_readonly() (which we changed to os_file_is_readonly())
is equivalent to !os_file_is_writable() in every case.
os_file_is_readonly() also fails this test:
returns false if the file is non-read, non-write
A more useful form would define behavior under these cases:
- path is executable (but not writable)
- path is non-existent
- path is directory
But there is no reason for os_file_is_readonly() to exist, so remove it.
|
| |
|
|
|
|
| |
- uv_fs_access() is far more robust than access(). In particular, it
handles utf16 paths (Windows).
- Still need R_OK, W_OK in win_defs.h
|
| | |
|
| |
|
|
|
|
|
| |
Use access() because:
- We already use it for os_file_is_writable()
- Vim's old check_file_readonly() ends up using access() after all.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The new event processing architecture changed `jobwait()` semantics: Only one
job is processed at time since process_wait only focuses on one queue.
This fixes the problem with a few changes:
- Allow the event queue polled by `process_wait` to be overriden by a new
argument.
- Allow the parent queue to be overriden with `queue_replace_parent`
- Create a temporary queue that serves as the parent for all jobs passed to
`jobwait()`
|
| |
|
|
| |
This is necessary to keep events in the same order received from the OS.
|