Commit Graph

550 Commits

Author SHA1 Message Date
Jan Edmund Lazo
a122f6c6d4 vim-patch:8.2.0560: compiler warning in tiny build
Problem:    Compiler warning in tiny build.
Solution:   Move declaration inside #ifdef. (Dominique Pelle, closes vim/vim#5915)
2196bce56f
2020-04-12 16:04:51 -04:00
Will Eccles
87d892afa0 vim-patch:8.1.0864 Make 'scrolloff' and 'sidescrolloff' options window local (#11854)
Problem: cannot have a local value for 'scrolloff' and 'sidescrolloff'

Author: Bram Moolenar

375e339007
2020-03-17 20:05:34 +01:00
Jan Edmund Lazo
d846f47cc8 vim-patch:8.1.0881: can execute shell commands in rvim through interfaces
Problem:    Can execute shell commands in rvim through interfaces.
Solution:   Disable using interfaces in restricted mode. Allow for writing
            file with writefile(), histadd() and a few others.
8c62a08faf
2020-03-01 20:02:09 -05:00
Jan Edmund Lazo
acc5fd9fac vim-patch:8.1.0043: ++bad argument of :edit does not work properly
Problem:    ++bad argument of :edit does not work properly.
Solution:   Return FAIL from get_bad_opt() only when there is no valid
            argument. (Dominique Pelle, Christian Brabandt, closes vim/vim#2966,
            closes vim/vim#2947)
7580849df9
2020-02-16 09:38:15 -05:00
Jan Edmund Lazo
18d86283b0 vim-patch:8.0.1660: the terminal API "drop" command doesn't support options
Problem:    The terminal API "drop" command doesn't support options.
Solution:   Implement the options.
333b80acf3
2020-02-16 09:38:14 -05:00
Jan Edmund Lazo
7955c05acc vim-patch:8.1.1201: output of :command is hard to read
Problem:    Output of :command is hard to read.
Solution:   Make some columns wider, some narrower.  Truncate the command when
            listing all.
725310d89e
2020-02-16 07:49:44 -05:00
Jan Edmund Lazo
986eafce47 vim-patch:8.1.2187: error for bad regexp even though regexp is not used
Problem:    Error for bad regexp even though regexp is not used when writing
            a file. (Arseny Nasokin)
Solution:   Ignore regexp errors. (closes vim/vim#5059)
b40c2576d4
2020-02-16 07:49:44 -05:00
Jakub Łuczyński
5e815edece rename: user_funcs -> userfunc
Lets stick with vim for now
2020-02-13 14:11:55 +01:00
Jakub Łuczyński
d50c1123d5 fix: includes 2020-02-13 14:11:53 +01:00
Justin M. Keyes
75e8562249 refactor: move session functions to ex_session.c 2020-01-28 00:22:14 -08:00
Justin M. Keyes
1c3ca4f18f mksession: always unix slashes "/" for filepaths 2020-01-26 17:30:47 -08:00
Justin M. Keyes
c4f4719ced cleanup/ex_docmd.c: remove most put_eol() calls 2020-01-26 17:13:00 -08:00
Justin M. Keyes
9048627806 lint 2020-01-26 17:13:00 -08:00
Justin M. Keyes
2070c082b5 cleanup/ex_docmd.c: remove most put_line() calls
- prefer fprintf() instead of put_line()
- PUTLINE_FAIL macro to avoid some boilerplate
2020-01-26 17:13:00 -08:00
Justin M. Keyes
2c1d12d0be mksession: always write LF "\n" line-endings
- remove `MKSESSION_NL`, `mksession_nl`
- deprecate the "unix" flag of 'sessionoptions'

There is no reason to choose CRLF or LF for session files. Instead just
always write LF.
2020-01-26 17:13:00 -08:00
Justin M. Keyes
598a1cd7c5 mksession: avoid ":file …" when restoring non-terminal bufs 2020-01-26 17:13:00 -08:00
Justin M. Keyes
1e103b3c12 mksession: simplify generated commands
Doing ":file …" immediately after is enough to fixup the :terminal
buffer name.

ref #5250
2020-01-26 17:13:00 -08:00
Alexandre Dubray
cf67f19ac2 mksession: restore same :term buf in split windows
Problem: When session-restore creates a terminal buffer with command
         like `:edit term://.//16450:/bin/bash`, the buffer gets
         a different name (depends on PID). Thus the later call to
         `bufexists('term://.//16450:/bin/bash)` will return false.
Solution: Force the buffer name with :file. This as least ensures
         the same buffer will show in multiple windows correctly, as
         expected when saving the session.  But it still has problems:
           1. the PID in the buffer name is bogus
           2. redundant :terminal buffers still hang around

fix #5250
2020-01-26 17:13:00 -08:00
butwerenotthereyet
f245c0218a tabpage: "tabnext #" switches to previous tab #11734 2020-01-20 15:14:51 -08:00
We're Yet
8e385eb46a tabpage: :tabs indicates previous tabpage's curwin 2020-01-19 14:30:12 -08:00
Jan Edmund Lazo
45759e44f9 Remove (void) hacks, Mark unused attrs 2020-01-08 01:08:55 -05:00
Jan Edmund Lazo
23dbe73585 ex_docmd: fix pvs/v781 2019-12-26 00:29:15 -05:00
Jan Edmund Lazo
9e6ebed6f4 vim-patch:8.2.0013: not using a typedef for condstack
Problem:    Not using a typedef for condstack.
Solution:   Add a typedef.
ddef129160
2019-12-16 20:36:11 -05:00
Justin M. Keyes
c34130d13a API: deprecate nvim_command_output 2019-12-02 20:52:06 -08:00
Justin M. Keyes
b1991f66d5 API: rename nvim_source => nvim_exec
- Eliminate nvim_source_output(): add boolean `output` param to
  nvim_exec() instead.
2019-12-01 22:35:15 -08:00
Jan Edmund Lazo
90f2b13604 vim-patch:8.1.2349: :lockvar and :unlockvar cannot be followed by "| endif"
Problem:    :lockvar and :unlockvar cannot be followed by "| endif".
Solution:   Check for following commands. (closes vim/vim#5269)
cc4423ae13
2019-11-26 20:41:51 -05:00
Jan Edmund Lazo
f196ab87a1 vim-patch:8.1.2348: :const cannot be followed by "| endif"
Problem:    :const cannot be followed by "| endif".
Solution:   Check following command for :const. (closes vim/vim#5269)
            Also fix completion after :const.
8f76e6b12b
2019-11-26 20:38:59 -05:00
Jan Edmund Lazo
7a0a2eb310 vim-patch:8.1.1732: completion in cmdwin does not work for buffer-local commands
Problem:    Completion in cmdwin does not work for buffer-local commands.
Solution:   Use the right buffer. (closes vim/vim#4711)
f03e328348
2019-11-24 23:37:10 -05:00
Justin M. Keyes
54402d6b8f Merge #11340 'Factor out parse_one_cmd()'
This will allow us to reuse the parsing logic elsewhere, namely for
'inccommand' logic, so we don't need to duplicate it for changes such as the
repeated colon fix in #11319.
2019-11-17 15:53:30 -08:00
Jan Edmund Lazo
d79164c9f9 vim-patch:8.1.0992: :normal resets reg_executing() result #11398
Problem:    A :normal command while executing a register resets the
            reg_executing() result.
Solution:   Save and restore reg_executing. (closes vim/vim#4066)
cce713ddcc
2019-11-16 00:34:25 -08:00
Rob Pilling
63abe3ca19 Factor out parse_one_cmd()
This will allow us to reuse the parsing logic elsewhere,
namely for inccommand logic.
2019-11-13 21:05:47 +00:00
Jan Edmund Lazo
c512dffb55 vim-patch:8.1.0266: parsing Ex address range is not a separate function
Problem:    Parsing Ex address range is not a separate function.
Solution:   Refactor do_one_cmd() to separate address parsing.
ee8415bc59
2019-11-13 20:59:21 +00:00
Jan Edmund Lazo
6e42eb4dc9 vim-patch:8.1.0324: off-by-one error in cmdidx check
Problem:    Off-by-one error in cmdidx check. (Coverity)
Solution:   Use ">=" instead of ">".
74c8be2c68

Fix pvs/v557.
2019-11-09 09:58:33 -05:00
Rob Pilling
36b4191e41 Document skip_colon_white() 2019-10-31 23:21:14 +00:00
Rob Pilling
1c7aa11312 Allow multiple leading colons before and after modifiers for 'inccommand' 2019-10-31 19:16:52 +00:00
Rob Pilling
3b3d217754 Factor out skip_colon_white() 2019-10-31 19:16:52 +00:00
Jaehwang Jerry Jung
034077ed1c vim-patch:8.1.2173: searchit() has too many arguments
Problem:    Searchit() has too many arguments.
Solution:   Move optional arguments to a struct.  Add the "wrapped" argument.
92ea26b925
2019-10-27 03:35:19 +09:00
Jan Edmund Lazo
5e02bd071e vim-patch:8.1.0288: quickfix code uses cmdidx too often
Problem:    Quickfix code uses cmdidx too often.
Solution:   Add is_loclist_cmd(). (Yegappan Lakshmanan)
396659592f
2019-10-23 01:33:16 -04:00
Jan Edmund Lazo
c067efa696 vim-patch:8.1.2197: ExitPre autocommand may cause accessing freed memory
Problem:    ExitPre autocommand may cause accessing freed memory.
Solution:   Check the window pointer is still valid. (closes vim/vim#5093)
34ba06b6e6
2019-10-21 07:34:06 -04:00
Jurica Bradaric
0586a4b512 vim-patch:8.1.1588: in :let-heredoc line continuation is recognized
Problem:    In :let-heredoc line continuation is recognized.
Solution:   Do not consume line continuation. (Ozaki Kiichi, closes vim/vim#4580)
e96a2498f9
2019-10-07 14:14:13 +02:00
Justin M. Keyes
93bceac9bd Merge #11157 from janlazo/vim-8.1.2113
vim-patch:8.1.{59, 586, 2113}
2019-10-06 12:32:27 -07:00
Jan Edmund Lazo
d1abd6513e vim-patch:8.1.0586: :digraph output is not easy to read
Problem:    :digraph output is not easy to read.
Solution:   Add highlighting for :digraphs. (Marcin Szamotulski, closes vim/vim#3572)
            Also add section headers for :digraphs!.
eae8ae1b2b
2019-10-06 09:43:39 -04:00
Jurica Bradarić
fe074611cd vim-patch:8.1.1371: cannot recover from a swap file #11081
Problem:    Cannot recover from a swap file.
Solution:   Do not expand environment variables in the swap file name.
            Do not check the extension when we already know a file is a swap
            file.  (Ken Takata, closes 4415, closes vim/vim#4369)
99499b1c05
2019-10-05 20:35:48 -07:00
Jan Edmund Lazo
655085204e vim-patch:8.1.0230: directly checking 'buftype' value
Problem:    Directly checking 'buftype' value.
Solution:   Add the bt_normal() function. (Yegappan Lakshmanan)
91335e5a67
2019-10-01 22:27:45 -04:00
Jan Edmund Lazo
b853b6e4ea vim-patch:8.0.1109: timer causes error on exit from Ex mode
Problem:    Timer causes error on exit from Ex mode. (xtal8)
Solution:   save and restore the ex_pressedreturn flag. (Christian Brabandt,
            closes vim/vim#2079)
f5291f301e
2019-09-21 08:43:07 -04:00
Justin M. Keyes
6aae0e7c94 lint 2019-09-13 19:29:25 -07:00
Justin M. Keyes
3344cffe7b getdigits: introduce strict, def parameters
Problem:
During a refactor long ago, we changed the `getdigits_*` familiy of
functions to abort on overflow.  But this is often wrong, because many
of these codepaths are handling user input.

Solution:
Decide at each call-site whether to use "strict" mode.

fix #5555
2019-09-13 19:29:25 -07:00
Jan Edmund Lazo
6508215b5c Remove excess <stdint.h> 2019-09-11 22:27:45 -04:00
Björn Linse
f72c7b0b3a messages: batch draw :map 2019-09-08 15:24:14 +02:00
Jan Edmund Lazo
a96b3677c6 vim-patch:8.1.1988: :startinsert! does not work the same way as "A"
Problem:    :startinsert! does not work the same way as "A".
Solution:   Use the same code to move the cursor. (closes vim/vim#4896)
8d3b51084a
2019-09-06 23:27:14 -04:00