Skip to content

Commit 13d5aee

Browse files
committed
Update runtime files
1 parent 5f8a14b commit 13d5aee

13 files changed

Lines changed: 916 additions & 518 deletions

File tree

runtime/autoload/csscomplete.vim

Lines changed: 733 additions & 422 deletions
Large diffs are not rendered by default.

runtime/doc/develop.txt

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*develop.txt* For Vim version 7.4. Last change: 2014 Mar 27
1+
*develop.txt* For Vim version 7.4. Last change: 2016 Jan 19
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -166,12 +166,27 @@ This list is not complete. Look in the source code for more examples.
166166
MAKING CHANGES *style-changes*
167167

168168
The basic steps to make changes to the code:
169-
1. Adjust the documentation. Doing this first gives you an impression of how
169+
1. Get the code from github. That makes it easier to keep your changed
170+
version in sync with the main code base (it may be a while before your
171+
changes will be included). You do need to spend some time learning git,
172+
it's not the most user friendly tool.
173+
2. Adjust the documentation. Doing this first gives you an impression of how
170174
your changes affect the user.
171-
2. Make the source code changes.
172-
3. Check ../doc/todo.txt if the change affects any listed item.
173-
4. Make a patch with "diff -c" against the unmodified code and docs.
174-
5. Make a note about what changed and include it with the patch.
175+
3. Make the source code changes.
176+
4. Check ../doc/todo.txt if the change affects any listed item.
177+
5. Make a patch with "git diff". You can also create a pull request on
178+
github, but it's the diff that matters.
179+
6. Make a note about what changed, preferably mentioning the problem and the
180+
solution. Send an email to the vim-dev maillist with an explanation and
181+
include the diff. Or create a pull request on github.
182+
183+
184+
C COMPILER *style-compiler*
185+
186+
The minimal C compiler version supported is C89, also known as ANSI C.
187+
Later standards don't add much and C89 is the widest supported.
188+
189+
One restriction that this implies: no // comments, only /* comments */.
175190

176191

177192
USE OF COMMON FUNCTIONS *style-functions*
@@ -197,7 +212,7 @@ NAMES *style-names*
197212

198213
Function names can not be more than 31 characters long (because of VMS).
199214

200-
Don't use "delete" as a variable name, C++ doesn't like it.
215+
Don't use "delete" or "this" as a variable name, C++ doesn't like it.
201216

202217
Because of the requirement that Vim runs on as many systems as possible, we
203218
need to avoid using names that are already defined by the system. This is a
@@ -288,6 +303,24 @@ OK: do
288303
a = 1;
289304
while (cond);
290305

306+
Wrong: if (cond) {
307+
cmd;
308+
cmd;
309+
} else {
310+
cmd;
311+
cmd;
312+
}
313+
314+
OK: if (cond)
315+
{
316+
cmd;
317+
cmd;
318+
}
319+
else
320+
{
321+
cmd;
322+
cmd;
323+
}
291324

292325
Functions start with:
293326

