Commit Graph

8225 Commits

Author SHA1 Message Date
Florian Walch
598f69b05e vim-patch:7.4.491
Problem:    When winrestview() has a negative "topline" value there are
	    display errors.
Solution:   Correct a negative value to 1. (Hirohito Higashi)

https://code.google.com/p/vim/source/detail?r=v7-4-491
2014-12-23 21:17:00 +01:00
Florian Walch
12245f9f1f vim-patch:7.4.493
Problem:    A TextChanged autocommand is triggered when saving a file.
	    (William Gardner)
Solution:   Update last_changedtick after calling unchanged(). (Christian
	    Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-493
2014-12-23 21:17:00 +01:00
Florian Walch
75b7b04436 vim-patch:7.4.494
Problem:    Cursor shape is wrong after a CompleteDone autocommand.
Solution:   Update the cursor and mouse shape after ":normal" restores the
	    state. (Jacob Niehus)

https://code.google.com/p/vim/source/detail?r=v7-4-494
2014-12-23 21:16:56 +01:00
Florian Walch
2ba50a7846 vim-patch:7.4.499
Problem:    substitute() can be slow with long strings.
Solution:   Store a pointer to the end, instead of calling strlen() every
	    time. (Ozaki Kiichi)

https://code.google.com/p/vim/source/detail?r=v7-4-499
2014-12-23 21:15:31 +01:00
Florian Walch
a1c03c33b3 vim-patch:7.4.450
Problem:    Not all commands that edit another buffer support the +cmd
	    argument.
Solution:   Add the +cmd argument to relevant commands. (Marcin Szamotulski)

https://code.google.com/p/vim/source/detail?r=v7-4-450
2014-12-23 21:10:40 +01:00
Justin M. Keyes
4f6bb8a9a9 Merge pull request #1727 from fwalch/small-patches
vim-patch: Multiple small patches
2014-12-23 15:03:08 -05:00
Justin M. Keyes
44fabac4e0 Merge pull request #1724 from fwalch/vim-7.4.452
vim-patch:7.4.449, vim-patch:7.4.452
2014-12-23 14:50:36 -05:00
Justin M. Keyes
53b13d2a18 Merge pull request #1726 from fwalch/vim-7.4.447
vim-patch:7.4.447
2014-12-23 14:42:09 -05:00
Justin M. Keyes
e274c5f622 Merge pull request #1721 from fwalch/vim-7.4.395
vim-patch:7.4.395
2014-12-23 14:31:09 -05:00
Florian Walch
d5bdc709d0 vim-patch:7.4.447
Problem:    Spell files from Hunspell may generate a lot of errors.
Solution:   Add the IGNOREEXTRA flag.

https://code.google.com/p/vim/source/detail?r=v7-4-447
2014-12-23 16:14:46 +01:00
Florian Walch
c4e0cd4418 vim-patch:7.4.452
Problem:    Can't build with tiny features. (Tony Mechelynck)
Solution:   Use "return" instead of "break".

https://code.google.com/p/vim/source/detail?r=v7-4-452
2014-12-23 16:14:24 +01:00
Florian Walch
1e17904eb2 vim-patch:7.4.449
Problem:    Can't easily close the help window. (Chris Gaal)
Solution:   Add ":helpclose". (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-449
2014-12-23 16:14:24 +01:00
Florian Walch
1f73d7cb85 vim-patch:7.4.438
Problem:    Cached values for 'cino' not reset for ":set all&".
Solution:   Call parse_cino(). (Yukihiro Nakadaira)

https://code.google.com/p/vim/source/detail?r=v7-4-438
2014-12-23 16:13:31 +01:00
Florian Walch
2b9f11ac64 vim-patch:7.4.441
Problem:    Endless loop and other problems when 'cedit' is set to CTRL-C.
Solution:   Do not call ex_window() when ex_normal_busy or got_int was set.
	    (Yasuhiro Matsumoto)

https://code.google.com/p/vim/source/detail?r=v7-4-441
2014-12-23 16:13:30 +01:00
Florian Walch
2fefb5e7d3 vim-patch:7.4.458
Problem:    Issue 252: Cursor moves in a zero-height window.
Solution:   Check for zero height. (idea by Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-458
2014-12-23 16:13:30 +01:00
Florian Walch
0158539c77 vim-patch:7.4.468
Problem:    Issue 26: CTRL-C does not interrupt after it was mapped and then
	    unmapped.
Solution:   Reset mapped_ctrl_c. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-468
2014-12-23 16:13:30 +01:00
Florian Walch
1053f49ab0 vim-patch:7.4.395
Problem:    C indent is wrong below an if with wrapped condition followed by
	    curly braces. (Trevor Powell)
Solution:   Make a copy of tryposBrace.

https://code.google.com/p/vim/source/detail?r=v7-4-395
2014-12-23 10:27:05 +01:00
David Rodriguez
c824e7b2d2 vim-patch:7.4.311
Problem:    Can't use winrestview to only restore part of the view.
Solution:   Handle missing items in the dict. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-311
2014-12-23 10:13:13 +01:00
Marco Hinz
c3de63bfbc vim-patch:7.4.457 #1713
Problem:  Using getchar() in an expression mapping may result in
          K_CURSORHOLD, which can't be recognized.
Solution: Add the <CursorHold> key.  (Hirohito Higashi)

https://code.google.com/p/vim/source/detail?r=v7-4-457
2014-12-23 03:38:17 -05:00
Justin M. Keyes
bac6fb41b2 Merge pull request #1712 from fwalch/vim-7.4.456
vim-patch:7.4.456
2014-12-23 03:35:20 -05:00
Justin M. Keyes
0891cb2db8 coverity/74717: FP: NULL Pointer Dereference
dynamic_buffer_ensure() allocates buf->data; add an assert to make this
clear to coverity.
2014-12-23 03:21:00 -05:00
Justin M. Keyes
4e28e1aeb6 Merge pull request #1685 from justinmk/coverity74718
coverity/74718
2014-12-20 14:52:53 -05:00
Justin M. Keyes
22a681a2d5 coverity/74718: invalid FUNC_ATTR_NONNULL_ARG
- avoid null passed to ELOG format string
- receive (char *) internally
- modify identifier names for consistency
- edit comments for concision and consistency
2014-12-20 10:37:11 -05:00
Marco Hinz
7e31044cd8 vim-patch:7.4.456
Problem:  'backupcopy' is global, cannot write only some
          files in a different way.
Solution: Make 'backupcopy' global-local. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-456
2014-12-20 16:31:59 +01:00
Marco Hinz
7fc7f026ad vim-patch:7.4.455
Problem:  Completion for :buf does not use 'wildignorecase'. (Akshay H)
Solution: Pass the 'wildignorecase' flag around.

https://code.google.com/p/vim/source/detail?r=v7-4-455
2014-12-20 09:41:51 +01:00
Scott Prager
9c244c7303 vim-patch:7.4.390
Problem:    Advancing pointer over end of a string.
Solution:   Init quote character to -1 instead of zero. (Dominique Pelle)

https://code.google.com/p/vim/source/detail?r=v7-4-390
2014-12-19 18:57:46 -05:00
Scott Prager
0eb4c02778 vim-patch:7.4.355
Problem:    Several problems with Javascript indenting.
Solution:   Improve Javascript indenting.

https://code.google.com/p/vim/source/detail?r=v7-4-355
2014-12-19 18:57:45 -05:00
Scott Prager
12b3f49ea1 vim-patch:7.4.350
Problem:    Using C indenting for Javascript does not work well for a {} block
            inside parenthesis.
Solution:   When looking for a matching paren ignore one that is before the
            start of a {} block.

https://code.google.com/p/vim/source/detail?r=v7-4-350
2014-12-19 18:57:45 -05:00
Scott Prager
949fb9721f Doxygen find_match_paren(). 2014-12-19 18:57:45 -05:00
Michael Reed
a62fe49d3c Remove Amiga remnants
Notes regarding the removal of specific items:

  - Aztec C: only on the Amiga.
  - mch_check_win(): doesn't exist anymore.
  - Comment in ex_cmds.c: It seems the context for this comment was
    removed, but the comment was inadvertantly left alone.
2014-12-19 15:28:49 -05:00
Michael Reed
a5e1723bb1 Remove dec-mcs remnants
It was (apparently) the default character encoding file used for line
printing on VMS, which is unsupported.
2014-12-19 15:28:49 -05:00
Michael Reed
6f50fd6c35 Remove VMS remnants 2014-12-19 15:28:49 -05:00
Florian Walch
67f896562d vim-patch: Mark patches as NA. 2014-12-19 10:22:31 +01:00
Justin M. Keyes
943b063290 Merge pull request #1663 from philix/array_size
Define and use the ARRAY_SIZE macro
2014-12-19 02:23:26 -05:00
Justin M. Keyes
5df8bf077b Merge pull request #1704 from fwalch/vim-7.4.434
vim-patch:7.4.434, vim-patch:7.4.442
2014-12-19 01:35:42 -05:00
Justin M. Keyes
e47105c47d Merge pull request #1638 from Grimy/ex-drop
Reimplement :drop
2014-12-19 01:06:40 -05:00
Justin M. Keyes
b1cd16ab8d Merge pull request #1699 from three-comrades/fix-viminfo
Use a local viminfo file when running the old tests.
2014-12-19 00:32:28 -05:00
Florian Walch
3f7b8199df vim-patch:7.4.442
Problem:    Using unitinialized variable.
Solution:   Pass the first window of the tabpage.

https://code.google.com/p/vim/source/detail?r=v7-4-442
2014-12-18 21:22:46 +01:00
Florian Walch
815fe28450 vim-patch:7.4.434
Problem:    gettabvar() is not consistent with getwinvar() and getbufvar().
Solution:   Return a dict with all variables when the varname is empty.
	    (Yasuhiro Matsumoto)

https://code.google.com/p/vim/source/detail?r=v7-4-434
2014-12-18 21:22:40 +01:00
Felipe Oliveira Carvalho
478c99c128 Change the signature of utf_convert() (mbyte.c) to use ARRAY_SIZE 2014-12-18 15:41:37 -03:00
Felipe Oliveira Carvalho
2140f8f1f0 Change the signature of intable() (mbyte.c) to use ARRAY_SIZE 2014-12-18 15:41:37 -03:00
Felipe Oliveira Carvalho
8aeb2e37ee Use ARRAY_SIZE where Coccinelle wasn't able to do it 2014-12-18 15:41:37 -03:00
Felipe Oliveira Carvalho
3c857900fe Define and use the ARRAY_SIZE macro
A similar macro is defined in the Linux kernel [1].

To refactor the code I used a slightly modified Coccinelle script I found in
[2].

```diff
// Use the macro ARRAY_SIZE when possible
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU.  GPLv2.
// URL: http://www.emn.fr/x-info/coccinelle/rules/array.html
// Options: -I ... -all_includes can give more complete results

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(*E))
+ ARRAY_SIZE(E)

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(E[...]))
+ ARRAY_SIZE(E)

@@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@n@
identifier AS,E;
@@

- #define AS(E) ARRAY_SIZE(E)

@@
expression E;
identifier n.AS;
@@

- AS(E)
+ ARRAY_SIZE(E)
```

`spatch --in-place --sp-file array_size.cocci -I src/ -I build/include/ -I build/src/nvim/auto/ src/nvim/*.c`

[1] http://lxr.free-electrons.com/source/include/linux/kernel.h#L54
[2] http://www.emn.fr/z-info/coccinelle/rules/#macros
2014-12-18 15:41:37 -03:00
Florian Walch
c780075afa vim-patch:7.4.423
Problem:    expand("$shell") does not work as documented.
Solution:   Do not escape the $ when expanding environment variables.

https://code.google.com/p/vim/source/detail?r=v7-4-423
2014-12-18 15:41:27 +01:00
Victor Adam
4a3b3d2913 Reimplement :drop (vim-patch:0)
The :drop ex command was inadvertently removed when removing FEAT_GUI.
This patch reintroduces it.
2014-12-18 01:58:36 +01:00
Julian Mehne
84dda11ec3 Remove superfluous settings from legacy tests. 2014-12-18 00:50:17 +01:00
Julian Mehne
a8c926fc91 Use a local viminfo file when running the old tests.
This is required after defaulting to `nocp`, so that ~/.nviminfo
files don't interfere with the old legacy tests.
2014-12-17 23:32:56 +01:00
Eliseo Martínez
5394796fd3 Fix warnings: window.c: win_close_othertab(): Np dereference: FP.
Problem    : Dereference of null pointer @ 1980.
Diagnostic : False positive.
Rationale  : I haven't been able to find the real reason why this is
             signaled. Nonetheless, I've been able to track down the
             introduction of this warning to commit
             77135447e0.
             The change there affecting this function is just a
             transformation maintaining semantics. So, this must be a
             FP, though I can't explain why.
             Analyzer thinks `win->w_buffer` can be null in line 1980,
             following an error path assuming win->w_buffer null at line
             1819. Given that `win_close` function was not modified by
             mentioned commit, I don't understand why this path is
             analyzed after the changes, but not before them. Or if it's
             analyzed, why it's discarded before changes but not after
             them. I don't see anything in changes to
             `close_last_window_tabpage` that should affect to
             being able to deduce `win->w_buffer` is not null.
Resolution : Assert buffer not null in `win_close_othertab`.
             Function comments state that passed window should have a
             buffer that can be hidden, which implies there should be a
             buffer.
             Reverting changes to `close_last_window_tabpage` in
             mentioned commit would be another way to fix this (tried
             and worked).
             But assert is preferred in this case because flat style
             reads better and we have some other way to fix it.
2014-12-17 22:10:53 +01:00
Eliseo Martínez
885661d25b Fix warnings: syntax.c: get_id_list(): Double free: FP.
Problem    : Double free @ 5213.
Diagnostic : False positive.
Rationale  : I haven't been able to find the real reason why this is
             signaled. Nonetheless, I've been able to track down the
             introduction of this warning to commit
             77135447e0.
             The change there affecting this function is just a
             transformation maintaining semantics. So, this must be a
             FP, though I can't explain why.
Resolution : Revert changes in mentioned commmit touching this function.
2014-12-17 22:10:14 +01:00
Eliseo Martínez
693da00920 Fix warnings: option.c: makeset()/put_setnum(): Various (3): FP.
Problems   : Dereference of null pointer @ 6251.
             Dereference of null pointer @ 6267.
             Dereference of null pointer @ 6351.
Diagnostic : False positive.
Rationale  : Problems occur if varp is null after
             `varp = get_varp_scope(p, opt_flags);`.
             That can only happen if option is hidden. Those are options
             that can be set (for backwards compatibility reasons) but
             that do nothing (see `:h hidden-options`,
             `:h missing-options`). In particular, even if setting them
             is allowed, value is not stored, so these options have no
             real value.
             So, suggested error paths should not occur, as checks
             comparing option value and default value should discard
             them.
Resolution : We could just `assert(varp)` before line 6235
             `varp_local = varp;`. That was tried and worked.
             But we prefer modifying the code to explicitly skip hidden
             options.
             A redundant `!istermoption(p)` is removed too (it's already
             checked by for loop condition).
2014-12-17 21:45:01 +01:00