Commit Graph

5507 Commits

Author SHA1 Message Date
Aaron Williamson
c8d5e9230e jobstart(): Return -1 if cmd is not executable. #5671
Closes #5465
2016-12-10 16:01:27 +01:00
Rafael Bodill
f344e40699 ex_docmd.c: Save/restore winminheight/winminwidth. #5717
Fix session load with winminheight/winminwidth >1.

Problem:  Vim temporarily sets winheight/winwidth to 1 while loading
          session. If user has his minimum window size set higher, this
          causes an error.
Solution: Temporarily set winminheight/winminwidth, and restore the
          original values (in the right order) when finishing session read.
          The order of the compound 'set' command is important, if it is
          wrong there will be an error.
2016-12-10 04:05:07 +01:00
Shougo
2380747ff2 vim-patch:7.4.1909 (#5748)
Problem:    Doubled semicolons.
Solution:   Reduce to one. (Dominique Pelle)

945ec093cd
2016-12-10 13:40:29 +01:00
Shougo
26f8cdedc3 vim-patch:7.4.1897 (#5747)
Problem:    Various typos, long lines and style mistakes.
Solution:   Fix the typos, wrap lines, improve style.

fd89d7ea81
2016-12-10 13:39:28 +01:00
Justin M. Keyes
4abe9afbf6 out_data_decide_throttle(): timeout instead of hard limit.
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().
2016-12-10 01:26:34 +01:00
Justin M. Keyes
ea154dfdb2 out_data_decide_throttle(): Avoid too-small final chunk. 2016-12-10 01:26:34 +01:00
Justin M. Keyes
cb58999007 os/shell: do_os_system(): Always show last chunk.
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.
2016-12-10 01:26:34 +01:00
Justin M. Keyes
97204e1cef os/shell: Throttle :! output, pulse "..." message.
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>
2016-12-09 18:51:17 +01:00
Justin M. Keyes
043f85210a tui: "backpressure": Drop messages to avoid flooding.
Closes #1234

multiqueue:
- Implement multiqueue_size()
- Rename MultiQueueItem.parent to MultiQueueItem.parent_item, to avoid confusion
  with MultiQueue.parent.
2016-12-09 18:51:17 +01:00
Shougo Matsushita
7da7ff7c5c vim-patch:7.4.1758, 7.4.1759, 7.4.1692 #5640
vim-patch:7.4.1758

Problem:    Triggering CursorHoldI when in CTRL-X mode causes problems.
Solution:   Do not trigger CursorHoldI in CTRL-X mode. Add "!" flag to
            feedkeys() (test with that didn't work though).

245c41070c

vim-patch:7.4.1759

Problem:    When using feedkeys() in a timer the inserted characters are not
            used right away.
Solution:   Break the wait loop when characters have been added to typebuf.
            use this for testing CursorHoldI.

40b1b5443c

vim-patch:7.4.1692
Problem:    feedkeys('i', 'x') gets stuck, waits for a character to be typed.
Solution:   Behave like ":normal". (Yasuhiro Matsumoto)
2016-12-09 17:46:14 +01:00
James McCoy
4a2d2248e8 Merge pull request #5736 from jamessan/vim-7.4.1754
vim-patch:7.4.1754
2016-12-09 09:42:23 -05:00
James McCoy
ddfac951ea Merge pull request #5705 from brcolow/vim-7.4.1835
vim-patch:7.4.[1835,1956]
2016-12-08 10:43:17 -05:00
James McCoy
7775fb7dff lint 2016-12-08 10:36:24 -05:00
James McCoy
d1473880bc vim-patch:7.4.1754
Problem:    When 'filetype' was set and reloading a buffer which does not
            cause it to be set, the syntax isn't loaded. (KillTheMule)
Solution:   Remember whether the FileType event was fired and fire it if not.
            (Anton Lindqvist, closes vim/vim#747)

c3691332f7
2016-12-08 10:27:32 -05:00
James McCoy
49d2952658 Merge pull request #5659 from brcolow/vim-7.4.1685
vim-patch:7.4.[1685,2163,2217,2269],8.0.00[33,40]
2016-12-08 09:18:51 -05:00
Justin M. Keyes
adf29cef72 syntax.c: Update color names. (#5733)
Closes #5178
2016-12-08 01:01:12 +01:00
James McCoy
f7a49532b1 lint 2016-12-07 11:04:33 -05:00
James McCoy
035eb27575 vim-patch:8d8aa0a
Add missing test file.

8d8aa0a367
2016-12-07 10:44:35 -05:00
James McCoy
4f3c9ad4d7 vim-patch:7.4.1751
Problem:    Crash when 'tagstack' is off. (Dominique Pelle)
Solution:   Fix it. (Hirohito Higashi)

def5abe0a2
2016-12-07 10:44:31 -05:00
Björn Linse
2eeabf9a43 mbyte: clean up charset.c for assumed encoding=utf-8 2016-12-07 08:59:08 +01:00
Michael Ennen
63c46c1106 vim-patch:8.0.0040
Problem:    Whole line highlighting with matchaddpos() does not work.
Solution:   Check for zero length. (Hirohito Higashi)

8507747600
2016-12-07 00:37:29 -07:00
Michael Ennen
0e99d29169 vim-patch:8.0.0033
Problem:    Cannot use overlapping positions with matchaddpos().
Solution:   Check end of match. (Ozaki Kiichi) Add a test (Hirohito Higashi)

a6c27ee6db
2016-12-06 22:57:30 -07:00
Michael Ennen
652f15aaa5 Add vim defaults to runtest.vim. 2016-12-06 22:42:14 -07:00
Michael Ennen
c5d2e442a3 vim-patch:7.4.2269
Problem:    Using 'hlsearch' highlighting instead of matchpos if there is no
            search match.
Solution:   Pass NULL as last item to next_search_hl() when searching for
            'hlsearch' match. (Shane Harper, closes vim/vim#1013)

e17bdffff7
2016-12-06 17:15:49 -07:00
Michael Ennen
0064e9738a vim-patch:7.4.2217
Problem:    When using matchaddpos() a character after the end of the line can
            be highlighted.
Solution:   Only highlight existing characters. (Hirohito Higashi)

4f416e4124
2016-12-06 17:12:08 -07:00
Michael Ennen
629e788b36 vim-patch:7.4.2163
Problem:    match() and related functions tested with old style test.
Solution:   Convert to new style test. (Hirohito Higashi)

d76a0c15f8
2016-12-06 17:02:13 -07:00
Michael Ennen
6fea2dfd26 vim-patch:7.4.1685
Problem:    There is no easy way to get all the information about a match.
Solution:   Add matchstrpos(). (Ozaki Kiichi)

7fed5c18f8
2016-12-06 15:52:48 -07:00
James McCoy
e085f7c5f1 vim-patch:7.4.1708
Problem:    New regexp engine does not work properly with EBCDIC.
Solution:   Define equivalence class characters. (Owen Leibman)

2a6fa564a3

Although nvim doesn't support EBCDIC systems, this keeps us inline with
upstream code so its easier to merge future patches in this area and
improves the readability of the code.
2016-12-06 11:16:33 -05:00
James McCoy
0165de0228 Merge pull request #5707 from jamessan/moar-cleaning
build: Make clean targets more thorough
2016-12-03 23:33:13 -05:00
Justin M. Keyes
b025474258 vim-patch:8.0.0110 (#5700)
Closes #5616

Problem:    Drop command doesn't use existing window.
Solution:   Check the window width properly. (Hirohito Higashi)

5a030a540f
2016-12-03 22:38:13 +01:00
James McCoy
d98ebd6ab9 build: Make clean targets more thorough 2016-12-02 20:38:55 -05:00
James McCoy
d9dffeb486 lint 2016-12-02 20:30:08 -05:00
James McCoy
a4f646dde8 vim-patch:f9660b5
Add missing test file.

f9660b59b2
2016-12-02 20:30:06 -05:00
James McCoy
fa9cd8b878 vim-patch:7.4.1748
Problem:    "gD" does not find match in first column of first line. (Gary
            Johnson)
Solution:   Accept match at the cursor.

1538fc34fa
2016-12-02 20:30:03 -05:00
Michael Ennen
34efe443ac vim-patch:7.4.1956
Problem:    When using CTRL-W f and pressing "q" at the ATTENTION dialog the
            newly opened window is not closed.
Solution:   Close the window and go back to the original one. (Norio Takagi,
            Hirohito Higashi)

5d2ca04029
2016-12-02 17:28:54 -07:00
Michael Ennen
9af8cd768d vim-patch:7.4.1835
Problem:    When splitting and closing a window the status height changes.
Solution:   Compute the frame height correctly. (Hirohito Higashi)

991dea3ab1
2016-12-02 16:04:47 -07:00
James McCoy
77dceaaeb7 Merge pull request #5675 from brcolow/vim-7.4.1738
vim-patch:7.4.17[35,38,39]
2016-12-01 13:32:12 -05:00
Michael Ennen
4f3bb5262c vim-patch:7.4.1702
Problem:    Using freed memory when parsing 'printoptions' fails.
Solution:   Save the old options and restore them in case of an error.
            (Dominique)

4afc7c5d4a
2016-12-01 09:20:23 -05:00
Michael Ennen
909b7d9dea vim-patch:7.4.1739
Problem:    Messages test fails on MS-Windows.
Solution:   Adjust the asserts.  Skip the "messages maintainer" line if not
            showing all messages

bea1ede1c5
2016-12-01 09:15:47 -05:00
James McCoy
85f9f9f46d Merge pull request #5674 from brcolow/vim-7.4.1723
vim-patch:7.4.1723
2016-12-01 09:07:33 -05:00
James McCoy
e1cdf04f2d Merge pull request #5665 from brcolow/vim-7.4.1711
vim-patch:7.4.1711
2016-12-01 09:01:55 -05:00
Marco Hinz
147b03e7d0 Add v:exiting
Contains the exit value nvim will use.

Before exiting, it is v:null. That way jobs or autocmds (in VimLeavePre or
VimLeave) can check if Neovim is about to quit and with what exit value.

Closes #4666.
2016-12-01 14:57:22 +01:00
James McCoy
5194e3bc45 Merge pull request #5664 from brcolow/vim-7.4.1707
vim-patch:7.4.1707
2016-12-01 08:46:18 -05:00
Björn Linse
1f8a3da796 Merge pull request #5669 from chemzqm/add-cmdline-mode-rpc
Add cmdline mode to ui_mode_change
2016-12-01 08:05:44 +01:00
James McCoy
0e1c406df4 Merge pull request #5662 from brcolow/vim-7.4.1701
vim-patch:7.4.1701
2016-12-01 00:14:16 -05:00
James McCoy
5679ceb3a8 Merge pull request #5648 from brcolow/vim-7.4.2071
vim-patch:7.4.2071
2016-11-30 20:58:11 -05:00
chemzqm
3cf4b14e96 add cmdline mode to modechange of RPC and tests
use set_cursor_shape_bar for cmdline mode

fix test of screen_basic_spec.lua & screen.lua

comment fix
2016-11-30 22:20:06 +08:00
Michael Ennen
f94740097b vim-patch:7.4.1738
Problem:    Count for ":messages" depends on number of lines.
Solution:   Add ADDR_OTHER address type.

5d91646599
2016-11-29 16:32:43 -07:00
Michael Ennen
d2be11fbf2 vim-patch:7.4.1735
Problem:    It is not possible to only see part of the message history.  It is
            not possible to clear messages.
Solution:   Add a count to ":messages" and a clear argument. (Yasuhiro
            Matsumoto)

451f849fd6
2016-11-29 16:32:43 -07:00
Shougo
f2c6cc2d09 version.c: mark NA patches (#5657)
1710: external command
2311: Appveyor
2016-11-29 23:43:25 +01:00