Commit Graph

762 Commits

Author SHA1 Message Date
James McCoy
228d7d9482 Merge remote-tracking branch 'upstream/master' into fileinfo-garbage 2020-07-31 17:59:48 -04:00
James McCoy
3e3002b90c fs: Ensure FileInfo struct is initialized
Zero out the caller's FileInfo in all the functions which populate the
struct.  The contents are considered private, so we need to ensure
it's initialized.

If the stat call fails, the buffer we get back from libuv may not have
any valid data in it, so don't copy it into the caller's FileInfo.

This was happening, expectedly, in functional/ex_cmds/write_spec.lua's
"write errors out correctly", which caused it to fail in certain
environments:

    test/functional/ex_cmds/write_spec.lua:130: Expected objects to be the same.
    Passed in:
    (string) 'Vim(write):E212: Can't open file for writing: not a directory'
    Expected:
    (string) 'Vim(write):E166: Can't open linked file for writing'
2020-07-31 17:59:33 -04:00
Matthieu Coudron
d8c5d122f1 Merge pull request #12376 from erw7/fix-stack-overflow-on-input-enqueue
input: fix stack overflow
2020-06-08 16:52:56 +02:00
Jan Edmund Lazo
64a2884d4c vim-patch:8.0.1564: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate the +autocmd feature. Takes away 450 #ifdefs and
            increases code size of tiny Vim by only 40 Kbyte.
f2bd8ef2b4
2020-06-04 20:52:52 -04:00
erw7
e01fc33515 [squash] fix comment [skip ci] 2020-05-26 17:23:04 +09:00
erw7
57a4f8905b win/TUI: enable mouse on ConEmu and vtpcon without vti 2020-05-26 14:16:06 +09:00
erw7
237c9da666 input: fix stack overflow
fixes #12287, #11788
2020-05-25 14:59:27 +09:00
Kei Kamikawa
c5217c67df TUI: block signals on suspend #12180
fix #8075
2020-04-25 18:22:40 -07:00
Matthieu Coudron
ca02db1f9f Merge pull request #12047 from erw7/fix-resolve-on-windows
Change resolve() to resolve symbolic links on Windows
Neovim worked the same way as vim for shortcuts, but didn't handle symbolic links and junction cases. This PR implements the same behavior for symbolic links and junctions as for vim.
2020-04-19 14:11:01 +02:00
erw7
b687a6c2b2 Change to canonicalize only when reparse point in included 2020-04-02 21:13:18 +09:00
erw7
f61331e184 Change resolve() to resolve symbolic links on Windows 2020-04-02 21:13:18 +09:00
Jan Edmund Lazo
10c5434f9c vim-patch:8.1.1567: localtime_r() does not respond to $TZ changes
Problem:    Localtime_r() does not respond to $TZ changes.
Solution:   If $TZ changes then call tzset(). (Tom Ryder)
db51730df1
2020-03-29 13:17:03 -04:00
Jan Edmund Lazo
573671b1fb vim-patch:8.1.1313: warnings for using localtime() and ctime()
Problem:    Warnings for using localtime() and ctime().
Solution:   Use localtime_r() if available.  Avoid using ctime().
63d2555c9c
2020-03-29 09:41:17 -04:00
Jan Edmund Lazo
607240a8ba pvs/v1048: variable was assigned same value 2020-03-01 03:57:58 -05:00
Björn Linse
c5b812c9ea env: try find library dir (like /usr[/local]/lib/nvim) and add it to &rtp 2020-02-07 09:22:55 +01:00
Justin M. Keyes
2af04e1997 lint 2020-02-02 22:14:40 -08:00
Justin M. Keyes
d1d5f5103e refactor: move various things to os/shell.c
- No code changes
- Rename mch_expand_wildcards => os_expand_wildcards
2020-02-02 22:14:40 -08:00
Justin M. Keyes
cbcb50dcc9 shell: "..." instead of "[...]" #11760
0c1be45ea0 changed pulse logic to output "[...]" instead of nothing.
But that doesn't align with the "..." pulse which may follow it.

