Commit Graph

12852 Commits

Author SHA1 Message Date
Yatao Li
086631cd92 feat(api): win_viewport also sends line_count #15613 2021-09-10 19:19:39 -07:00
Justin M. Keyes
915703f2d8 docs: extmarks indexing #15311
ref #11456
2021-09-10 19:10:09 -07:00
Javier López
f8e406ed30 docs: extmarks indexing #15311
fix #11456
2021-09-10 18:31:11 -07:00
Patrice Peterson
9b553ad28d docs: extmark indexing #12742
Extmarks mostly use api-indexing, except for nvim_buf_get_extmarks(),
which uses api-indexing with inclusive ranges.

ref #11456
2021-09-10 17:59:28 -07:00
zeertzjq
9697023a0b vim-patch:8.2.3389: cannot stop insert mode completion without side effects #15538
Problem:    Cannot stop insert mode completion without side effects.
Solution:   Add CTRL-X CTRL-Z. (closes vim/vim#8821)
dca29d9cf4
2021-09-10 17:14:32 -07:00
Justin M. Keyes
7525052270 Merge #15626 vim-patch:8.1.{2281,2283},8.2.{2903,3391,3397} 2021-09-10 08:43:45 -07:00
Sean Dewar
36aff87ab6 vim-patch:8.2.3397: no test for what 8.2.3391 fixes
Problem:    No test for what 8.2.3391 fixes.
Solution:   Add a test. (Yegappan Lakshmanan, closes vim/vim#8828)
03d257998b
2021-09-10 15:52:07 +01:00
Sean Dewar
6e1c03bd2d vim-patch:8.2.3391: crash with combination of 'linebreak' and other options
Problem:    Crash with combination of 'linebreak' and other options.
Solution:   Avoid n_extra to become negative. (Christian Brabandt,
            closes vim/vim#8817)
20e0c3d27b
2021-09-10 15:52:07 +01:00
Sean Dewar
b91609a70d vim-patch:8.2.2903: cursor position wrong on wrapped line with 'signcolumn'
Problem:    Cursor position wrong on wrapped line with 'signcolumn'.
Solution:   Don't add space for showbreak twice. (Christian Brabandt,
            closes vim/vim#8262)
a06e345af5

Add a modeline to test_display.vim.

This introduced a regression fixed by v8.2.3391.
2021-09-10 15:52:07 +01:00
Sean Dewar
fd1dbb103b vim-patch:8.1.2281: 'showbreak' cannot be set for one window
Problem:    'showbreak' cannot be set for one window.
Solution:   Make 'showbreak' global-local.
ee85702c10

Change in oneleft() is N/A as the relevant condition was removed
(has_mbyte is always true for Nvim, so the condition was always false;
see commit 73dc9e9).

Use wp over curwin for curs_columns().

Required for v8.2.2903 (otherwise test fails as it'll leave the global
option set).

N/A patches for version.c:

vim-patch:8.1.2283: missed on use of p_sbr

Problem:    Missed on use of p_sbr.
Solution:   Add missing p_sbr change.
91e22eb6e0

Already ported in commit 43a874a.
2021-09-10 15:50:43 +01:00
Sean Dewar
f46341fa43 vim-patch:8.2.3400: ":z!" is not supported
Problem:    ":z!" is not supported.
Solution:   Make ":z!" work and add tests. (Dominique Pellé, closes vim/vim#8836)
            Use display height instead of current window height.
7f2dd1e90c
2021-09-10 15:35:19 +01:00
Sean Dewar
a73b7c2b16 vim-patch:8.2.3398: html text objects are not fully tested
Problem:    Html text objects are not fully tested.
Solution:   Add tests for dbcs encoding and different number of backslashes.
            (Dominique Pellé, closes vim/vim#8831)
af631f61bc

Cherry-pick Test_textobj_quote() and modeline from v8.2.0655.
2021-09-10 15:35:18 +01:00
Sean Dewar
c23e87d9d1 vim-patch:8.2.3386: using uninitialized memory
Problem:    Using uninitialized memory.
Solution:   Initialize the rm_ic field. (Dominique Pellé, closes vim/vim#8800)
a918712626
2021-09-10 15:35:18 +01:00
Sean Dewar
b3a97c56b6 vim-patch:8.2.3384: cannot disable modeline for an individual file
Problem:    Cannot disable modeline for an individual file.
Solution:   Recognize "nomodeline" in a modeline. (Hu Jialun, closes vim/vim#8798)
9dcd349ca8

Cherry-pick missing modeline for test_modeline.vim (heh) from v8.2.1432.
2021-09-10 15:35:18 +01:00
Sean Dewar
e8e2f73c3a vim-patch:8.2.3378: MS-Windows: completing environment variables with % is wrong
Problem:    MS-Windows: completing environment variables with % is wrong.
Solution:   Only complete environment variables with $. (Albert Liu,
            closes vim/vim#8791)
6024c0427c

The change itself in set_one_cmd_context() is N/A (it was never included
in Neovim to begin with).

N/A patches for version.c:

vim-patch:8.2.3379: crash when using NULL job

Problem:    Crash when using NULL job.
Solution:   Copy static string into buffer. (issue vim/vim#8260)
271906bc06
2021-09-10 15:35:15 +01:00
Ville Hakulinen
0dcfd0e8d1 fix(mouse.c): fix mouse drag positions on multigrid #12667
Currently, multigrid mouse drag positions are handled incorrectly if the
drag event is not in the top left grid. Fix this by not adjusting the
position of the event in jump_to_mouse.

related: #15091
2021-09-10 07:24:41 -07:00
dundargoc
3b3dbcf7b7 refactor: format files with uncrustify #15607 2021-09-10 06:14:15 -07:00
Christian Clason
aab3583e74 vim-patch:8.2.3399: Octave files are not recognized (#15622)
Problem:    Octave files are not recognized.
Solution:   Detect Octave files. (Doug Kearns)
deba5eb195
2021-09-10 14:01:13 +02:00
Christian Clason
2fe95cb1ad vim-patch:partial 2346a6378483 (#15599)
Update runtime files
2346a63784

omit doc/vim.man
omit doc/vim9.txt
omit doc/vimdiff.txt
omit doc/vimdiff.man

skip doc/eval.txt (missing patch 8.2.2324)
skip doc/help.txt (missing patch 8.2.2344)
2021-09-09 18:59:11 +02:00
Björn Linse
d80aac3b2a Merge pull request #15566 from bfredl/mpack
libs: vendor libmpack and libmpack-lua
2021-09-09 18:47:03 +02:00
Björn Linse
422198cde6 Merge pull request #15091 from yatli/mouse_drag_fix
fix #15075 (mouse crash in multigrid)
2021-09-09 17:37:59 +02:00
Björn Linse
ad8eda3f5b fix(ci): don't enrage the CI Gods by calling a file 'core.*' 2021-09-09 16:06:43 +02:00
Björn Linse
0f596665cc feat(lua): make vim.mpack support vim.NIL and vim.empty_dict() 2021-09-09 16:06:43 +02:00
Björn Linse
eaf661dacd feat(lua): add vim.mpack for msgpack support in lua 2021-09-09 16:06:43 +02:00
Björn Linse
2a08aeff1a fix(build): make vendored libmpack and libmpack-lua build properly 2021-09-09 16:06:43 +02:00
Björn Linse
4ef3c2c2c1 build: vendor libmpack/libmpack-lua sources from b593809d93b5299bbee4e1d18e2e2d55f9fa53a6 2021-09-09 16:06:43 +02:00
Björn Linse
c8f46480bc build: vendor libmpack source from libmpack/libmpack 22b1fd90285117c995728511f9525d29520a8c82 2021-09-09 16:06:43 +02:00
Justin M. Keyes
9f3679cbfd docs: naming conventions 2021-09-09 06:28:11 -07:00
Justin M. Keyes
69fe427df4 feat(lua)!: register_keystroke_callback => on_key
Analogous to nodejs's `on('data', …)` interface, here on_key is the "add
listener" interface.

ref 3ccdbc570d #12536

BREAKING_CHANGE: vim.register_keystroke_callback() is now an error.
2021-09-09 06:09:33 -07:00
Christian Clason
fbe88ef8f5 build: move src/nvim/xdiff to src/xdiff
Closes #11239
2021-09-08 22:34:54 +02:00
Christian Clason
69f4438d35 vim-patch:8.2.3390: included xdiff code is outdated
Problem:    Included xdiff code is outdated.
Solution:   Sync with xdiff in git 2.33. (Christian Brabandt, closes vim/vim#8431)
ba02e4720f
2021-09-08 22:33:20 +02:00
andrew-pa
9065730680 fix(windowing): positioning of relative floats
Fix relative floating windows so that they open in the correct position
relative to each other. Also make sure that their positions are correct
immediately after creation without a redraw.
2021-09-08 10:31:47 -06:00
Christian Clason
79cbbd5179 vim-patch:d2ea7cf10a4d #15571
Update runtime files
d2ea7cf10a

omit `runtime/doc/if_tcl.txt`
omit `runtime/doc/textprop.txt`
omit `runtime/tutor/*`
omit `runtime/syntax/vim.vim` (cherry-picked in 2dd7828511)

manual merge of `runtime/pack/dist/opt/termdebug/plugin/termdebug.vim`
2021-09-08 07:24:12 -07:00
Yatao Li
28ac6c00e6 fix(multigrid): #15075 mouse events crash neovim 2021-09-08 01:57:40 +08:00
Dundar Göc
1e49a1c888 refactor: format files with uncrustify 2021-09-07 19:07:51 +02:00
Jit
db695cc4ca fix(screen): missing search highlights when redrawing from timer #15380
* Revert "vim-patch:8.1.2294: cursor pos wrong with concealing and search causes a scroll"
* Add a test which covers #13074 910bbc3cca
  while reverting the screen.c code changes from there.

Fixes #14064
2021-09-06 15:18:33 -07:00
Björn Linse
7a0468e7ad Merge pull request #15569 from bfredl/end_fill
refactor(screen): let win_line() always handle fillers after last line
2021-09-05 17:45:46 +02:00
Ben Noordhuis
c9c9422af0 build: fix fpclassify -Wfloat-conversion warning #15570
Work around a glibc bug where it truncates the argument to fpclassify()
from double to float by implementing fpclassify() ourselves.

Correctness test (Note that the FP_SUBNORMAL test depends on an atof() that
knows how to parse subnormals. Glibc does, not sure about other libcs.):

    #include <math.h>
    #include <stdint.h>
    #include <string.h>

    int xfpclassify(double d)
    {
      uint64_t m;
      int e;

      memcpy(&m, &d, sizeof(m));
      e = 0x7ff & (m >> 52);
      m = 0xfffffffffffffULL & m;

      switch (e) {
        default: return FP_NORMAL;
        case 0x000: return m ? FP_SUBNORMAL : FP_ZERO;
        case 0x7ff: return m ? FP_NAN : FP_INFINITE;
      }
    }

    #include <assert.h>
    #include <stdlib.h>

    int main(void)
    {
      assert(FP_ZERO == xfpclassify(atof("0.0")));
      assert(FP_ZERO == xfpclassify(atof("-0.0")));
      assert(FP_NORMAL == xfpclassify(atof("1.0")));
      assert(FP_NORMAL == xfpclassify(atof("-1.0")));
      assert(FP_INFINITE == xfpclassify(atof("inf")));
      assert(FP_INFINITE == xfpclassify(atof("-inf")));
      assert(FP_NAN == xfpclassify(atof("nan")));
      assert(FP_NAN == xfpclassify(atof("-nan")));
      assert(FP_SUBNORMAL == xfpclassify(atof("1.8011670033376514e-308")));
      return 0;
    }
2021-09-05 07:37:25 -07:00
Björn Linse
274248c354 refactor(screen): let win_line() always handle fillers after last line 2021-09-05 11:22:45 +02:00
Dundar Göc
15af08ad17 refactor: update uncrustify config and format screen.c
Also set new option cmt_trailing_single_line_c_to_cpp to true. It
converts trailing, single-line c-comments (/**/) into cpp-comments (//).
2021-09-03 21:23:23 +02:00
Jason Cox
d3c6f1ebbb vim-patch:8.2.3393: escaping for fish shell is skipping some characters
Problem:    Escaping for fish shell is skipping some characters.
Solution:   Escape character after backslash if needed. (Jason Cox,
            closes vim/vim#8827)
6631597452
2021-09-02 13:07:29 -06:00
Jason Cox
85ba41a4b3 vim-patch:8.2.3385: escaping for fish shell does not work properly
Problem:    Escaping for fish shell does not work properly.
Solution:   Insert a backslash before a backslash. (Jason Cox, closes vim/vim#8810)
6e82351130
2021-09-02 13:07:29 -06:00
Justin M. Keyes
5f8518b3f0 fix(defaults): "syntax sync maxlines=1" on CmdwinEnter #15552
I mistakenly suggested maxlines=&cmdwinheight, forgetting that it is
calculated from topline, not cursor. maxlines=1 makes the most sense in
cmdwin.

ref #15401 622a36b1f1
2021-09-02 10:29:59 -07:00
Gregory Anders
622a36b1f1 feat(defaults): limit syntax cost on CmdwinEnter #15401
Add a new default autocommand to limit syntax highlighting
synchronization in the command window. This refactors the nvim_terminal
autocommand out of main() and into a new init_default_autocmds()
function, which is now part of the startup process and can be further
extended with more default autocommands down the road.

ref #6289 #6399
2021-09-02 04:17:04 -07:00
Justin M. Keyes
0603eba6e7 feat(api): nvim_get_chan_info: include "argv" for jobs #15537
ref #15440
2021-09-01 07:29:38 -07:00
Gregory Anders
3c081d0280 fix(jobwait): always drain process event queues #15402
Problem:
jobwait() returns early if the job was stopped, but the job might have
pending callbacks on its event queue which are required to complete its
teardown. State such as term->closed might not be updated yet (by the
pending callbacks), so codepaths such as :bdelete think the job is still
running.

Solution:
Always flush the job's event queue before returning from jobwait().

ref #15349
2021-08-31 06:53:06 -07:00
Gregory Anders
55defa1a41 fix(terminal): close without ! if the job is stopped
- If the terminal job is still running then ! is still required.

Closes #4683
2021-08-31 06:46:56 -07:00
Björn Linse
6f2d0ea311 fix(lua): make core vim module not dependent on $VIMRUNTIME functions
fixes #15524

Note: this is obviously a quickfix. A scalabe solution will
involve being able to specify a _list_ of modules to be
put into packages.preload, without needing to manually copypasta
a blurb of C code. Perhaps even involving bytecode for
static builds (to speedup initialization)
2021-08-30 17:31:44 +02:00
Xiao
b35de6c525 vim-patch:8.2.2938: after using motion force from feedkeys() it sticks (#15240)
Problem:    After using motion force from feedkeys() it may not be reset.
Solution:   Clear motion_force in clearop(). (closes vim/vim#8323)
21492743e8
2021-08-29 17:08:39 -04:00
Björn Linse
6896d22b63 fix(lua): preserve argument lists which are not lists 2021-08-29 16:04:50 +02:00