@@ -299,9 +332,9 @@ OK: /*
299332
* Return value explanation.
300333
*/
301334
int
302-
function_name(arg1, arg2)
303-
int arg1; /* short comment about arg1 */
304-
int arg2; /* short comment about arg2 */
335+
function_name(
336+
int arg1, /* short comment about arg1 */
337+
int arg2) /* short comment about arg2 */
305338
{
306339
int local; /* comment about local */
307340

runtime/doc/eval.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*eval.txt* For Vim version 7.4. Last change: 2016 Jan 17
1+
*eval.txt* For Vim version 7.4. Last change: 2016 Jan 21
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -103,6 +103,9 @@ When mixing Number and Float the Number is converted to Float. Otherwise
103103
there is no automatic conversion of Float. You can use str2float() for String
104104
to Float, printf() for Float to String and float2nr() for Float to Number.
105105

106+
*E891* *E892* *E893* *E894*
107+
When expecting a Float a Number can also be used, but nothing else.
108+
106109
*E706* *sticky-type-checking*
107110
You will get an error if you try to change the type of a variable. You need
108111
to |:unlet| it first to avoid this error. String and Number are considered
@@ -3601,7 +3604,8 @@ getftype({fname}) *getftype()*
36013604
getftype("/home")
36023605
< Note that a type such as "link" will only be returned on
36033606
systems that support it. On some systems only "dir" and
3604-
"file" are returned.
3607+
"file" are returned. On MS-Windows a symbolic link to a
3608+
directory returns "dir" instead of "link".
36053609

36063610
*getline()*
36073611
getline({lnum} [, {end}])
@@ -5893,6 +5897,9 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
58935897
sorted numerical. This is like 'n' but a string containing
58945898
digits will be used as the number they represent.
58955899

5900+
When {func} is given and it is 'f' then all items will be
5901+
sorted numerical. All values must be a Number or a Float.
5902+
58965903
When {func} is a |Funcref| or a function name, this function
58975904
is called to compare items. The function is invoked with two
58985905
items as argument and must return zero if they are equal, 1 or

runtime/doc/index.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*index.txt* For Vim version 7.4. Last change: 2016 Jan 10
1+
*index.txt* For Vim version 7.4. Last change: 2016 Jan 19
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1539,14 +1539,14 @@ tag command action ~
15391539
|:tabdo| :tabdo execute command in each tab page
15401540
|:tabedit| :tabe[dit] edit a file in a new tab page
15411541
|:tabfind| :tabf[ind] find file in 'path', edit it in a new tab page
1542-
|:tabfirst| :tabfir[st] got to first tab page
1543-
|:tablast| :tabl[ast] got to last tab page
1542+
|:tabfirst| :tabfir[st] go to first tab page
1543+
|:tablast| :tabl[ast] go to last tab page
15441544
|:tabmove| :tabm[ove] move tab page to other position
15451545
|:tabnew| :tabnew edit a file in a new tab page
15461546
|:tabnext| :tabn[ext] go to next tab page
15471547
|:tabonly| :tabo[nly] close all tab pages except the current one
15481548
|:tabprevious| :tabp[revious] go to previous tab page
1549-
|:tabrewind| :tabr[ewind] got to first tab page
1549+
|:tabrewind| :tabr[ewind] go to first tab page
15501550
|:tabs| :tabs list the tab pages and what they contain
15511551
|:tab| :tab create new tab when opening new window
15521552
|:tag| :ta[g] jump to tag

runtime/doc/quickfix.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*quickfix.txt* For Vim version 7.4. Last change: 2015 Dec 31
1+
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jan 21
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar

runtime/doc/tags

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2948,6 +2948,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
29482948
:syn-files syntax.txt /*:syn-files*
29492949
:syn-fold syntax.txt /*:syn-fold*
29502950
:syn-include syntax.txt /*:syn-include*
2951+
:syn-iskeyword syntax.txt /*:syn-iskeyword*
29512952
:syn-keepend syntax.txt /*:syn-keepend*
29522953
:syn-keyword syntax.txt /*:syn-keyword*
29532954
:syn-lc syntax.txt /*:syn-lc*
@@ -4417,6 +4418,10 @@ E888 pattern.txt /*E888*
44174418
E889 map.txt /*E889*
44184419
E89 message.txt /*E89*
44194420
E890 syntax.txt /*E890*
4421+
E891 eval.txt /*E891*
4422+
E892 eval.txt /*E892*
4423+
E893 eval.txt /*E893*
4424+
E894 eval.txt /*E894*
44204425
E90 message.txt /*E90*
44214426
E91 options.txt /*E91*
44224427
E92 message.txt /*E92*
@@ -8134,6 +8139,7 @@ strstr() eval.txt /*strstr()*
81348139
strtrans() eval.txt /*strtrans()*
81358140
strwidth() eval.txt /*strwidth()*
81368141
style-changes develop.txt /*style-changes*
8142+
style-compiler develop.txt /*style-compiler*
81378143
style-examples develop.txt /*style-examples*
81388144
style-functions develop.txt /*style-functions*
81398145
style-names develop.txt /*style-names*

runtime/doc/todo.txt

Lines changed: 64 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*todo.txt* For Vim version 7.4. Last change: 2016 Jan 17
1+
*todo.txt* For Vim version 7.4. Last change: 2016 Jan 21
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -75,6 +75,12 @@ Regexp problems:
7575
- The pattern "\1" with the old engine gives E65, with the new engine it
7676
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
7777
- Search for \\~ causes error E874.
78+
- "\%1l^#.*" does not match on a line starting with "#". The zero-width match
79+
clears the start-of-line flag.
80+
81+
C89: remove __ARGS in more places
82+
- Script: Hirohito Higashi, Jan 21.
83+
- Update to osdef.sh, Hirohito Higashi, 2016 Jan 21.
7884

7985
Need to try out instructions in INSSTALLpc.txt about how to install all
8086
interfaces and how to build Vim with them.
@@ -90,6 +96,11 @@ work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
9096

9197
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
9298

99+
Use vim.vim syntax highlighting for help file examples, but without ":" in
100+
'iskeyword' for syntax.
101+
102+
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
103+
93104
Installation of .desktop files does not work everywhere.
94105
It's now fixed, but the target directory probably isn't right.
95106
Add configure check?
@@ -103,6 +114,11 @@ Access to uninitialized memory in match_backref() regexp_nda.c:4882
103114
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
104115
directory exists. (Sergio Gallelli, 2013 Dec 29)
105116

117+
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
118+
More tests May 14. Update May 29. Update Aug 10.
119+
Now part of large file patches. (Ken Takata, 2016 Jan 19, second one)
120+
Updated patches with ordering: Jan 20.
121+
106122
Using ":windo" to set options in all windows has the side effect that it
107123
changes the window layout and the current window. Make a variant that saves
108124
and restores. Use in the matchparen plugin.
@@ -118,6 +134,8 @@ Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
118134
Unexpected delay when using CTRL-O u. It's not timeoutlen.
119135
(Gary Johnson, 2015 Aug 28)
120136

137+
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
138+
121139
Instead of separately uploading patches to the ftp site, we can get them from
122140
github with a URL like this:
123141
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
@@ -152,19 +170,14 @@ Can we cache the syntax attributes, so that updates for 'relativenumber' and
152170
Build with Python on Mac does not always use the right library.
153171
(Kazunobu Kuriyama, 2015 Mar 28)
154172

155-
Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
156-
Need a Vim equivalent of None and a way to test for it.
173+
Need a Vim equivalent of Python's None and a way to test for it.
157174

158175
To support Thai (and other languages) word boundaries, include the ICU
159176
library: http://userguide.icu-project.org/boundaryanalysis
160177

161178
When complete() first argument is before where insert started and 'backspace'
162179
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
163180

164-
Patch to fix bug in searchpair(). (Christian Brabandt, 2016 Jan 11)
165-
Problem reported by David Fishburn, using searchpair() with synID() used in
166-
the skip expression.
167-
168181
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
169182
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
170183

@@ -174,14 +187,6 @@ Goes away when disabling the swap file. (might1, Feb 16)
174187
MS-Windows: Crash opening very long file name starting with "\\".
175188
(Christian Brock, 2012 Jun 29)
176189

177-
Patch to add ":syn iskeyword". (Christian Brabandt, 2015 Nov 10)
178-
179-
Patch to use PLATFORM to determine target architecture. (Taro Muraoka, 2015
180-
Nov 29)
181-
182-
If libiconv.dll is not found search for libiconv2.dll. (Yasuhiro Matsumoto,
183-
2015 Oct 7)
184-
185190
Using an external diff is inefficient. Not all systems have a good diff
186191
program available (esp. MS-Windows). Would be nice to have in internal diff
187192
implementation. Can then also use this for displaying changes within a line.
@@ -199,9 +204,6 @@ effects for when set by the user, on init and when reset to default.
199204
The argument for "-S" is not taken literally, the ":so" command expands
200205
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
201206

202-
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
203-
30)
204-
205207
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
206208
Update Aug 14.
207209

@@ -321,10 +323,6 @@ Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
321323
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
322324
2015 Feb 6.
323325

324-
Plugins need to make a lot of effort, lots of mappings, to know what happened
325-
before pressing the key that triggers a plugin action. How about keeping the
326-
last N pressed keys, so that they do not need to be mapped?
327-
328326
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
329327
Is this a good solution?
330328

@@ -410,9 +408,6 @@ Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
410408
Saito, 2013 Apr 24) Has a problem (email 2015 Jan 7).
411409
Update 2015 Jan 10.
412410

413-
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
414-
More tests May 14. Update May 29. Update Aug 10.
415-
416411
Idea: For a window in the middle (has window above and below it), use
417412
right-mouse-drag on the status line to move a window up/down without changing
418413
its height? It's like dragging the status bar above it at the same time.
@@ -438,11 +433,13 @@ Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
438433
2014 Jun 8)
439434

440435
Include a plugin manager with Vim? Neobundle seems to be the best currently.
436+
Also Vundle: https://github.com/gmarik/vundle
441437
Long message about this from ZyX, 2014 Mar 23. And following replies.
442438
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
443439
User view:
444-
- Support multiple sources, basically any http:// URL. Be able to look into
445-
the files before deciding to install.
440+
- Support multiple sources, basically any http:// URL. Or a central place that
441+
will work for everybody (github? redirects from vim.org?).
442+
Be able to look into the files before deciding to install.
446443
- Be able to try out a plugin and remove it again with (almost) no traces.
447444
- Each plugin needs a "manifest" file that has the version, dependencies
448445
(including Vim version and features), conflicts, list of files, etc.
@@ -1113,6 +1110,14 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
11131110
Winckler, 2011 May 11)
11141111
Requires a map mode for Insert mode started from blockwise Visual mode.
11151112

1113+
Use json format for new items in .viminfo:
1114+
|["info","any info"]
1115+
|["text","text text text"
1116+
|"continuation line"]
1117+
|["hist",242342342,{"arg":"value"}]
1118+
Use \" for a single ". Use \\ for a \.
1119+
See http://www.ietf.org/rfc/rfc4627.txt
1120+
11161121
Writing nested List and Dict in viminfo gives error message and can't be read
11171122
back. (Yukihiro Nakadaira, 2010 Nov 13)
11181123

@@ -2130,10 +2135,37 @@ Add an option for a minimal text length before inserting a line break for
21302135
(Kartik Agaram)
21312136

21322137

2133-
At next release:
2134-
- Build a huge version by default.
2135-
- Improve plugin handling: Automatic updates, handle dependencies?
2136-
E.g. Vundle: https://github.com/gmarik/vundle
2138+
Better plugin support (not plugin manager, see elsewhere for that):
2139+
- Add interface to another process, e.g. to run a background plugin.
2140+
Can use the code from netbeans to communicate over a socket.
2141+
A bit like +clientserver but without the hassle of starting another Vim.
2142+
Use json for the messages.
2143+
let handle = startjob({command}) # uses stdin/stdout
2144+
let handle = startjob({command}, {address}) # uses socket
2145+
let handle = connect({address}) # uses socket
2146+
let handle = deamon({command}, {address}) # start it if connect fails
2147+
let response = sendjson(handle, {json}) # sync
2148+
call sendjson(handle, {json}, {callback}) # async
2149+
call sethandler(handle, {callback})
2150+
The response json is wrapped in an array:
2151+
[{code},{response}]
2152+
{code} must be positive, when zero the callback from sethandler() is called
2153+
The job can send Vim commands that do not require a handler:
2154+
['ex', {Ex command}]
2155+
['normal', {Normal mode command}]
2156+
['keys', {condition}, {key sequence}]
2157+
['eval', {expression}] sync, will send back result
2158+
['expr', {expression}] async
2159+
- Native JSON support (to be able to commucate with any interface in the same
2160+
way).
2161+
- Avoid use of feedkeys, add eval functions where needed:
2162+
- manipulating the Visual selection?
2163+
- Add createmark(): add a mark like mM, but return a unique ID. Need some way
2164+
to clean them up again... Use a name + the script ID.
2165+
Add createmark( , 'c') to track inserts/deletes before the column.
2166+
- Plugins need to make a lot of effort, lots of mappings, to know what
2167+
happened before pressing the key that triggers a plugin action. How about
2168+
keeping the last N pressed keys, so that they do not need to be mapped?
21372169

21382170

21392171
More patches:
@@ -3482,10 +3514,7 @@ Syntax highlighting:
34823514
one is contained in. Like "keepend" but specified on the contained item,
34833515
instead of the containing item.
34843516
8 cpp.vim: In C++ it's allowed to use {} inside ().
3485-
8 Some syntax files set 'iskeyword'. When switching to another filetype
3486-
this isn't reset. Add a special keyword definition for the syntax rules?
3487-
When this is done, use vim.vim syntax highlighting for help file examples,
3488-
but without ":" in 'iskeyword' for syntax.
3517+
8 Some syntax files set 'iskeyword', they should use "syn iskeyword".
34893518
Also need a separate 'iskeyword' for the command line, e.g., in a help
34903519
window ":e /asdf/asdf/" CTRL-W works different.
34913520
8 Add specific syntax item to match with parens/braces that don't have a

0 commit comments

Comments
 (0)