ref #11130
2020-01-25 16:49:53 -08:00
erw7
1e4f290691 Remove termtype option 2020-01-17 11:36:28 +01:00
erw7
c86d5fa981 Change to replace stderr with conout 2020-01-17 11:36:28 +01:00
erw7
4e06594c53 Add missing include file 2020-01-17 11:36:28 +01:00
erw7
a5a3d7160d Change option name from termwintype to termtype 2020-01-17 11:36:28 +01:00
erw7
8f91d709b0 Rename from os_win_conpty.{c,h} to pty_conpty_win.{c,h} 2020-01-17 11:36:28 +01:00
erw7
2c8016c704 Add stdin, stdout replacement functions 2020-01-17 11:36:28 +01:00
erw7
60c7eabb2f Change enum to a name that follows naming convention 2020-01-17 11:36:28 +01:00
erw7
59ae38a919 Change to use TriState instead of bool
Co-Authored-By: Justin M. Keyes <justinkz@gmail.com>
2020-01-17 11:36:28 +01:00
erw7
b25e42f798 Fix function prototype 2020-01-17 11:36:28 +01:00
erw7
b4ff583277 Minor changes in reviewer's point 2020-01-17 11:36:28 +01:00
erw7
7aff0340e1 Move ConPTY resize to os_win_conpty.c 2020-01-17 11:36:28 +01:00
erw7
ed37d1081c Change union name from pty_object to object
Co-Authored-By: Justin M. Keyes <justinkz@gmail.com>
2020-01-17 11:36:28 +01:00
erw7
5355cee77d Change to use ConPTY, if available 2020-01-17 11:36:28 +01:00
Jan Edmund Lazo
234c4a846b os/env: fix pvs/v781 2019-12-26 00:29:15 -05:00
James McCoy
6566251d14 Merge remote-tracking branch 'upstream/master' into libcall 2019-12-15 21:17:16 -05:00
James McCoy
9c4223215f libcallnr: Use int, not int64_t, as the return type for Vim compat
Vim's documentation simply states that libcallnr() should be used "for a
function that returns an int".  Based on the tests, code, and common
syscall interfaces, this should likely be taken literally instead of
trying to apply some well-defined type lipstick.

Notably, this change fixes Test_libcall_libcallnr on hppa (a 32-bit
big-endian system).
2019-12-15 21:17:00 -05:00
James McCoy
39963c6a04 os_getenvname_at_index: Handle Windows env vars whose name starts with = 2019-12-11 22:04:29 -05:00
James McCoy
6dc1005787 Add os_getfullenv_size/os_copyfullenv 2019-12-11 22:04:29 -05:00
Matthieu Coudron
19b6237087 jobstart now supports env/clear_env
to modify the environment of the launched job.
2019-12-11 21:07:13 -05:00
erw7
91f4bb0aee TUI: use stdio names instead of magic numbers #11410 2019-11-17 12:58:58 -08:00
erw7
6fd6f4683d TUI/thread: guard env map from potential race with unibilium #11259
unibi_from_term calls getenv internally, so exclusive control is required.
2019-10-20 15:47:08 -07:00
erw7
8add4cb8fd vim-patch 8.1.0361: remote user not used for completion
Problem:    Remote user not used for completion. (Stucki)
Solution:   Use $USER too. (Dominique Pelle, closes #3407)
6b0b83f768
2019-10-14 15:07:10 +09:00
erw7
14c611ed77 vim-patch 8.1.0084: user name completion does not work on MS-Windows
Problem:    User name completion does not work on MS-Windows.
Solution:   Use NetUserEnum() to get user names. (Yasuhiro Matsumoto)
828c3d7083
2019-10-13 17:34:08 +09:00
erw7
b4ea09cc06 Fix potential deadlock #11151
ELOG may call os_getenv and os_setenv internally. In that case, a
deadlock occurs.
2019-10-04 08:18:24 -07:00
Daniel Hahler
0c1be45ea0 shell: improve displaying of pulse (#11130)
- output "[...]" to indicate throttling is being used, instead of just
  an empty line
- go to beginning of line after displaying the pulse, so that following
  output is displayed over it
2019-10-02 06:26:57 +02:00
Daniel Hahler
bb6b1267e7 Revert "win/os_env_exists(): workaround libuv bug #10734"
This reverts commit 278c5d452c.
2019-09-25 05:47:12 +02:00
erw7
028d76e5d5 env: use putenv_s for LC_ALL, LANG, etc. #11050
Problem:  ":lang messages en_US.UTF-8" no longer overrides the language
          detected from the environment (at startup).
Solution: In os_setenv, special-case "LC_ALL", "LANG", et al. to use
          putenv_s instead of uv_os_setenv.

fixes #11045
2019-09-22 00:02:28 -07:00
Björn Linse
e6b7613e89 refactor: allow us to process a child queue only while waiting on input 2019-09-08 15:24:14 +02:00
Daniel Hahler
64caeb13e6 stdpaths_get_xdg_var: consider empty env vars #10953
Without this "sysinit uses VIM if XDG_CONFIG_DIRS unset" fails with an
existing `/etc/xdg/nvim/sysinit.vim` file, because `XDG_CONFIG_DIRS=` is
not considered, but the default ("/etc/xdg") used then.
2019-09-06 09:05:30 -07:00
Daniel Hahler
7023131223 Log signals handled in deadly_signal (#10939) 2019-09-04 16:44:06 +02:00
Daniel Hahler
b3ab7ba1d6 Revisit out_data_decide_throttle
Pulse every 0.1s only.

This makes `!yes` look much better (less busy).
2019-08-30 07:12:46 +02:00
Justin M. Keyes
21f0f7bca5 paste: WIP #4448 2019-08-27 21:19:10 +02:00