summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Contents8
-rw-r--r--Filelist8
-rw-r--r--README_amisrc.txt2
-rw-r--r--README_bindos.txt2
-rw-r--r--README_lang.txt2
-rw-r--r--README_os2.txt2
-rw-r--r--README_src.txt2
-rw-r--r--README_srcdos.txt2
-rw-r--r--README_unix.txt2
-rw-r--r--README_vms.txt2
-rw-r--r--runtime/autoload/ccomplete.vim73
-rw-r--r--runtime/doc/arabic.txt2
-rw-r--r--runtime/doc/eval.txt2
-rw-r--r--runtime/doc/farsi.txt2
-rw-r--r--runtime/doc/filetype.txt10
-rw-r--r--runtime/doc/getscript.txt6
-rw-r--r--runtime/doc/hebrew.txt2
-rw-r--r--runtime/doc/howto.txt2
-rw-r--r--runtime/doc/intro.txt2
-rw-r--r--runtime/doc/os_amiga.txt2
-rw-r--r--runtime/doc/os_dos.txt2
-rw-r--r--runtime/doc/os_win32.txt2
-rw-r--r--runtime/doc/pattern.txt2
-rw-r--r--runtime/doc/pi_spec.txt2
-rw-r--r--runtime/doc/quickfix.txt18
-rw-r--r--runtime/doc/quotes.txt2
-rw-r--r--runtime/doc/remote.txt2
-rw-r--r--runtime/doc/repeat.txt2
-rw-r--r--runtime/doc/scroll.txt2
-rw-r--r--runtime/doc/spell.txt2
-rw-r--r--runtime/doc/sql.txt2
-rw-r--r--runtime/doc/starting.txt2
-rw-r--r--runtime/doc/syntax.txt2
-rw-r--r--runtime/doc/tagsrch.txt2
-rw-r--r--runtime/doc/todo.txt34
-rw-r--r--runtime/doc/usr_01.txt2
-rw-r--r--runtime/doc/usr_04.txt2
-rw-r--r--runtime/doc/usr_05.txt7
-rw-r--r--runtime/doc/usr_06.txt2
-rw-r--r--runtime/doc/usr_07.txt2
-rw-r--r--runtime/doc/usr_11.txt2
-rw-r--r--runtime/doc/usr_12.txt2
-rw-r--r--runtime/doc/usr_20.txt2
-rw-r--r--runtime/doc/usr_23.txt2
-rw-r--r--runtime/doc/usr_27.txt2
-rw-r--r--runtime/doc/usr_28.txt2
-rw-r--r--runtime/doc/usr_30.txt2
-rw-r--r--runtime/doc/usr_31.txt6
-rw-r--r--runtime/doc/usr_40.txt4
-rw-r--r--runtime/doc/various.txt2
-rw-r--r--runtime/doc/version7.txt6
-rw-r--r--runtime/doc/vimball.txt5
-rw-r--r--runtime/doc/windows.txt2
-rw-r--r--runtime/doc/workshop.txt2
-rw-r--r--runtime/filetype.vim66
-rw-r--r--runtime/macros/matchit.vim12
-rw-r--r--src/Make_cyg.mak6
-rw-r--r--src/Make_dice.mak12
-rw-r--r--src/Make_djg.mak4
-rw-r--r--src/Make_morph.mak4
-rw-r--r--src/Make_vms.mms14
-rw-r--r--src/Make_w16.mak4
-rw-r--r--src/dosinst.c1
-rw-r--r--src/eval.c8
-rw-r--r--src/ex_cmds.h4
-rw-r--r--src/hashtable.c518
-rw-r--r--src/if_mzsch.c6
-rw-r--r--src/if_mzsch.h5
-rw-r--r--src/memline.c4
-rw-r--r--src/popupmnu.c (renamed from src/popupmenu.c)2
-rw-r--r--src/proto/edit.pro80
-rw-r--r--src/proto/ex_cmds.pro114
-rw-r--r--src/proto/ex_cmds2.pro162
-rw-r--r--src/proto/fileio.pro98
-rw-r--r--src/proto/gui_beval.pro18
-rw-r--r--src/proto/gui_motif.pro80
-rw-r--r--src/proto/gui_x11.pro136
-rw-r--r--src/proto/hangulin.pro14
-rw-r--r--src/proto/hashtable.pro14
-rw-r--r--src/proto/if_perl.pro14
-rw-r--r--src/proto/if_python.pro12
-rw-r--r--src/proto/if_ruby.pro14
-rw-r--r--src/proto/if_xcmdsrv.pro18
-rw-r--r--src/proto/mbyte.pro178
-rw-r--r--src/proto/memline.pro62
-rw-r--r--src/proto/menu.pro38
-rw-r--r--src/proto/misc1.pro184
-rw-r--r--src/proto/misc2.pro194
-rw-r--r--src/proto/move.pro76
-rw-r--r--src/proto/os_msdos.pro92
-rw-r--r--src/proto/os_win32.pro104
-rw-r--r--src/proto/popupmenu.pro8
-rw-r--r--src/proto/quickfix.pro56
-rw-r--r--src/proto/screen.pro96
-rw-r--r--src/proto/search.pro68
-rw-r--r--src/proto/spell.pro48
-rw-r--r--src/proto/tag.pro20
-rw-r--r--src/proto/term.pro116
-rw-r--r--src/proto/termlib.pro12
-rw-r--r--src/proto/ui.pro118
-rw-r--r--src/structs.h2
-rw-r--r--src/testdir/test61.in2
102 files changed, 1377 insertions, 1810 deletions
diff --git a/Contents b/Contents
index ebfaa6e61..38560f2fa 100644
--- a/Contents
+++ b/Contents
@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
- Version 7.0aa. Also runs under UNIX, MSDOS and other systems.
- vim70aart.tgz contains the documentation and syntax files.
- vim70aabin.tgz contains the binaries.
- vim70aasrc.tgz contains the sources.
+ Version 7.0b. Also runs under UNIX, MSDOS and other systems.
+ vim70brt.tgz contains the documentation and syntax files.
+ vim70bbin.tgz contains the binaries.
+ vim70bsrc.tgz contains the sources.
Author: Bram Moolenaar et al.
diff --git a/Filelist b/Filelist
index 669873edd..5584c9e35 100644
--- a/Filelist
+++ b/Filelist
@@ -31,7 +31,7 @@ SRC_ALL = \
src/gui_beval.c \
src/gui_beval.h \
src/hardcopy.c \
- src/hashtable.c \
+ src/hashtab.c \
src/keymap.h \
src/macros.h \
src/main.c \
@@ -52,7 +52,7 @@ SRC_ALL = \
src/ops.c \
src/option.c \
src/option.h \
- src/popupmenu.c \
+ src/popupmnu.c \
src/quickfix.c \
src/regexp.c \
src/regexp.h \
@@ -96,7 +96,7 @@ SRC_ALL = \
src/proto/gui.pro \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
- src/proto/hashtable.pro \
+ src/proto/hashtab.pro \
src/proto/main.pro \
src/proto/mark.pro \
src/proto/mbyte.pro \
@@ -111,7 +111,7 @@ SRC_ALL = \
src/proto/normal.pro \
src/proto/ops.pro \
src/proto/option.pro \
- src/proto/popupmenu.pro \
+ src/proto/popupmnu.pro \
src/proto/quickfix.pro \
src/proto/regexp.pro \
src/proto/screen.pro \
diff --git a/README_amisrc.txt b/README_amisrc.txt
index c24764e14..f0275ed5c 100644
--- a/README_amisrc.txt
+++ b/README_amisrc.txt
@@ -1,4 +1,4 @@
-README_amisrc.txt for version 7.0aa of Vim: Vi IMproved.
+README_amisrc.txt for version 7.0b of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
diff --git a/README_bindos.txt b/README_bindos.txt
index 441fc3c43..4a6a1fc44 100644
--- a/README_bindos.txt
+++ b/README_bindos.txt
@@ -1,4 +1,4 @@
-README_bindos.txt for version 7.0aa of Vim: Vi IMproved.
+README_bindos.txt for version 7.0b of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
diff --git a/README_lang.txt b/README_lang.txt
index f9ae10fff..c5d682976 100644
--- a/README_lang.txt
+++ b/README_lang.txt
@@ -1,4 +1,4 @@
-README_lang.txt for version 7.0aa of Vim: Vi IMproved.
+README_lang.txt for version 7.0b of Vim: Vi IMproved.
This file contains files for non-English languages:
- Translated messages.
diff --git a/README_os2.txt b/README_os2.txt
index 570c96356..a118ae1b6 100644
--- a/README_os2.txt
+++ b/README_os2.txt
@@ -1,4 +1,4 @@
-README_os2.txt for version 7.0aa of Vim: Vi IMproved.
+README_os2.txt for version 7.0b of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim.
diff --git a/README_src.txt b/README_src.txt
index 99aa11812..1ad38c560 100644
--- a/README_src.txt
+++ b/README_src.txt
@@ -1,4 +1,4 @@
-README_src.txt for version 7.0aa of Vim: Vi IMproved.
+README_src.txt for version 7.0b of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other
diff --git a/README_srcdos.txt b/README_srcdos.txt
index fea7e0973..3d8a5ea3e 100644
--- a/README_srcdos.txt
+++ b/README_srcdos.txt
@@ -1,4 +1,4 @@
-README_srcdos.txt for version 7.0aa of Vim: Vi IMproved.
+README_srcdos.txt for version 7.0b of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
diff --git a/README_unix.txt b/README_unix.txt
index 720c40372..65634b64d 100644
--- a/README_unix.txt
+++ b/README_unix.txt
@@ -1,4 +1,4 @@
-README_unix.txt for version 7.0aa of Vim: Vi IMproved.
+README_unix.txt for version 7.0b of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.
diff --git a/README_vms.txt b/README_vms.txt
index 43740daeb..02ccb3cfc 100644
--- a/README_vms.txt
+++ b/README_vms.txt
@@ -1,4 +1,4 @@
-README_vms.txt for version 7.0aa of Vim: Vi IMproved.
+README_vms.txt for version 7.0b of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.
diff --git a/runtime/autoload/ccomplete.vim b/runtime/autoload/ccomplete.vim
index 6f5e0c025..2d5e0ee1e 100644
--- a/runtime/autoload/ccomplete.vim
+++ b/runtime/autoload/ccomplete.vim
@@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Mar 19
+" Last Change: 2006 Mar 24
" This function is used for the 'omnifunc' option.
@@ -166,9 +166,11 @@ function! ccomplete#Complete(findstart, base)
let res = []
for i in range(len(diclist))
- " New ctags has the "typename" field.
+ " New ctags has the "typeref" field. Patched version has "typename".
if has_key(diclist[i], 'typename')
call extend(res, s:StructMembers(diclist[i]['typename'], items[1:], 1))
+ elseif has_key(diclist[i], 'typeref')
+ call extend(res, s:StructMembers(diclist[i]['typeref'], items[1:], 1))
endif
" For a variable use the command, which must be a search pattern that
@@ -232,10 +234,9 @@ function! s:Tag2item(val)
let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
- " Use the whole search command as the "info" entry.
- let s = matchstr(a:val['cmd'], '/^\s*\zs.*\ze$/')
+ let s = s:Dict2info(a:val)
if s != ''
- let res['info'] = substitute(s, '\\\(.\)', '\1', 'g')
+ let res['info'] = s
endif
let res['tagline'] = ''
@@ -253,6 +254,51 @@ function! s:Tag2item(val)
return res
endfunction
+" Use all the items in dictionary for the "info" entry.
+function! s:Dict2info(dict)
+ let info = ''
+ for k in sort(keys(a:dict))
+ let info .= k . repeat(' ', 10 - len(k))
+ if k == 'cmd'
+ let info .= substitute(matchstr(a:dict['cmd'], '/^\s*\zs.*\ze$/'), '\\\(.\)', '\1', 'g')
+ else
+ let info .= a:dict[k]
+ endif
+ let info .= "\n"
+ endfor
+ return info
+endfunc
+
+" Parse a tag line and return a dictionary with items like taglist()
+function! s:ParseTagline(line)
+ let l = split(a:line, "\t")
+ let d = {}
+ if len(l) >= 3
+ let d['name'] = l[0]
+ let d['filename'] = l[1]
+ let d['cmd'] = l[2]
+ let n = 2
+ if l[2] =~ '^/'
+ " Find end of cmd, it may contain Tabs.
+ while n < len(l) && l[n] !~ '/;"$'
+ let n += 1
+ let d['cmd'] .= " " . l[n]
+ endwhile
+ endif
+ for i in range(n + 1, len(l) - 1)
+ if l[i] == 'file:'
+ let d['static'] = 1
+ elseif l[i] !~ ':'
+ let d['kind'] = l[i]
+ else
+ let d[matchstr(l[i], '[^:]*')] = matchstr(l[i], ':\zs.*')
+ endif
+ endfor
+ endif
+
+ return d
+endfunction
+
" Turn a match item "val" into an item for completion.
" "val['match']" is the matching item.
" "val['tagline']" is the tagline in which the last part was found.
@@ -265,10 +311,10 @@ function! s:Tagline2item(val, brackets)
" Use info from Tag2item().
let res['info'] = a:val['info']
else
- " Use the whole search command as the "info" entry.
- let s = matchstr(line, '\t/^\s*\zs.*\ze$/')
+ " Parse the tag line and add each part to the "info" entry.
+ let s = s:Dict2info(s:ParseTagline(line))
if s != ''
- let res['info'] = substitute(s, '\\\(.\)', '\1', 'g')
+ let res['info'] = s
endif
endif
@@ -348,7 +394,11 @@ function! s:Nextitem(lead, items, depth, all)
for tagidx in range(len(diclist))
let item = diclist[tagidx]
- " New ctags has the "typename" field.
+ " New ctags has the "typeref" field. Patched version has "typename".
+ if has_key(item, 'typeref')
+ call extend(res, s:StructMembers(item['typeref'], a:items, a:all))
+ continue
+ endif
if has_key(item, 'typename')
call extend(res, s:StructMembers(item['typename'], a:items, a:all))
continue
@@ -496,11 +546,16 @@ function! s:SearchMembers(matches, items, all)
if has_key(a:matches[i], 'dict')
if has_key(a:matches[i].dict, 'typename')
let typename = a:matches[i].dict['typename']
+ elseif has_key(a:matches[i].dict, 'typeref')
+ let typename = a:matches[i].dict['typeref']
endif
let line = "\t" . a:matches[i].dict['cmd']
else
let line = a:matches[i]['tagline']
let e = matchend(line, '\ttypename:')
+ if e < 0
+ let e = matchend(line, '\ttyperef:')
+ endif
if e > 0
" Use typename field
let typename = matchstr(line, '[^\t]*', e)
diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt
index 27990e023..59282704e 100644
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -1,4 +1,4 @@
-*arabic.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
+*arabic.txt* For Vim version 7.0b. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Nadim Shaikli
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b25a88e3a..08e56d03c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0aa. Last change: 2006 Mar 22
+*eval.txt* For Vim version 7.0b. Last change: 2006 Mar 22
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt
index 0e7d9bbf7..c9df1f6b4 100644
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
+*farsi.txt* For Vim version 7.0b. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 778b639b0..f0121d07d 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt* For Vim version 7.0aa. Last change: 2006 Mar 21
+*filetype.txt* For Vim version 7.0b. Last change: 2006 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -549,10 +549,10 @@ If the first line of a *.tex file has the form >
%&<format>
then this determined the file type: plaintex (for plain TeX), context (for
ConTeXt), or tex (for LaTeX). Otherwise, the file is searched for keywords to
-choose context or tex. If no keywords are found, it defaults to tex. You can
-change the default by defining the variable g:tex_flavor to the format (not
-the file type) you use most: plain or context or latex. (Currently no other
-formats are recognized.)
+choose context or tex. If no keywords are found, it defaults to plaintex.
+You can change the default by defining the variable g:tex_flavor to the format
+(not the file type) you use most: plain or context or latex. (Currently no
+other formats are recognized.)
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/getscript.txt b/runtime/doc/getscript.txt
index 1459723d9..b9d2543c6 100644
--- a/runtime/doc/getscript.txt
+++ b/runtime/doc/getscript.txt
@@ -1,4 +1,6 @@
-*getscript.txt* Get the Latest VimScripts Dec 23, 2005
+*getscript.txt* For Vim version 7.0b. Last change: 2006 Mar 24
+
+ Get the Latest VimScripts
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
(remove NOSPAM from the email address)
@@ -23,7 +25,7 @@ Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
==============================================================================
-2. GetLatestVimScripts Usage *getlatestvimscripts* *getscript* *glvs*
+2. GetLatestVimScripts Usage *getlatestvimscripts* *getscript* *glvs*
While in vim, type
>
diff --git a/runtime/doc/hebrew.txt b/runtime/doc/hebrew.txt
index f595e29e8..cb32526f9 100644
--- a/runtime/doc/hebrew.txt
+++ b/runtime/doc/hebrew.txt
@@ -1,4 +1,4 @@
-*hebrew.txt* For Vim version 7.0aa. Last change: 2003 May 11
+*hebrew.txt* For Vim version 7.0b. Last change: 2003 May 11
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
diff --git a/runtime/doc/howto.txt b/runtime/doc/howto.txt
index aa99190bd..e9cd6cfbe 100644
--- a/runtime/doc/howto.txt
+++ b/runtime/doc/howto.txt
@@ -1,4 +1,4 @@
-*howto.txt* For Vim version 7.0aa. Last change: 2001 Sep 03
+*howto.txt* For Vim version 7.0b. Last change: 2001 Sep 03
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 89f020c50..917c6d094 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt* For Vim version 7.0aa. Last change: 2005 Sep 01
+*intro.txt* For Vim version 7.0b. Last change: 2005 Sep 01
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_amiga.txt b/runtime/doc/os_amiga.txt
index 0e42c5d82..1fe1997d1 100644
--- a/runtime/doc/os_amiga.txt
+++ b/runtime/doc/os_amiga.txt
@@ -1,4 +1,4 @@
-*os_amiga.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
+*os_amiga.txt* For Vim version 7.0b. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_dos.txt b/runtime/doc/os_dos.txt
index 09f915d46..213ddbe37 100644
--- a/runtime/doc/os_dos.txt
+++ b/runtime/doc/os_dos.txt
@@ -1,4 +1,4 @@
-*os_dos.txt* For Vim version 7.0aa. Last change: 2006 Feb 14
+*os_dos.txt* For Vim version 7.0b. Last change: 2006 Feb 14
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 880981d74..24b35595c 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
+*os_win32.txt* For Vim version 7.0b. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by George Reilly
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 8772334c8..b4f9cb08b 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.0aa. Last change: 2006 Mar 06
+*pattern.txt* For Vim version 7.0b. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_spec.txt b/runtime/doc/pi_spec.txt
index 80773afbb..c0d4591fe 100644
--- a/runtime/doc/pi_spec.txt
+++ b/runtime/doc/pi_spec.txt
@@ -1,4 +1,4 @@
-*pi_spec.txt* For Vim version 7.0aa. Last change: 2005 Oct 03
+*pi_spec.txt* For Vim version 7.0b. Last change: 2005 Oct 03
by Gustavo Niemeyer ~
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 81a382267..1b24604e8 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 7.0aa. Last change: 2006 Mar 23
+*quickfix.txt* For Vim version 7.0b. Last change: 2006 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -227,6 +227,14 @@ command with 'l'.
:lex[pr][!] {expr} Same as ":cexpr", except the location list for the
current window is used instead of the quickfix list.
+ *:cgete* *:cgetexpr*
+:cgete[xpr][!] {expr} Create a quickfix list using the result of {expr}.
+ Just like ":cexpr", but don't jump to the first error.
+
+ *:lgete* *:lgetexpr*
+:lgete[xpr][!] {expr} Same as ":cgetexpr", except the location list for the
+ current window is used instead of the quickfix list.
+
*:cad* *:caddexpr*
:cad[dexpr][!] {expr} Evaluate {expr} and add the resulting lines to the
current quickfix list. If a quickfix list is not
@@ -240,14 +248,6 @@ command with 'l'.
:lad[dexpr][!] {expr} Same as ":caddexpr", except the location list for the
current window is used instead of the quickfix list.
- *:cgete* *:cgetexpr*
-:cgete[xpr][!] {expr} Create a quickfix list using the result of {expr}.
- Just like ":cexpr", but don't jump to the first error.
-
- *:lgete* *:lgetexpr*
-:lgete[xpr][!] {expr} Same as ":cgetexpr", except the location list for the
- current window is used instead of the quickfix list.
-
*:cl* *:clist*
:cl[ist] [from] [, [to]]
List all errors that are valid |quickfix-valid|.
diff --git a/runtime/doc/quotes.txt b/runtime/doc/quotes.txt
index 9cc94ff76..d10fac810 100644
--- a/runtime/doc/quotes.txt
+++ b/runtime/doc/quotes.txt
@@ -1,4 +1,4 @@
-*quotes.txt* For Vim version 7.0aa. Last change: 2005 Apr 04
+*quotes.txt* For Vim version 7.0b. Last change: 2005 Apr 04
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt
index 35a995c92..4d577709f 100644
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -1,4 +1,4 @@
-*remote.txt* For Vim version 7.0aa. Last change: 2006 Mar 11
+*remote.txt* For Vim version 7.0b. Last change: 2006 Mar 11
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 5135db601..b97a4710b 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt* For Vim version 7.0aa. Last change: 2006 Mar 21
+*repeat.txt* For Vim version 7.0b. Last change: 2006 Mar 21
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt
index 847c83fe4..6c8395840 100644
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt* For Vim version 7.0aa. Last change: 2005 Dec 16
+*scroll.txt* For Vim version 7.0b. Last change: 2005 Dec 16
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index c2dbe1a24..f782dbce2 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 7.0aa. Last change: 2006 Mar 10
+*spell.txt* For Vim version 7.0b. Last change: 2006 Mar 10
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt
index a0e6f0240..230ed128b 100644
--- a/runtime/doc/sql.txt
+++ b/runtime/doc/sql.txt
@@ -1,4 +1,4 @@
-*sql.txt* For Vim version 7.0aa. Last change: Fri Jan 06 2006 8:09:25 AM
+*sql.txt* For Vim version 7.0b. Last change: Fri Jan 06 2006 8:09:25 AM
by David Fishburn
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index fbca4251b..242f9b1db 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.0aa. Last change: 2006 Mar 05
+*starting.txt* For Vim version 7.0b. Last change: 2006 Mar 05
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index a606489ce..51d841936 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.0aa. Last change: 2006 Mar 12
+*syntax.txt* For Vim version 7.0b. Last change: 2006 Mar 12
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index e6c2740f0..50a25120f 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt* For Vim version 7.0aa. Last change: 2006 Feb 24
+*tagsrch.txt* For Vim version 7.0b. Last change: 2006 Feb 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 22d060863..1ee9f2a3e 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0aa. Last change: 2006 Mar 23
+*todo.txt* For Vim version 7.0b. Last change: 2006 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,8 +30,18 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Include patch for recognizing TeX flavor. (Benji Fisher)
-And new tex.vim and plaintex.vim.
+The 16 bit DOS version doesn't link because too much static memory is used.
+Drop it?
+
+test61 sometimes fails, probably because of timing variations.
+
+Check version7.txt for:
+- new syntax files and other runtime files.
+- new functions
+- new options
+- etc.
+
+Add more tests for all new functionality in Vim 7. Especially new functions.
Win32: Describe how to do debugging. (George Reilly)
@@ -44,24 +54,12 @@ Mac unicode patch (Da Woon Jung, Eckehard Berns):
- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
(Alan Schmitt)
-Darren is including the patch in ctags. Test it when it's ready. Change
-"typename" to "typeref" in C complete code.
-
-HTML indenting can be slow. Caused by using searchpair(). Can search() be
-used instead?
-
-ccomplete: use "signature:" field from tags file when it's present.
-Or list all the fields? (Martin Stubenschrott)
-
-Add more tests for all new functionality in Vim 7. Especially new functions.
-
-Add text in user manual for using the undo tree. Example with finding the
-text of a previous change.
-
-Links in docs to GetLatestVimScripts (getscript) plugin.
+Darren is including the patch in ctags. Test it when it's ready.
Awaiting updated patches:
+9 HTML indenting can be slow. Caused by using searchpair(). Can search()
+ be used instead?
8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
Aric Blumer has a patch for this.
He will update the patch for 6.3.
diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt
index 6827552ca..13b4419d8 100644
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_01.txt* For Vim version 7.0b. Last change: 2005 Apr 01
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt
index d9664ca78..bdebfb682 100644
--- a/runtime/doc/usr_04.txt
+++ b/runtime/doc/usr_04.txt
@@ -1,4 +1,4 @@
-*usr_04.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_04.txt* For Vim version 7.0b. Last change: 2005 Apr 01
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index c5128ae8c..7a2215e9d 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt* For Vim version 7.0aa. Last change: 2005 Oct 04
+*usr_05.txt* For Vim version 7.0b. Last change: 2006 Mar 24
VIM USER MANUAL - by Bram Moolenaar
@@ -300,10 +300,13 @@ GETTING A GLOBAL PLUGIN
Where can you find plugins?
- Some come with Vim. You can find them in the directory $VIMRUNTIME/macros
and its sub-directories.
-- Download from the net, check out http://vim.sf.net.
+- Download from the net. There is a large collection on http://www.vim.org.
- They are sometimes posted in a Vim |maillist|.
- You could write one yourself, see |write-plugin|.
+Some plugins come as a vimball archive, see |vimball|.
+Some plugins can be updated automatically, see |getscript|.
+
USING A GLOBAL PLUGIN
diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt
index a68340187..7ae52e7d0 100644
--- a/runtime/doc/usr_06.txt
+++ b/runtime/doc/usr_06.txt
@@ -1,4 +1,4 @@
-*usr_06.txt* For Vim version 7.0aa. Last change: 2006 Feb 16
+*usr_06.txt* For Vim version 7.0b. Last change: 2006 Feb 16
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt
index 1b97c2d01..ffc488c15 100644
--- a/runtime/doc/usr_07.txt
+++ b/runtime/doc/usr_07.txt
@@ -1,4 +1,4 @@
-*usr_07.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_07.txt* For Vim version 7.0b. Last change: 2005 Apr 01
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index 05af29e56..b51e80942 100644
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt* For Vim version 7.0aa. Last change: 2005 Jun 09
+*usr_11.txt* For Vim version 7.0b. Last change: 2005 Jun 09
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt
index b2530cc8b..112d42edc 100644
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt* For Vim version 7.0aa. Last change: 2006 Feb 26
+*usr_12.txt* For Vim version 7.0b. Last change: 2006 Feb 26
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt
index 235b8a8ae..901a1293e 100644
--- a/runtime/doc/usr_20.txt
+++ b/runtime/doc/usr_20.txt
@@ -1,4 +1,4 @@
-*usr_20.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_20.txt* For Vim version 7.0b. Last change: 2005 Apr 01
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt
index dede37cb3..42cec3f96 100644
--- a/runtime/doc/usr_23.txt
+++ b/runtime/doc/usr_23.txt
@@ -1,4 +1,4 @@
-*usr_23.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_23.txt* For Vim version 7.0b. Last change: 2005 Apr 01
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt
index b7836ef38..d67f73959 100644
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -1,4 +1,4 @@
-*usr_27.txt* For Vim version 7.0aa. Last change: 2005 Feb 08
+*usr_27.txt* For Vim version 7.0b. Last change: 2005 Feb 08
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_28.txt b/runtime/doc/usr_28.txt
index 8ad98a3ea..172603a56 100644
--- a/runtime/doc/usr_28.txt
+++ b/runtime/doc/usr_28.txt
@@ -1,4 +1,4 @@
-*usr_28.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_28.txt* For Vim version 7.0b. Last change: 2005 Apr 01
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt
index a4e869088..e0dc69ff5 100644
--- a/runtime/doc/usr_30.txt
+++ b/runtime/doc/usr_30.txt
@@ -1,4 +1,4 @@
-*usr_30.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_30.txt* For Vim version 7.0b. Last change: 2005 Apr 01
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt
index d7f2138cf..af6644c82 100644
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt* For Vim version 7.0aa. Last change: 2006 Feb 28
+*usr_31.txt* For Vim version 7.0b. Last change: 2006 Mar 24
VIM USER MANUAL - by Bram Moolenaar
@@ -15,7 +15,7 @@ between alternatives. Use keyboard shortcuts to access menu items quickly.
|31.4| Vim window position and size
|31.5| Various
- Next chapter: |usr_40.txt| Make new commands
+ Next chapter: |usr_32.txt| The undo tree
Previous chapter: |usr_30.txt| Editing programs
Table of contents: |usr_toc.txt|
@@ -262,6 +262,6 @@ another font size, for example.
==============================================================================
-Next chapter: |usr_40.txt| Make new commands
+Next chapter: |usr_32.txt| The undo tree
Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt
index 7d2a7df55..79c57e390 100644
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
+*usr_40.txt* For Vim version 7.0b. Last change: 2006 Mar 24
VIM USER MANUAL - by Bram Moolenaar
@@ -14,7 +14,7 @@ Autocommands make it possible to execute commands automatically.
|40.3| Autocommands
Next chapter: |usr_41.txt| Write a Vim script
- Previous chapter: |usr_31.txt| Exploiting the GUI
+ Previous chapter: |usr_32.txt| The undo tree
Table of contents: |usr_toc.txt|
==============================================================================
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index e3e8655ed..61bc5bc42 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.0aa. Last change: 2006 Mar 21
+*various.txt* For Vim version 7.0b. Last change: 2006 Mar 21
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 777dff0b5..c38f27241 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0aa. Last change: 2006 Mar 23
+*version7.txt* For Vim version 7.0b. Last change: 2006 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -628,13 +628,13 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
don't jump to the first error. (Yegappan Lakshmanan).
|:lfile| Like |:cfile| but use the location list.
-|:lgetbuffer| Like |:cgetbuffer| but use the location list.
-|:lgetexpr| Like |:cgetexpr| but use the location list.
|:lgetfile| Like |:cgetfile| but use the location list.
|:laddfile| Like |:caddfile| but use the location list.
|:lbuffer| Like |:cbuffer| but use the location list.
+|:lgetbuffer| Like |:cgetbuffer| but use the location list.
|:laddbuffer| Like |:caddbuffer| but use the location list.
|:lexpr| Like |:cexpr| but use the location list.
+|:lgetexpr| Like |:cgetexpr| but use the location list.
|:laddexpr| Like |:caddexpr| but use the location list.
|:ll| Like |:cc| but use the location list.
|:llist| Like |:clist| but use the location list.
diff --git a/runtime/doc/vimball.txt b/runtime/doc/vimball.txt
index cd5f32f4d..4a5fbb5db 100644
--- a/runtime/doc/vimball.txt
+++ b/runtime/doc/vimball.txt
@@ -1,4 +1,7 @@
-*vimball.txt* Vimball Archiver Mar 20, 2006
+*vimball.txt* For Vim version 7.0b. Last change: 2006 Mar 24
+
+ Vimball Archiver
+
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *Vimball-copyright*
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 93757a2eb..7fd0cd012 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 7.0aa. Last change: 2006 Mar 11
+*windows.txt* For Vim version 7.0b. Last change: 2006 Mar 11
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt
index f51390555..7c0fc6a00 100644
--- a/runtime/doc/workshop.txt
+++ b/runtime/doc/workshop.txt
@@ -1,4 +1,4 @@
-*workshop.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
+*workshop.txt* For Vim version 7.0b. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 2ab098705..5b82dbeea 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Mar 23
+" Last Change: 2006 Mar 24
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -1664,30 +1664,56 @@ au BufNewFile,BufRead *.ti setf terminfo
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
au BufNewFile,BufRead *.tex call s:FTtex()
+" Choose context, plaintex, or tex (LaTeX) based on these rules:
+" 1. Check the first line of the file for "%&<format>".
+" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
+" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
fun! s:FTtex()
- let lnum = 1
- let checked = 0
- while checked < 25 && lnum < line("$")
- let line = getline(lnum)
- if line !~ '^\s*%'
- if line =~ '^\s*\\\%(documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>\)'
- setf tex
- return
- elseif line =~ '^\s*\\\%(start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\)\>'
- setf context
- return
- endif
- let checked = checked + 1
+ let firstline = getline(1)
+ if firstline =~ '^%&\s*\a\+'
+ let format = tolower(matchstr(firstline, '\a\+'))
+ let format = substitute(format, 'pdf', '', '')
+ if format == 'tex'
+ let format = 'plain'
endif
- let lnum = lnum + 1
- endwhile
-
- " Didn't recognize anything, guess.
- if exists("g:tex_flavour") && g:tex_flavour == "context"
- setf context
else
+ " Default value, may be changed later:
+ let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain'
+ " Save position, go to the top of the file, find first non-comment line.
+ let save_cursor = getpos('.')
+ call cursor(1,1)
+ let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
+ if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
+ let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
+ let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
+ let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
+ \ 'cnp', firstNC + 1000)
+ if kwline == 1 " lpat matched
+ let format = 'latex'
+ elseif kwline == 2 " cpat matched
+ let format = 'context'
+ endif " If neither matched, keep default set above.
+ " let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000)
+ " let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000)
+ " if cline > 0
+ " let format = 'context'
+ " endif
+ " if lline > 0 && (cline == 0 || cline > lline)
+ " let format = 'tex'
+ " endif
+ endif " firstNC
+ call setpos('.', save_cursor)
+ endif " firstline =~ '^%&\s*\a\+'
+
+ " Translation from formats to file types. TODO: add AMSTeX, RevTex, others?
+ if format == 'plain'
+ setf plaintex
+ elseif format == 'context'
+ setf context
+ else " probably LaTeX
setf tex
endif
+ return
endfun
" Context
diff --git a/runtime/macros/matchit.vim b/runtime/macros/matchit.vim
index 296099474..a2f205076 100644
--- a/runtime/macros/matchit.vim
+++ b/runtime/macros/matchit.vim
@@ -1,7 +1,7 @@
" matchit.vim: (global plugin) Extended "%" matching
-" Last Change: Sat May 15 11:00 AM 2004 EDT
+" Last Change: Sun Feb 26 10:00 AM 2006 EST
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
-" Version: 1.9, for Vim 6.3
+" Version: 1.10, for Vim 6.3
" URL: http://www.vim.org/script.php?script_id=39
" Documentation:
@@ -220,6 +220,10 @@ function! s:Match_wrapper(word, forward, mode) range
let ini = strpart(group, 0, i-1)
let mid = substitute(strpart(group, i,j-i-1), s:notslash.'\zs:', '\\|', 'g')
let fin = strpart(group, j)
+ "Un-escape the remaining , and : characters.
+ let ini = substitute(ini, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
+ let mid = substitute(mid, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
+ let fin = substitute(fin, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
" searchpair() requires that these patterns avoid \(\) groups.
let ini = substitute(ini, s:notslash . '\zs\\(', '\\%(', 'g')
let mid = substitute(mid, s:notslash . '\zs\\(', '\\%(', 'g')
@@ -565,7 +569,7 @@ fun! s:Choose(patterns, string, comma, branch, prefix, suffix, ...)
if a:branch == ""
let currpat = current
else
- let currpat = substitute(current, a:branch, '\\|', 'g')
+ let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
endif
while a:string !~ a:prefix . currpat . a:suffix
let tail = strpart(tail, i)
@@ -577,7 +581,7 @@ fun! s:Choose(patterns, string, comma, branch, prefix, suffix, ...)
if a:branch == ""
let currpat = current
else
- let currpat = substitute(current, a:branch, '\\|', 'g')
+ let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
endif
if a:0
let alttail = strpart(alttail, j)
diff --git a/src/Make_cyg.mak b/src/Make_cyg.mak
index 5879f1ddb..556817429 100644
--- a/src/Make_cyg.mak
+++ b/src/Make_cyg.mak
@@ -1,6 +1,6 @@
#
# Makefile for VIM on Win32, using Cygnus gcc
-# Last updated by Dan Sharp. Last Change: 2005 Oct 01
+# Last updated by Dan Sharp. Last Change: 2006 Mar 24
#
# Also read INSTALLpc.txt!
#
@@ -404,7 +404,7 @@ OBJ = \
$(OUTDIR)/fold.o \
$(OUTDIR)/getchar.o \
$(OUTDIR)/hardcopy.o \
- $(OUTDIR)/hashtable.o \
+ $(OUTDIR)/hashtab.o \
$(OUTDIR)/main.o \
$(OUTDIR)/mark.o \
$(OUTDIR)/memfile.o \
@@ -421,7 +421,7 @@ OBJ = \
$(OUTDIR)/os_win32.o \
$(OUTDIR)/os_mswin.o \
$(OUTDIR)/pathdef.o \
- $(OUTDIR)/popupmenu.o \
+ $(OUTDIR)/popupmnu.o \
$(OUTDIR)/quickfix.o \
$(OUTDIR)/regexp.o \
$(OUTDIR)/screen.o \
diff --git a/src/Make_dice.mak b/src/Make_dice.mak
index b4e1709ec..a5cb69220 100644
--- a/src/Make_dice.mak
+++ b/src/Make_dice.mak
@@ -41,7 +41,7 @@ SRC = \
fold.c \
getchar.c \
hardcopy.c \
- hashtable.c \
+ hashtab.c \
main.c \
mark.c \
memfile.c \
@@ -56,7 +56,7 @@ SRC = \
ops.c \
option.c \
os_amiga.c \
- popupmenu.c \
+ popupmnu.c \
quickfix.c \
regexp.c \
screen.c \
@@ -85,7 +85,7 @@ OBJ = o/buffer.o \
o/fold.o \
o/getchar.o \
o/hardcopy.o \
- o/hashtable.o \
+ o/hashtab.o \
o/main.o \
o/mark.o \
o/memfile.o \
@@ -100,7 +100,7 @@ OBJ = o/buffer.o \
o/ops.o \
o/option.o \
o/os_amiga.o \
- o/popupmenu.o \
+ o/popupmnu.o \
o/quickfix.o \
o/regexp.o \
o/screen.o \
@@ -163,7 +163,7 @@ o/getchar.o: getchar.c $(SYMS)
o/hardcopy.o: hardcopy.c $(SYMS)
-o/hashtable.o: hashtable.c $(SYMS)
+o/hashtab.o: hashtab.c $(SYMS)
o/main.o: main.c $(SYMS)
@@ -198,7 +198,7 @@ o/option.o: option.c $(SYMS)
o/os_amiga.o: os_amiga.c $(SYMS) os_amiga.h
-o/popupmenu.o: popupmenu.c $(SYMS)
+o/popupmnu.o: popupmnu.c $(SYMS)
o/quickfix.o: quickfix.c $(SYMS)
diff --git a/src/Make_djg.mak b/src/Make_djg.mak
index 8ac1970bc..1df04c77c 100644
--- a/src/Make_djg.mak
+++ b/src/Make_djg.mak
@@ -34,7 +34,7 @@ OBJ = \
obj/fold.o \
obj/getchar.o \
obj/hardcopy.o \
- obj/hashtable.o \
+ obj/hashtab.o \
obj/main.o \
obj/mark.o \
obj/memfile.o \
@@ -49,7 +49,7 @@ OBJ = \
obj/ops.o \
obj/option.o \
obj/os_msdos.o \
- obj/popupmenu.o \
+ obj/popupmnu.o \
obj/quickfix.o \
obj/regexp.o \
obj/screen.o \
diff --git a/src/Make_morph.mak b/src/Make_morph.mak
index 0464222a4..488d22cd9 100644
--- a/src/Make_morph.mak
+++ b/src/Make_morph.mak
@@ -39,7 +39,7 @@ SRC = buffer.c \
fold.c \
getchar.c \
hardcopy.c \
- hashtable.c \
+ hashtab.c \
main.c \
mark.c \
mbyte.c \
@@ -54,7 +54,7 @@ SRC = buffer.c \
ops.c \
option.c \
os_amiga.c \
- popupmenu.c \
+ popupmnu.c \
quickfix.c \
regexp.c \
screen.c \
diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index 8b249811c..89b56afe4 100644
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -2,7 +2,7 @@
# Makefile for Vim on OpenVMS
#
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change: 2006 Feb 23
+# Last change: 2006 Mar 24
#
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
# with MMS and MMK
@@ -287,8 +287,8 @@ ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
SRC = buffer.c charset.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
- hardcopy.c hashtable.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
- misc2.c move.c normal.c ops.c option.c popupmenu.c quickfix.c regexp.c search.c \
+ hardcopy.c hashtab.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
+ misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c \
spell.c syntax.c tag.c term.c termlib.c ui.c undo.c version.c screen.c \
window.c os_unix.c os_vms.c pathdef.c \
$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(SNIFF_SRC) \
@@ -296,9 +296,9 @@ SRC = buffer.c charset.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
OBJ = buffer.obj charset.obj diff.obj digraph.obj edit.obj eval.obj \
ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj \
- if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtable.obj main.obj mark.obj \
+ if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj main.obj mark.obj \
menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
- move.obj mbyte.obj normal.obj ops.obj option.obj popupmenu.obj quickfix.obj \
+ move.obj mbyte.obj normal.obj ops.obj option.obj popupmnu.obj quickfix.obj \
regexp.obj search.obj spell.obj syntax.obj tag.obj term.obj termlib.obj \
ui.obj undo.obj screen.obj version.obj window.obj os_unix.obj \
os_vms.obj pathdef.obj \
@@ -531,7 +531,7 @@ hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
-hashtable.obj : hashtable.c vim.h [.auto]config.h feature.h os_unix.h \
+hashtab.obj : hashtab.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
@@ -607,7 +607,7 @@ pathdef.obj : pathdef.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
-popupmenu.obj : popupmenu.c vim.h [.auto]config.h feature.h os_unix.h \
+popupmnu.obj : popupmnu.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
diff --git a/src/Make_w16.mak b/src/Make_w16.mak
index 598d72e6e..4e0cdcf87 100644
--- a/src/Make_w16.mak
+++ b/src/Make_w16.mak
@@ -88,7 +88,7 @@ ObjFiles = \
$(INTDIR)\fold.obj\
$(INTDIR)\getchar.obj\
$(INTDIR)\hardcopy.obj\
- $(INTDIR)\hashtable.obj\
+ $(INTDIR)\hashtab.obj\
$(INTDIR)\gui.obj\
$(INTDIR)\gui_w16.obj\
$(INTDIR)\main.obj\
@@ -107,7 +107,7 @@ ObjFiles = \
$(INTDIR)\os_win16.obj\
$(INTDIR)\os_msdos.obj\
$(INTDIR)\os_mswin.obj\
- $(INTDIR)\popupmenu.obj\
+ $(INTDIR)\popupmnu.obj\
$(INTDIR)\quickfix.obj\
$(INTDIR)\regexp.obj\
$(INTDIR)\screen.obj\
diff --git a/src/dosinst.c b/src/dosinst.c
index 1b572a075..a54d168cb 100644
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -1132,7 +1132,6 @@ install_vimrc(int idx)
{
FILE *fd, *tfd;
char *fname;
- char *p;
/* If an old vimrc file exists, overwrite it.
* Otherwise create a new one. */
diff --git a/src/eval.c b/src/eval.c
index efa04be1a..e80407e68 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1666,6 +1666,8 @@ ex_let(eap)
argend = skip_var_list(arg, &var_count, &semicolon);
if (argend == NULL)
return;
+ if (argend > arg && argend[-1] == '.') /* for var.='str' */
+ --argend;
expr = vim_strchr(argend, '=');
if (expr == NULL)
{
@@ -19360,9 +19362,11 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
init_var_dict(&fc.l_vars, &fc.l_vars_var);
if (selfdict != NULL)
{
- /* Set l:self to "selfdict". */
+ /* Set l:self to "selfdict". Use "name" to avoid a warning from
+ * some compiler that checks the destination size. */
v = &fc.fixvar[fixvar_idx++].var;
- STRCPY(v->di_key, "self");
+ name = v->di_key;
+ STRCPY(name, "self");
v->di_flags = DI_FLAGS_RO + DI_FLAGS_FIX;
hash_add(&fc.l_vars.dv_hashtab, DI2HIKEY(v));
v->di_tv.v_type = VAR_DICT;
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index dd1622a80..93a098ccf 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -213,10 +213,10 @@ EX(CMD_cfile, "cfile", ex_cfile,
TRLBAR|FILE1|BANG),
EX(CMD_cfirst, "cfirst", ex_cc,
RANGE|NOTADR|COUNT|TRLBAR|BANG),
-EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer,
- RANGE|NOTADR|WORD1|TRLBAR),
EX(CMD_cgetfile, "cgetfile", ex_cfile,
TRLBAR|FILE1|BANG),
+EX(CMD_cgetbuffer, "cgetbuffer", ex_cbuffer,
+ RANGE|NOTADR|WORD1|TRLBAR),
EX(CMD_cgetexpr, "cgetexpr", ex_cexpr,
NEEDARG|WORD1|NOTRLCOM|TRLBAR|BANG),
EX(CMD_chdir, "chdir", ex_cd,
diff --git a/src/hashtable.c b/src/hashtable.c
deleted file mode 100644
index 066f0f3cb..000000000
--- a/src/hashtable.c
+++ /dev/null
@@ -1,518 +0,0 @@
-/* vi:set ts=8 sts=4 sw=4:
- *
- * VIM - Vi IMproved by Bram Moolenaar
- *
- * Do ":help uganda" in Vim to read copying and usage conditions.
- * Do ":help credits" in Vim to see a list of people who contributed.
- * See README.txt for an overview of the Vim source code.
- */
-
-/*
- * hashtable.c: Handling of a hashtable with Vim-specific properties.
- *
- * Each item in a hashtable has a NUL terminated string key. A key can appear
- * only once in the table.
- *
- * A hash number is computed from the key for quick lookup. When the hashes
- * of two different keys point to the same entry an algorithm is used to
- * iterate over other entries in the table until the right one is found.
- * To make the iteration work removed keys are different from entries where a
- * key was never present.
- *
- * The mechanism has been partly based on how Python Dictionaries are
- * implemented. The algorithm is from Knuth Vol. 3, Sec. 6.4.
- *
- * The hashtable grows to accommodate more entries when needed. At least 1/3
- * of the entries is empty to keep the lookup efficient (at the cost of extra
- * memory).
- */
-
-#include "vim.h"
-
-#if defined(FEAT_EVAL) || defined(FEAT_SYN_HL) || defined(PROTO)
-
-#if 0
-# define HT_DEBUG /* extra checks for table consistency and statistics */
-
-static long hash_count_lookup = 0; /* count number of hashtab lookups */
-static long hash_count_perturb = 0; /* count number of "misses" */
-#endif
-
-/* Magic value for algorithm that walks through the array. */
-#define PERTURB_SHIFT 5
-
-static int hash_may_resize __ARGS((hashtab_T *ht, int minitems));
-
-#if 0 /* currently not used */
-/*
- * Create an empty hash table.
- * Returns NULL when out of memory.
- */
- hashtab_T *
-hash_create()
-{
- hashtab_T *ht;
-
- ht = (hashtab_T *)alloc(sizeof(hashtab_T));
- if (ht != NULL)
- hash_init(ht);
- return ht;
-}
-#endif
-
-/*
- * Initialize an empty hash table.
- */
- void
-hash_init(ht)
- hashtab_T *ht;
-{
- /* This zeroes all "ht_" entries and all the "hi_key" in "ht_smallarray". */
- vim_memset(ht, 0, sizeof(hashtab_T));
- ht->ht_array = ht->ht_smallarray;
- ht->ht_mask = HT_INIT_SIZE - 1;
-}
-
-/*
- * Free the array of a hash table. Does not free the items it contains!
- * If "ht" is not freed then you should call hash_init() next!
- */
- void
-hash_clear(ht)
- hashtab_T *ht;
-{
- if (ht->ht_array != ht->ht_smallarray)
- vim_free(ht->ht_array);
-}
-
-/*
- * Free the array of a hash table and all the keys it contains. The keys must
- * have been allocated. "off" is the offset from the start of the allocate
- * memory to the location of the key (it's always positive).
- */
- void
-hash_clear_all(ht, off)
- hashtab_T *ht;
- int off;
-{
- int todo;
- hashitem_T *hi;
-
- todo = ht->ht_used;
- for (hi = ht->ht_array; todo > 0; ++hi)
- {
- if (!HASHITEM_EMPTY(hi))
- {
- vim_free(hi->hi_key - off);
- --todo;
- }
- }
- hash_clear(ht);
-}
-
-/*
- * Find "key" in hashtable "ht". "key" must not be NULL.
- * Always returns a pointer to a hashitem. If the item was not found then
- * HASHITEM_EMPTY() is TRUE. The pointer is then the place where the key
- * would be added.
- * WARNING: The returned pointer becomes invalid when the hashtable is changed
- * (adding, setting or removing an item)!
- */
- hashitem_T *
-hash_find(ht, key)
- hashtab_T *ht;
- char_u *key;
-{
- return hash_lookup(ht, key, hash_hash(key));
-}
-
-/*
- * Like hash_find(), but caller computes "hash".
- */
- hashitem_T *
-hash_lookup(ht, key, hash)
- hashtab_T *ht;
- char_u *key;
- hash_T hash;
-{
- hash_T perturb;
- hashitem_T *freeitem;
- hashitem_T *hi;
- int idx;
-
-#ifdef HT_DEBUG
- ++hash_count_lookup;
-#endif
-
- /*
- * Quickly handle the most common situations:
- * - return if there is no item at all
- * - skip over a removed item
- * - return if the item matches
- */
- idx = hash & ht->ht_mask;
- hi = &ht->ht_array[idx];
-
- if (hi->hi_key == NULL)
- return hi;
- if (hi->hi_key == HI_KEY_REMOVED)
- freeitem = hi;
- else if (hi->hi_hash == hash && STRCMP(hi->hi_key, key) == 0)
- return hi;
- else
- freeitem = NULL;
-
- /*
- * Need to search through the table to find the key. The algorithm
- * to step through the table starts with large steps, gradually becoming
- * smaller down to (1/4 table size + 1). This means it goes through all
- * table entries in the end.
- * When we run into a NULL key it's clear that the key isn't there.
- * Return the first available slot found (can be a slot of a removed
- * item).
- */
- for (perturb = hash; ; perturb >>= PERTURB_SHIFT)
- {
-#ifdef HT_DEBUG
- ++hash_count_perturb; /* count a "miss" for hashtab lookup */
-#endif
- idx = (idx << 2) + idx + perturb + 1;
- hi = &ht->ht_array[idx & ht->ht_mask];
- if (hi->hi_key == NULL)
- return freeitem == NULL ? hi : freeitem;
- if (hi->hi_hash == hash
- && hi->hi_key != HI_KEY_REMOVED
- && STRCMP(hi->hi_key, key) == 0)
- return hi;
- if (hi->hi_key == HI_KEY_REMOVED && freeitem == NULL)
- freeitem = hi;
- }
-}
-
-/*
- * Print the efficiency of hashtable lookups.
- * Useful when trying different hash algorithms.
- * Called when exiting.
- */
- void
-hash_debug_results()
-{
-#ifdef HT_DEBUG
- fprintf(stderr, "\r\n\r\n\r\n\r\n");
- fprintf(stderr, "Number of hashtable lookups: %ld\r\n", hash_count_lookup);
- fprintf(stderr, "Number of perturb loops: %ld\r\n", hash_count_perturb);
- fprintf(stderr, "Percentage of perturb loops: %ld%%\r\n",
- hash_count_perturb * 100 / hash_count_lookup);
-#endif
-}
-
-/*
- * Add item with key "key" to hashtable "ht".
- * Returns FAIL when out of memory or the key is already present.
- */
- int
-hash_add(ht, key)
- hashtab_T *ht;
- char_u *key;
-{
- hash_T hash = hash_hash(key);
- hashitem_T *hi;
-
- hi = hash_lookup(ht, key, hash);
- if (!HASHITEM_EMPTY(hi))
- {
- EMSG2(_(e_intern2), "hash_add()");
- return FAIL;
- }
- return hash_add_item(ht, hi, key, hash);
-}
-
-/*
- * Add item "hi" with "key" to hashtable "ht". "key" must not be NULL and
- * "hi" must have been obtained with hash_lookup() and point to an empty item.
- * "hi" is invalid after this!
- * Returns OK or FAIL (out of memory).
- */
- int
-hash_add_item(ht, hi, key, hash)
- hashtab_T *ht;
- hashitem_T *hi;
- char_u *key;
- hash_T hash;
-{
- /* If resizing failed before and it fails again we can't add an item. */
- if (ht->ht_error && hash_may_resize(ht, 0) == FAIL)
- return FAIL;
-
- ++ht->ht_used;
- if (hi->hi_key == NULL)
- ++ht->ht_filled;
- hi->hi_key = key;
- hi->hi_hash = hash;
-
- /* When the space gets low may resize the array. */
- return hash_may_resize(ht, 0);
-}
-
-#if 0 /* not used */
-/*
- * Overwrite hashtable item "hi" with "key". "hi" must point to the item that
- * is to be overwritten. Thus the number of items in the hashtable doesn't
- * change.
- * Although the key must be identical, the pointer may be different, thus it's
- * set anyway (the key is part of an item with that key).
- * The caller must take care of freeing the old item.
- * "hi" is invalid after this!
- */
- void
-hash_set(hi, key)
- hashitem_T *hi;
- char_u *key;
-{
- hi->hi_key = key;
-}
-#endif
-
-/*
- * Remove item "hi" from hashtable "ht". "hi" must have been obtained with
- * hash_lookup().
- * The caller must take care of freeing the item itself.
- */
- void
-hash_remove(ht, hi)
- hashtab_T *ht;
- hashitem_T *hi;
-{
- --ht->ht_used;
- hi->hi_key = HI_KEY_REMOVED;
- hash_may_resize(ht, 0);
-}
-
-/*
- * Lock a hashtable: prevent that ht_array changes.
- * Don't use this when items are to be added!
- * Must call hash_unlock() later.
- */
- void
-hash_lock(ht)
- hashtab_T *ht;
-{
- ++ht->ht_locked;
-}
-
-#if 0 /* currently not used */
-/*
- * Lock a hashtable at the specified number of entries.
- * Caller must make sure no more than "size" entries will be added.
- * Must call hash_unlock() later.
- */
- void
-hash_lock_size(ht, size)
- hashtab_T *ht;
- int size;
-{
- (void)hash_may_resize(ht, size);
- ++ht->ht_locked;
-}
-#endif
-
-/*
- * Unlock a hashtable: allow ht_array changes again.
- * Table will be resized (shrink) when necessary.
- * This must balance a call to hash_lock().
- */
- void
-hash_unlock(ht)
- hashtab_T *ht;
-{
- --ht->ht_locked;
- (void)hash_may_resize(ht, 0);
-}
-
-/*
- * Shrink a hashtable when there is too much empty space.
- * Grow a hashtable when there is not enough empty space.
- * Returns OK or FAIL (out of memory).
- */
- static int
-hash_may_resize(ht, minitems)
- hashtab_T *ht;
- int minitems; /* minimal number of items */
-{
- hashitem_T temparray[HT_INIT_SIZE];
- hashitem_T *oldarray, *newarray;
- hashitem_T *olditem, *newitem;
- int newi;
- int todo;
- long_u oldsize, newsize;
- long_u minsize;
- long_u newmask;
- hash_T perturb;
-
- /* Don't resize a locked table. */
- if (ht->ht_locked > 0)
- return OK;
-
-#ifdef HT_DEBUG
- if (ht->ht_used > ht->ht_filled)
- EMSG("hash_may_resize(): more used than filled");
- if (ht->ht_filled >= ht->ht_mask + 1)
- EMSG("hash_may_resize(): table completely filled");
-#endif
-
- if (minitems == 0)
- {
- /* Return quickly for small tables with at least two NULL items. NULL
- * items are required for the lookup to decide a key isn't there. */
- if (ht->ht_filled < HT_INIT_SIZE - 1
- && ht->ht_array == ht->ht_smallarray)
- return OK;
-
- /*
- * Grow or refill the array when it's more than 2/3 full (including
- * removed items, so that they get cleaned up).
- * Shrink the array when it's less than 1/5 full. When growing it is
- * at least 1/4 full (avoids repeated grow-shrink operations)
- */
- oldsize = ht->ht_mask + 1;
- if (ht->ht_filled * 3 < oldsize * 2 && ht->ht_used > oldsize / 5)
- return OK;
-
- if (ht->ht_used > 1000)
- minsize = ht->ht_used * 2; /* it's big, don't make too much room */
- else
- minsize = ht->ht_used * 4; /* make plenty of room */
- }
- else
- {
- /* Use specified size. */
- if ((long_u)minitems < ht->ht_used) /* just in case... */
- minitems = ht->ht_used;
- minsize = minitems * 3 / 2; /* array is up to 2/3 full */
- }
-
- newsize = HT_INIT_SIZE;
- while (newsize < minsize)
- {
- newsize <<= 1; /* make sure it's always a power of 2 */
- if (newsize == 0)
- return FAIL; /* overflow */
- }
-
- if (newsize == HT_INIT_SIZE)
- {
- /* Use the small array inside the hashdict structure. */
- newarray = ht->ht_smallarray;
- if (ht->ht_array == newarray)
- {
- /* Moving from ht_smallarray to ht_smallarray! Happens when there
- * are many removed items. Copy the items to be able to clean up
- * removed items. */
- mch_memmove(temparray, newarray, sizeof(temparray));
- oldarray = temparray;
- }
- else
- oldarray = ht->ht_array;
- }
- else
- {
- /* Allocate an array. */
- newarray = (hashitem_T *)alloc((unsigned)
- (sizeof(hashitem_T) * newsize));
- if (newarray == NULL)
- {
- /* Out of memory. When there are NULL items still return OK.
- * Otherwise set ht_error, because lookup may result in a hang if
- * we add another item. */
- if (ht->ht_filled < ht->ht_mask)
- return OK;
- ht->ht_error = TRUE;
- return FAIL;
- }
- oldarray = ht->ht_array;
- }
- vim_memset(newarray, 0, (size_t)(sizeof(hashitem_T) * newsize));
-
- /*
- * Move all the items from the old array to the new one, placing them in
- * the right spot. The new array won't have any removed items, thus this
- * is also a cleanup action.
- */
- newmask = newsize - 1;
- todo = ht->ht_used;
- for (olditem = oldarray; todo > 0; ++olditem)
- if (!HASHITEM_EMPTY(olditem))
- {
- /*
- * The algorithm to find the spot to add the item is identical to
- * the algorithm to find an item in hash_lookup(). But we only
- * need to search for a NULL key, thus it's simpler.
- */
- newi = olditem->hi_hash & newmask;
- newitem = &newarray[newi];
-
- if (newitem->hi_key != NULL)
- for (perturb = olditem->hi_hash; ; perturb >>= PERTURB_SHIFT)
- {
- newi = (newi << 2) + newi + perturb + 1;
- newitem = &newarray[newi & newmask];
- if (newitem->hi_key == NULL)
- break;
- }
- *newitem = *olditem;
- --todo;
- }
-
- if (ht->ht_array != ht->ht_smallarray)
- vim_free(ht->ht_array);
- ht->ht_array = newarray;
- ht->ht_mask = newmask;
- ht->ht_filled = ht->ht_used;
- ht->ht_error = FALSE;
-
- return OK;
-}
-
-/*
- * Get the hash number for a key.
- * If you think you know a better hash function: Compile with HT_DEBUG set and
- * run a script that uses hashtables a lot. Vim will then print statistics
- * when exiting. Try that with the current hash algorithm and yours. The
- * lower the percentage the better.
- */
- hash_T
-hash_hash(key)
- char_u *key;
-{
- hash_T hash;
- char_u *p;
-
- if ((hash = *key) == 0)
- return (hash_T)0; /* Empty keys are not allowed, but we don't
- want to crash if we get one. */
- p = key + 1;
-
-#if 0
- /* ElfHash algorithm, which is supposed to have an even distribution.
- * Suggested by Charles Campbell. */
- hash_T g;
-
- while (*p != NUL)
- {
- hash = (hash << 4) + *p++; /* clear low 4 bits of hash, add char */
- g = hash & 0xf0000000L; /* g has high 4 bits of hash only */
- if (g != 0)
- hash ^= g >> 24; /* xor g's high 4 bits into hash */
- }
-#else
-
- /* A simplistic algorithm that appears to do very well.
- * Suggested by George Reilly. */
- while (*p != NUL)
- hash = hash * 101 + *p++;
-#endif
-
- return hash;
-}
-
-#endif
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index 6a34ad34a..487485135 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -24,6 +24,10 @@
#include "vim.h"
#include "if_mzsch.h"
+/* Only do the following when the feature is enabled. Needed for "make
+ * depend". */
+#if defined(FEAT_MZSCHEME) || defined(PROTO)
+
/* Base data structures */
#define SCHEME_VIMBUFFERP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_buffer_type)
#define SCHEME_VIMWINDOWP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_window_type)
@@ -2709,3 +2713,5 @@ sandbox_network_guard(int argc, Scheme_Object **argv)
return scheme_void;
}
#endif
+
+#endif
diff --git a/src/if_mzsch.h b/src/if_mzsch.h
index 98bcf74b5..b745cce9e 100644
--- a/src/if_mzsch.h
+++ b/src/if_mzsch.h
@@ -9,7 +9,10 @@
# define __CYGWIN32__
#endif
-#include <scheme.h>
+/* #ifdef needed for "make depend" */
+#ifdef FEAT_MZSCHEME
+# include <scheme.h>
+#endif
#ifdef __MINGW32__
# undef __CYGWIN32__
diff --git a/src/memline.c b/src/memline.c
index 6dc23f4e0..5543e5d39 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -323,7 +323,9 @@ ml_open(buf)
STRNCPY(b0p->b0_version + 4, Version, 6);
long_to_char((long)mfp->mf_page_size, b0p->b0_page_size);
- if (!B_SPELL(buf))
+#ifdef FEAT_SPELL
+ if (!buf->b_spell)
+#endif
{
b0p->b0_dirty = buf->b_changed ? B0_DIRTY : 0;
b0p->b0_flags = get_fileformat(buf) + 1;
diff --git a/src/popupmenu.c b/src/popupmnu.c
index e8ff41732..861e74cee 100644
--- a/src/popupmenu.c
+++ b/src/popupmnu.c
@@ -8,7 +8,7 @@
*/
/*
- * popupmenu.c: Popup menu (PUM)
+ * popupmnu.c: Popup menu (PUM)
*/
#include "vim.h"
diff --git a/src/proto/edit.pro b/src/proto/edit.pro
index 031f6952b..819cc02eb 100644
--- a/src/proto/edit.pro
+++ b/src/proto/edit.pro
@@ -1,42 +1,42 @@
/* edit.c */
-int edit __ARGS((int cmdchar, int startln, long count));
-void edit_putchar __ARGS((int c, int highlight));
-void edit_unputchar __ARGS((void));
-void display_dollar __ARGS((colnr_T col));
-void change_indent __ARGS((int type, int amount, int round, int replaced));
-void truncate_spaces __ARGS((char_u *line));
-void backspace_until_column __ARGS((int col));
-int vim_is_ctrl_x_key __ARGS((int c));
-int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags));
-int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags));
-void set_completion __ARGS((int startcol, list_T *list));
-void ins_compl_show_pum __ARGS((void));
-char_u *find_word_start __ARGS((char_u *ptr));
-char_u *find_word_end __ARGS((char_u *ptr));
-int ins_compl_active __ARGS((void));
-int ins_compl_add_tv __ARGS((typval_T *tv, int dir));
-void ins_compl_check_keys __ARGS((int frequency));
-int get_literal __ARGS((void));
-void insertchar __ARGS((int c, int flags, int second_indent));
-void auto_format __ARGS((int trailblank, int prev_line));
-int comp_textwidth __ARGS((int ff));
-int stop_arrow __ARGS((void));
-void set_last_insert __ARGS((int c));
-void free_last_insert __ARGS((void));
-char_u *add_char2buf __ARGS((int c, char_u *s));
-void beginline __ARGS((int flags));
-int oneright __ARGS((void));
-int oneleft __ARGS((void));
-int cursor_up __ARGS((long n, int upd_topline));
-int cursor_down __ARGS((long n, int upd_topline));
-int stuff_inserted __ARGS((int c, long count, int no_esc));
-char_u *get_last_insert __ARGS((void));
-char_u *get_last_insert_save __ARGS((void));
-void replace_push __ARGS((int c));
-void fixthisline __ARGS((int (*get_the_indent)(void)));
-void fix_indent __ARGS((void));
-int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
-int hkmap __ARGS((int c));
-void ins_scroll __ARGS((void));
-void ins_horscroll __ARGS((void));
+extern int edit __ARGS((int cmdchar, int startln, long count));
+extern void edit_putchar __ARGS((int c, int highlight));
+extern void edit_unputchar __ARGS((void));
+extern void display_dollar __ARGS((colnr_T col));
+extern void change_indent __ARGS((int type, int amount, int round, int replaced));
+extern void truncate_spaces __ARGS((char_u *line));
+extern void backspace_until_column __ARGS((int col));
+extern int vim_is_ctrl_x_key __ARGS((int c));
+extern int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags));
+extern int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags));
+extern void set_completion __ARGS((int startcol, list_T *list));
+extern void ins_compl_show_pum __ARGS((void));
+extern char_u *find_word_start __ARGS((char_u *ptr));
+extern char_u *find_word_end __ARGS((char_u *ptr));
+extern int ins_compl_active __ARGS((void));
+extern int ins_compl_add_tv __ARGS((typval_T *tv, int dir));
+extern void ins_compl_check_keys __ARGS((int frequency));
+extern int get_literal __ARGS((void));
+extern void insertchar __ARGS((int c, int flags, int second_indent));
+extern void auto_format __ARGS((int trailblank, int prev_line));
+extern int comp_textwidth __ARGS((int ff));
+extern int stop_arrow __ARGS((void));
+extern void set_last_insert __ARGS((int c));
+extern void free_last_insert __ARGS((void));
+extern char_u *add_char2buf __ARGS((int c, char_u *s));
+extern void beginline __ARGS((int flags));
+extern int oneright __ARGS((void));
+extern int oneleft __ARGS((void));
+extern int cursor_up __ARGS((long n, int upd_topline));
+extern int cursor_down __ARGS((long n, int upd_topline));
+extern int stuff_inserted __ARGS((int c, long count, int no_esc));
+extern char_u *get_last_insert __ARGS((void));
+extern char_u *get_last_insert_save __ARGS((void));
+extern void replace_push __ARGS((int c));
+extern void fixthisline __ARGS((int (*get_the_indent)(void)));
+extern void fix_indent __ARGS((void));
+extern int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
+extern int hkmap __ARGS((int c));
+extern void ins_scroll __ARGS((void));
+extern void ins_horscroll __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/proto/ex_cmds.pro b/src/proto/ex_cmds.pro
index 9751c4ca4..84741c434 100644
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -1,59 +1,59 @@
/* ex_cmds.c */
-void do_ascii __ARGS((exarg_T *eap));
-void ex_align __ARGS((exarg_T *eap));
-void ex_sort __ARGS((exarg_T *eap));
-void ex_retab __ARGS((exarg_T *eap));
-int do_move __ARGS((linenr_T line1, linenr_T line2, linenr_T dest));
-void ex_copy __ARGS((linenr_T line1, linenr_T line2, linenr_T n));
-void free_prev_shellcmd __ARGS((void));
-void do_bang __ARGS((int addr_count, exarg_T *eap, int forceit, int do_in, int do_out));
-void do_shell __ARGS((char_u *cmd, int flags));
-char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp));
-void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname));
-int viminfo_error __ARGS((char *errnum, char *message, char_u *line));
-int read_viminfo __ARGS((char_u *file, int want_info, int want_marks, int forceit));
-void write_viminfo __ARGS((char_u *file, int forceit));
-int viminfo_readline __ARGS((vir_T *virp));
-char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert));
-void viminfo_writestring __ARGS((FILE *fd, char_u *p));
-void do_fixdel __ARGS((exarg_T *eap));
-void print_line_no_prefix __ARGS((linenr_T lnum, int use_number, int list));
-void print_line __ARGS((linenr_T lnum, int use_number, int list));
-void ex_file __ARGS((exarg_T *eap));
-void ex_update __ARGS((exarg_T *eap));
-void ex_write __ARGS((exarg_T *eap));
-int do_write __ARGS((exarg_T *eap));
-void ex_wnext __ARGS((exarg_T *eap));
-void do_wqall __ARGS((exarg_T *eap));
-int not_writing __ARGS((void));
-int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
-int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags));
-void ex_append __ARGS((exarg_T *eap));
-void ex_change __ARGS((exarg_T *eap));
-void ex_z __ARGS((exarg_T *eap));
-int check_restricted __ARGS((void));
-int check_secure __ARGS((void));
-void do_sub __ARGS((exarg_T *eap));
-int do_sub_msg __ARGS((int count_only));
-void ex_global __ARGS((exarg_T *eap));
-void global_exe __ARGS((char_u *cmd));
-int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
-void write_viminfo_sub_string __ARGS((FILE *fp));
-void free_old_sub __ARGS((void));
-int prepare_tagpreview __ARGS((void));
-void ex_help __ARGS((exarg_T *eap));
-char_u *check_help_lang __ARGS((char_u *arg));
-int help_heuristic __ARGS((char_u *matched_string, int offset, int wrong_case));
-int find_help_tags __ARGS((char_u *arg, int *num_matches, char_u ***matches, int keep_lang));
-void fix_help_buffer __ARGS((void));
-void ex_exusage __ARGS((exarg_T *eap));
-void ex_viusage __ARGS((exarg_T *eap));
-void ex_helptags __ARGS((exarg_T *eap));
-void ex_sign __ARGS((exarg_T *eap));
-void sign_gui_started __ARGS((void));
-int sign_get_attr __ARGS((int typenr, int line));
-char_u *sign_get_text __ARGS((int typenr));
-void *sign_get_image __ARGS((int typenr));
-char_u *sign_typenr2name __ARGS((int typenr));
-void ex_drop __ARGS((exarg_T *eap));
+extern void do_ascii __ARGS((exarg_T *eap));
+extern void ex_align __ARGS((exarg_T *eap));
+extern void ex_sort __ARGS((exarg_T *eap));
+extern void ex_retab __ARGS((exarg_T *eap));
+extern int do_move __ARGS((linenr_T line1, linenr_T line2, linenr_T dest));
+extern void ex_copy __ARGS((linenr_T line1, linenr_T line2, linenr_T n));
+extern void free_prev_shellcmd __ARGS((void));
+extern void do_bang __ARGS((int addr_count, exarg_T *eap, int forceit, int do_in, int do_out));
+extern void do_shell __ARGS((char_u *cmd, int flags));
+extern char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp));
+extern void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname));
+extern int viminfo_error __ARGS((char *errnum, char *message, char_u *line));
+extern int read_viminfo __ARGS((char_u *file, int want_info, int want_marks, int forceit));
+extern void write_viminfo __ARGS((char_u *file, int forceit));
+extern int viminfo_readline __ARGS((vir_T *virp));
+extern char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert));
+extern void viminfo_writestring __ARGS((FILE *fd, char_u *p));
+extern void do_fixdel __ARGS((exarg_T *eap));
+extern void print_line_no_prefix __ARGS((linenr_T lnum, int use_number, int list));
+extern void print_line __ARGS((linenr_T lnum, int use_number, int list));
+extern void ex_file __ARGS((exarg_T *eap));
+extern void ex_update __ARGS((exarg_T *eap));
+extern void ex_write __ARGS((exarg_T *eap));
+extern int do_write __ARGS((exarg_T *eap));
+extern void ex_wnext __ARGS((exarg_T *eap));
+extern void do_wqall __ARGS((exarg_T *eap));
+extern int not_writing __ARGS((void));
+extern int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit));
+extern int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags));
+extern void ex_append __ARGS((exarg_T *eap));
+extern void ex_change __ARGS((exarg_T *eap));
+extern void ex_z __ARGS((exarg_T *eap));
+extern int check_restricted __ARGS((void));
+extern int check_secure __ARGS((void));
+extern void do_sub __ARGS((exarg_T *eap));
+extern int do_sub_msg __ARGS((int count_only));
+extern void ex_global __ARGS((exarg_T *eap));
+extern void global_exe __ARGS((char_u *cmd));
+extern int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
+extern void write_viminfo_sub_string __ARGS((FILE *fp));
+extern void free_old_sub __ARGS((void));
+extern int prepare_tagpreview __ARGS((void));
+extern void ex_help __ARGS((exarg_T *eap));
+extern char_u *check_help_lang __ARGS((char_u *arg));
+extern int help_heuristic __ARGS((char_u *matched_string, int offset, int wrong_case));
+extern int find_help_tags __ARGS((char_u *arg, int *num_matches, char_u ***matches, int keep_lang));
+extern void fix_help_buffer __ARGS((void));
+extern void ex_exusage __ARGS((exarg_T *eap));
+extern void ex_viusage __ARGS((exarg_T *eap));
+extern void ex_helptags __ARGS((exarg_T *eap));
+extern void ex_sign __ARGS((exarg_T *eap));
+extern void sign_gui_started __ARGS((void));
+extern int sign_get_attr __ARGS((int typenr, int line));
+extern char_u *sign_get_text __ARGS((int typenr));
+extern void *sign_get_image __ARGS((int typenr));
+extern char_u *sign_typenr2name __ARGS((int typenr));
+extern void ex_drop __ARGS((exarg_T *eap));
/* vim: set ft=c : */
diff --git a/src/proto/ex_cmds2.pro b/src/proto/ex_cmds2.pro
index 336e01e75..9c8932949 100644
--- a/src/proto/ex_cmds2.pro
+++ b/src/proto/ex_cmds2.pro
@@ -1,83 +1,83 @@
/* ex_cmds2.c */
-void do_debug __ARGS((char_u *cmd));
-void ex_debug __ARGS((exarg_T *eap));
-void dbg_check_breakpoint __ARGS((exarg_T *eap));
-int dbg_check_skipped __ARGS((exarg_T *eap));
-void ex_breakadd __ARGS((exarg_T *eap));
-void ex_debuggreedy __ARGS((exarg_T *eap));
-void ex_breakdel __ARGS((exarg_T *eap));
-void ex_breaklist __ARGS((exarg_T *eap));
-linenr_T dbg_find_breakpoint __ARGS((int file, char_u *fname, linenr_T after));
-int has_profiling __ARGS((int file, char_u *fname, int *fp));
-void dbg_breakpoint __ARGS((char_u *name, linenr_T lnum));
-void profile_zero __ARGS((proftime_T *tm));
-void profile_start __ARGS((proftime_T *tm));
-void profile_end __ARGS((proftime_T *tm));
-void profile_sub __ARGS((proftime_T *tm, proftime_T *tm2));
-void profile_add __ARGS((proftime_T *tm, proftime_T *tm2));
-void profile_self __ARGS((proftime_T *self, proftime_T *total, proftime_T *children));
-void profile_get_wait __ARGS((proftime_T *tm));
-void profile_sub_wait __ARGS((proftime_T *tm, proftime_T *tma));
-int profile_equal __ARGS((proftime_T *tm1, proftime_T *tm2));
-int profile_cmp __ARGS((proftime_T *tm1, proftime_T *tm2));
-char *profile_msg __ARGS((proftime_T *tm));
-void ex_profile __ARGS((exarg_T *eap));
-void profile_dump __ARGS((void));
-void script_prof_save __ARGS((proftime_T *tm));
-void script_prof_restore __ARGS((proftime_T *tm));
-void prof_inchar_enter __ARGS((void));
-void prof_inchar_exit __ARGS((void));
-int prof_def_func __ARGS((void));
-int autowrite __ARGS((buf_T *buf, int forceit));
-void autowrite_all __ARGS((void));
-int check_changed __ARGS((buf_T *buf, int checkaw, int mult_win, int forceit, int allbuf));
-void browse_save_fname __ARGS((buf_T *buf));
-void dialog_changed __ARGS((buf_T *buf, int checkall));
-int can_abandon __ARGS((buf_T *buf, int forceit));
-int check_changed_any __ARGS((int hidden));
-int check_fname __ARGS((void));
-int buf_write_all __ARGS((buf_T *buf, int forceit));
-int get_arglist __ARGS((garray_T *gap, char_u *str));
-int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp));
-void set_arglist __ARGS((char_u *str));
-void check_arg_idx __ARGS((win_T *win));
-void ex_args __ARGS((exarg_T *eap));
-void ex_previous __ARGS((exarg_T *eap));
-void ex_rewind __ARGS((exarg_T *eap));
-void ex_last __ARGS((exarg_T *eap));
-void ex_argument __ARGS((exarg_T *eap));
-void do_argfile __ARGS((exarg_T *eap, int argn));
-void ex_next __ARGS((exarg_T *eap));
-void ex_argedit __ARGS((exarg_T *eap));
-void ex_argadd __ARGS((exarg_T *eap));
-void ex_argdelete __ARGS((exarg_T *eap));
-void ex_listdo __ARGS((exarg_T *eap));
-void ex_compiler __ARGS((exarg_T *eap));
-void ex_runtime __ARGS((exarg_T *eap));
-int source_runtime __ARGS((char_u *name, int all));
-int do_in_runtimepath __ARGS((char_u *name, int all, void (*callback)(char_u *fname, void *ck), void *cookie));
-void ex_options __ARGS((exarg_T *eap));
-void ex_source __ARGS((exarg_T *eap));
-linenr_T *source_breakpoint __ARGS((void *cookie));
-int *source_dbg_tick __ARGS((void *cookie));
-int source_level __ARGS((void *cookie));
-int do_source __ARGS((char_u *fname, int check_other, int is_vimrc));
-void ex_scriptnames __ARGS((exarg_T *eap));
-void scriptnames_slash_adjust __ARGS((void));
-char_u *get_scriptname __ARGS((scid_T id));
-void free_scriptnames __ARGS((void));
-char *fgets_cr __ARGS((char *s, int n, FILE *stream));
-char_u *getsourceline __ARGS((int c, void *cookie, int indent));
-void script_line_start __ARGS((void));
-void script_line_exec __ARGS((void));
-void script_line_end __ARGS((void));
-void ex_scriptencoding __ARGS((exarg_T *eap));
-void ex_finish __ARGS((exarg_T *eap));
-void do_finish __ARGS((exarg_T *eap, int reanimate));
-int source_finished __ARGS((char_u *(*getline)(int, void *, int), void *cookie));
-void ex_checktime __ARGS((exarg_T *eap));
-char_u *get_mess_lang __ARGS((void));
-void set_lang_var __ARGS((void));
-void ex_language __ARGS((exarg_T *eap));
-char_u *get_lang_arg __ARGS((expand_T *xp, int idx));
+extern void do_debug __ARGS((char_u *cmd));
+extern void ex_debug __ARGS((exarg_T *eap));
+extern void dbg_check_breakpoint __ARGS((exarg_T *eap));
+extern int dbg_check_skipped __ARGS((exarg_T *eap));
+extern void ex_breakadd __ARGS((exarg_T *eap));
+extern void ex_debuggreedy __ARGS((exarg_T *eap));
+extern void ex_breakdel __ARGS((exarg_T *eap));
+extern void ex_breaklist __ARGS((exarg_T *eap));
+extern linenr_T dbg_find_breakpoint __ARGS((int file, char_u *fname, linenr_T after));
+extern int has_profiling __ARGS((int file, char_u *fname, int *fp));
+extern void dbg_breakpoint __ARGS((char_u *name, linenr_T lnum));
+extern void profile_start __ARGS((proftime_T *tm));
+extern void profile_end __ARGS((proftime_T *tm));
+extern void profile_sub __ARGS((proftime_T *tm, proftime_T *tm2));
+extern char *profile_msg __ARGS((proftime_T *tm));
+extern void profile_zero __ARGS((proftime_T *tm));
+extern void profile_add __ARGS((proftime_T *tm, proftime_T *tm2));
+extern void profile_self __ARGS((proftime_T *self, proftime_T *total, proftime_T *children));
+extern void profile_get_wait __ARGS((proftime_T *tm));
+extern void profile_sub_wait __ARGS((proftime_T *tm, proftime_T *tma));
+extern int profile_equal __ARGS((proftime_T *tm1, proftime_T *tm2));
+extern int profile_cmp __ARGS((proftime_T *tm1, proftime_T *tm2));
+extern void ex_profile __ARGS((exarg_T *eap));
+extern void profile_dump __ARGS((void));
+extern void script_prof_save __ARGS((proftime_T *tm));
+extern void script_prof_restore __ARGS((proftime_T *tm));
+extern void prof_inchar_enter __ARGS((void));
+extern void prof_inchar_exit __ARGS((void));
+extern int prof_def_func __ARGS((void));
+extern int autowrite __ARGS((buf_T *buf, int forceit));
+extern void autowrite_all __ARGS((void));
+extern int check_changed __ARGS((buf_T *buf, int checkaw, int mult_win, int forceit, int allbuf));
+extern void browse_save_fname __ARGS((buf_T *buf));
+extern void dialog_changed __ARGS((buf_T *buf, int checkall));
+extern int can_abandon __ARGS((buf_T *buf, int forceit));
+extern int check_changed_any __ARGS((int hidden));
+extern int check_fname __ARGS((void));
+extern int buf_write_all __ARGS((buf_T *buf, int forceit));
+extern int get_arglist __ARGS((garray_T *gap, char_u *str));
+extern int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp));
+extern void set_arglist __ARGS((char_u *str));
+extern void check_arg_idx __ARGS((win_T *win));
+extern void ex_args __ARGS((exarg_T *eap));
+extern void ex_previous __ARGS((exarg_T *eap));
+extern void ex_rewind __ARGS((exarg_T *eap));
+extern void ex_last __ARGS((exarg_T *eap));
+extern void ex_argument __ARGS((exarg_T *eap));
+extern void do_argfile __ARGS((exarg_T *eap, int argn));
+extern void ex_next __ARGS((exarg_T *eap));
+extern void ex_argedit __ARGS((exarg_T *eap));
+extern void ex_argadd __ARGS((exarg_T *eap));
+extern void ex_argdelete __ARGS((exarg_T *eap));
+extern void ex_listdo __ARGS((exarg_T *eap));
+extern void ex_compiler __ARGS((exarg_T *eap));
+extern void ex_runtime __ARGS((exarg_T *eap));
+extern int source_runtime __ARGS((char_u *name, int all));
+extern int do_in_runtimepath __ARGS((char_u *name, int all, void (*callback)(char_u *fname, void *ck), void *cookie));
+extern void ex_options __ARGS((exarg_T *eap));
+extern void ex_source __ARGS((exarg_T *eap));
+extern linenr_T *source_breakpoint __ARGS((void *cookie));
+extern int *source_dbg_tick __ARGS((void *cookie));
+extern int source_level __ARGS((void *cookie));
+extern int do_source __ARGS((char_u *fname, int check_other, int is_vimrc));
+extern void ex_scriptnames __ARGS((exarg_T *eap));
+extern void scriptnames_slash_adjust __ARGS((void));
+extern char_u *get_scriptname __ARGS((scid_T id));
+extern void free_scriptnames __ARGS((void));
+extern char *fgets_cr __ARGS((char *s, int n, FILE *stream));
+extern char_u *getsourceline __ARGS((int c, void *cookie, int indent));
+extern void script_line_start __ARGS((void));
+extern void script_line_exec __ARGS((void));
+extern void script_line_end __ARGS((void));
+extern void ex_scriptencoding __ARGS((exarg_T *eap));
+extern void ex_finish __ARGS((exarg_T *eap));
+extern void do_finish __ARGS((exarg_T *eap, int reanimate));
+extern int source_finished __ARGS((char_u *(*getline)(int, void *, int), void *cookie));
+extern void ex_checktime __ARGS((exarg_T *eap));
+extern char_u *get_mess_lang __ARGS((void));
+extern void set_lang_var __ARGS((void));
+extern void ex_language __ARGS((exarg_T *eap));
+extern char_u *get_lang_arg __ARGS((expand_T *xp, int idx));
/* vim: set ft=c : */
diff --git a/src/proto/fileio.pro b/src/proto/fileio.pro
index a8c4142ef..1051ff4fa 100644
--- a/src/proto/fileio.pro
+++ b/src/proto/fileio.pro
@@ -1,51 +1,51 @@
/* fileio.c */
-void filemess __ARGS((buf_T *buf, char_u *name, char_u *s, int attr));
-int readfile __ARGS((char_u *fname, char_u *sfname, linenr_T from, linenr_T lines_to_skip, linenr_T lines_to_read, exarg_T *eap, int flags));
-int prep_exarg __ARGS((exarg_T *eap, buf_T *buf));
-int buf_write __ARGS((buf_T *buf, char_u *fname, char_u *sfname, linenr_T start, linenr_T end, exarg_T *eap, int append, int forceit, int reset_changed, int filtering));
-void msg_add_fname __ARGS((buf_T *buf, char_u *fname));
-void msg_add_lines __ARGS((int insert_space, long lnum, long nchars));
-char_u *shorten_fname __ARGS((char_u *full_path, char_u *dir_name));
-void shorten_fnames __ARGS((int force));
-void shorten_filenames __ARGS((char_u **fnames, int count));
-char_u *modname __ARGS((char_u *fname, char_u *ext, int prepend_dot));
-char_u *buf_modname __ARGS((int shortname, char_u *fname, char_u *ext, int prepend_dot));
-int vim_fgets __ARGS((char_u *buf, int size, FILE *fp));
-int tag_fgets __ARGS((char_u *buf, int size, FILE *fp));
-int vim_rename __ARGS((char_u *from, char_u *to));
-int check_timestamps __ARGS((int focus));
-int buf_check_timestamp __ARGS((buf_T *buf, int focus));
-void buf_reload __ARGS((buf_T *buf, int orig_mode));
-void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
-void write_lnum_adjust __ARGS((linenr_T offset));
-void vim_deltempdir __ARGS((void));
-char_u *vim_tempname __ARGS((int extra_char));
-void forward_slash __ARGS((char_u *fname));
-void aubuflocal_remove __ARGS((buf_T *buf));
-int au_has_group __ARGS((char_u *name));
-void do_augroup __ARGS((char_u *arg, int del_group));
-void free_all_autocmds __ARGS((void));
-int check_ei __ARGS((void));
-char_u *au_event_disable __ARGS((char *what));
-void au_event_restore __ARGS((char_u *old_ei));
-void do_autocmd __ARGS((char_u *arg, int forceit));
-int do_doautocmd __ARGS((char_u *arg, int do_msg));
-void ex_doautoall __ARGS((exarg_T *eap));
-void aucmd_prepbuf __ARGS((aco_save_T *aco, buf_T *buf));
-void aucmd_restbuf __ARGS((aco_save_T *aco));
-int apply_autocmds __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
-int apply_autocmds_retval __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, int *retval));
-int has_cursorhold __ARGS((void));
-int trigger_cursorhold __ARGS((void));
-int has_cursormoved __ARGS((void));
-int has_cursormovedI __ARGS((void));
-int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
-char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
-char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
-char_u *get_event_name __ARGS((expand_T *xp, int idx));
-int autocmd_supported __ARGS((char_u *name));
-int au_exists __ARGS((char_u *arg));
-int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
-int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
-char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
+extern void filemess __ARGS((buf_T *buf, char_u *name, char_u *s, int attr));
+extern int readfile __ARGS((char_u *fname, char_u *sfname, linenr_T from, linenr_T lines_to_skip, linenr_T lines_to_read, exarg_T *eap, int flags));
+extern int prep_exarg __ARGS((exarg_T *eap, buf_T *buf));
+extern int buf_write __ARGS((buf_T *buf, char_u *fname, char_u *sfname, linenr_T start, linenr_T end, exarg_T *eap, int append, int forceit, int reset_changed, int filtering));
+extern void msg_add_fname __ARGS((buf_T *buf, char_u *fname));
+extern void msg_add_lines __ARGS((int insert_space, long lnum, long nchars));
+extern char_u *shorten_fname __ARGS((char_u *full_path, char_u *dir_name));
+extern void shorten_fnames __ARGS((int force));
+extern void shorten_filenames __ARGS((char_u **fnames, int count));
+extern char_u *modname __ARGS((char_u *fname, char_u *ext, int prepend_dot));
+extern char_u *buf_modname __ARGS((int shortname, char_u *fname, char_u *ext, int prepend_dot));
+extern int vim_fgets __ARGS((char_u *buf, int size, FILE *fp));
+extern int tag_fgets __ARGS((char_u *buf, int size, FILE *fp));
+extern int vim_rename __ARGS((char_u *from, char_u *to));
+extern int check_timestamps __ARGS((int focus));
+extern int buf_check_timestamp __ARGS((buf_T *buf, int focus));
+extern void buf_reload __ARGS((buf_T *buf, int orig_mode));
+extern void buf_store_time __ARGS((buf_T *buf, struct stat *st, char_u *fname));
+extern void write_lnum_adjust __ARGS((linenr_T offset));
+extern void vim_deltempdir __ARGS((void));
+extern char_u *vim_tempname __ARGS((int extra_char));
+extern void forward_slash __ARGS((char_u *fname));
+extern void aubuflocal_remove __ARGS((buf_T *buf));
+extern int au_has_group __ARGS((char_u *name));
+extern void do_augroup __ARGS((char_u *arg, int del_group));
+extern void free_all_autocmds __ARGS((void));
+extern int check_ei __ARGS((void));
+extern char_u *au_event_disable __ARGS((char *what));
+extern void au_event_restore __ARGS((char_u *old_ei));
+extern void do_autocmd __ARGS((char_u *arg, int forceit));
+extern int do_doautocmd __ARGS((char_u *arg, int do_msg));
+extern void ex_doautoall __ARGS((exarg_T *eap));
+extern void aucmd_prepbuf __ARGS((aco_save_T *aco, buf_T *buf));
+extern void aucmd_restbuf __ARGS((aco_save_T *aco));
+extern int apply_autocmds __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf));
+extern int apply_autocmds_retval __ARGS((event_T event, char_u *fname, char_u *fname_io, int force, buf_T *buf, int *retval));
+extern int has_cursorhold __ARGS((void));
+extern int trigger_cursorhold __ARGS((void));
+extern int has_cursormoved __ARGS((void));
+extern int has_cursormovedI __ARGS((void));
+extern int has_autocmd __ARGS((event_T event, char_u *sfname, buf_T *buf));
+extern char_u *get_augroup_name __ARGS((expand_T *xp, int idx));
+extern char_u *set_context_in_autocmd __ARGS((expand_T *xp, char_u *arg, int doautocmd));
+extern char_u *get_event_name __ARGS((expand_T *xp, int idx));
+extern int autocmd_supported __ARGS((char_u *name));
+extern int au_exists __ARGS((char_u *arg));
+extern int match_file_pat __ARGS((char_u *pattern, regprog_T *prog, char_u *fname, char_u *sfname, char_u *tail, int allow_dirs));
+extern int match_file_list __ARGS((char_u *list, char_u *sfname, char_u *ffname));
+extern char_u *file_pat_to_reg_pat __ARGS((char_u *pat, char_u *pat_end, char *allow_dirs, int no_bslash));
/* vim: set ft=c : */
diff --git a/src/proto/gui_beval.pro b/src/proto/gui_beval.pro
index 33c1738d3..42e0082f9 100644
--- a/src/proto/gui_beval.pro
+++ b/src/proto/gui_beval.pro
@@ -1,11 +1,11 @@
/* gui_beval.c */
-void general_beval_cb __ARGS((BalloonEval *beval, int state));
-BalloonEval *gui_mch_create_beval_area __ARGS((void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData));
-void gui_mch_destroy_beval_area __ARGS((BalloonEval *beval));
-void gui_mch_enable_beval_area __ARGS((BalloonEval *beval));
-void gui_mch_disable_beval_area __ARGS((BalloonEval *beval));
-BalloonEval *gui_mch_currently_showing_beval __ARGS((void));
-int get_beval_info __ARGS((BalloonEval *beval, int getword, win_T **winp, linenr_T *lnump, char_u **textp, int *colp));
-void gui_mch_post_balloon __ARGS((BalloonEval *beval, char_u *mesg));
-void gui_mch_unpost_balloon __ARGS((BalloonEval *beval));
+extern void general_beval_cb __ARGS((BalloonEval *beval, int state));
+extern BalloonEval *gui_mch_create_beval_area __ARGS((void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData));
+extern void gui_mch_destroy_beval_area __ARGS((BalloonEval *beval));
+extern void gui_mch_enable_beval_area __ARGS((BalloonEval *beval));
+extern void gui_mch_disable_beval_area __ARGS((BalloonEval *beval));
+extern BalloonEval *gui_mch_currently_showing_beval __ARGS((void));
+extern int get_beval_info __ARGS((BalloonEval *beval, int getword, win_T **winp, linenr_T *lnump, char_u **textp, int *colp));
+extern void gui_mch_post_balloon __ARGS((BalloonEval *beval, char_u *mesg));
+extern void gui_mch_unpost_balloon __ARGS((BalloonEval *beval));
/* vim: set ft=c : */
diff --git a/src/proto/gui_motif.pro b/src/proto/gui_motif.pro
index 8c49d2f2f..c1b194612 100644
--- a/src/proto/gui_motif.pro
+++ b/src/proto/gui_motif.pro
@@ -1,42 +1,42 @@
/* gui_motif.c */
-void gui_x11_create_widgets __ARGS((void));
-void gui_x11_destroy_widgets __ARGS((void));
-void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
-void gui_x11_set_back_color __ARGS((void));
-void manage_centered __ARGS((Widget dialog_child));
-XmFontList gui_motif_create_fontlist __ARGS((XFontStruct *font));
-XmFontList gui_motif_fontset2fontlist __ARGS((XFontSet *fontset));
-void gui_mch_enable_menu __ARGS((int flag));
-void gui_motif_set_mnemonics __ARGS((int enable));
-void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
-void gui_mch_toggle_tearoffs __ARGS((int enable));
-int gui_mch_text_area_extra_height __ARGS((void));
-void gui_mch_compute_menu_height __ARGS((Widget id));
-void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
-void gui_motif_update_mousemodel __ARGS((vimmenu_T *menu));
-void gui_mch_new_menu_colors __ARGS((void));
-void gui_mch_new_menu_font __ARGS((void));
-void gui_mch_new_tooltip_font __ARGS((void));
-void gui_mch_new_tooltip_colors __ARGS((void));
-void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
-void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
-void gui_mch_def_colors __ARGS((void));
-void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
-void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
-void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
-void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
-void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
-void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
-Window gui_x11_get_wid __ARGS((void));
-char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
-int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
-void gui_mch_enable_footer __ARGS((int showit));
-void gui_mch_set_footer __ARGS((char_u *s));
-void gui_mch_show_toolbar __ARGS((int showit));
-int gui_mch_compute_toolbar_height __ARGS((void));
-void motif_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
-void gui_motif_menu_fontlist __ARGS((Widget id));
-void gui_mch_find_dialog __ARGS((exarg_T *eap));
-void gui_mch_replace_dialog __ARGS((exarg_T *eap));
-void gui_motif_synch_fonts __ARGS((void));
+extern void gui_x11_create_widgets __ARGS((void));
+extern void gui_x11_destroy_widgets __ARGS((void));
+extern void gui_mch_set_text_area_pos __ARGS((int x, int y, int w, int h));
+extern void gui_x11_set_back_color __ARGS((void));
+extern void manage_centered __ARGS((Widget dialog_child));
+extern XmFontList gui_motif_create_fontlist __ARGS((XFontStruct *font));
+extern XmFontList gui_motif_fontset2fontlist __ARGS((XFontSet *fontset));
+extern void gui_mch_enable_menu __ARGS((int flag));
+extern void gui_motif_set_mnemonics __ARGS((int enable));
+extern void gui_mch_add_menu __ARGS((vimmenu_T *menu, int idx));
+extern void gui_mch_toggle_tearoffs __ARGS((int enable));
+extern int gui_mch_text_area_extra_height __ARGS((void));
+extern void gui_mch_compute_menu_height __ARGS((Widget id));
+extern void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
+extern void gui_motif_update_mousemodel __ARGS((vimmenu_T *menu));
+extern void gui_mch_new_menu_colors __ARGS((void));
+extern void gui_mch_new_menu_font __ARGS((void));
+extern void gui_mch_new_tooltip_font __ARGS((void));
+extern void gui_mch_new_tooltip_colors __ARGS((void));
+extern void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
+extern void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
+extern void gui_mch_def_colors __ARGS((void));
+extern void gui_mch_set_scrollbar_thumb __ARGS((scrollbar_T *sb, long val, long size, long max));
+extern void gui_mch_set_scrollbar_pos __ARGS((scrollbar_T *sb, int x, int y, int w, int h));
+extern void gui_mch_enable_scrollbar __ARGS((scrollbar_T *sb, int flag));
+extern void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
+extern void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
+extern void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
+extern Window gui_x11_get_wid __ARGS((void));
+extern char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
+extern int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
+extern void gui_mch_enable_footer __ARGS((int showit));
+extern void gui_mch_set_footer __ARGS((char_u *s));
+extern void gui_mch_show_toolbar __ARGS((int showit));
+extern int gui_mch_compute_toolbar_height __ARGS((void));
+extern void motif_get_toolbar_colors __ARGS((Pixel *bgp, Pixel *fgp, Pixel *bsp, Pixel *tsp, Pixel *hsp));
+extern void gui_motif_menu_fontlist __ARGS((Widget id));
+extern void gui_mch_find_dialog __ARGS((exarg_T *eap));
+extern void gui_mch_replace_dialog __ARGS((exarg_T *eap));
+extern void gui_motif_synch_fonts __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/proto/gui_x11.pro b/src/proto/gui_x11.pro
index 3fd4673bc..66f192a41 100644
--- a/src/proto/gui_x11.pro
+++ b/src/proto/gui_x11.pro
@@ -1,70 +1,70 @@
/* gui_x11.c */
-void gui_x11_key_hit_cb __ARGS((Widget w, XtPointer dud, XEvent *event, Boolean *dum));
-void gui_mch_prepare __ARGS((int *argc, char **argv));
-int gui_mch_init_check __ARGS((void));
-int gui_mch_init __ARGS((void));
-void gui_mch_uninit __ARGS((void));
-void gui_mch_new_colors __ARGS((void));
-int gui_mch_open __ARGS((void));
-void gui_init_tooltip_font __ARGS((void));
-void gui_init_menu_font __ARGS((void));
-void gui_mch_exit __ARGS((int rc));
-int gui_mch_get_winpos __ARGS((int *x, int *y));
-void gui_mch_set_winpos __ARGS((int x, int y));
-void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
-void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
-int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
-GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
-char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
-int gui_mch_adjust_charheight __ARGS((void));
-void gui_mch_set_font __ARGS((GuiFont font));
-void gui_mch_set_fontset __ARGS((GuiFontset fontset));
-void gui_mch_free_font __ARGS((GuiFont font));
-void gui_mch_free_fontset __ARGS((GuiFontset fontset));
-GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int giveErrorIfMissing, int fixed_width));
-int fontset_height __ARGS((XFontSet fs));
-int fontset_height2 __ARGS((XFontSet fs));
-guicolor_T gui_mch_get_color __ARGS((char_u *reqname));
-void gui_mch_set_fg_color __ARGS((guicolor_T color));
-void gui_mch_set_bg_color __ARGS((guicolor_T color));
-void gui_mch_set_sp_color __ARGS((guicolor_T color));
-void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
-int gui_mch_haskey __ARGS((char_u *name));
-int gui_get_x11_windis __ARGS((Window *win, Display **dis));
-void gui_mch_beep __ARGS((void));
-void gui_mch_flash __ARGS((int msec));
-void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
-void gui_mch_iconify __ARGS((void));
-void gui_mch_set_foreground __ARGS((void));
-void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
-void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
-void gui_mch_update __ARGS((void));
-int gui_mch_wait_for_chars __ARGS((long wtime));
-void gui_mch_flush __ARGS((void));
-void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_mch_clear_all __ARGS((void));
-void gui_mch_delete_lines __ARGS((int row, int num_lines));
-void gui_mch_insert_lines __ARGS((int row, int num_lines));
-void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
-int clip_mch_own_selection __ARGS((VimClipboard *cbd));
-void clip_mch_request_selection __ARGS((VimClipboard *cbd));
-void clip_mch_set_selection __ARGS((VimClipboard *cbd));
-void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
-void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
-void gui_mch_draw_menubar __ARGS((void));
-void gui_x11_menu_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
-void gui_mch_set_blinking __ARGS((long waittime, long on, long off));
-void gui_mch_stop_blink __ARGS((void));
-void gui_mch_start_blink __ARGS((void));
-long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
-void gui_x11_callbacks __ARGS((Widget textArea, Widget vimForm));
-void gui_mch_getmouse __ARGS((int *x, int *y));
-void gui_mch_setmouse __ARGS((int x, int y));
-XButtonPressedEvent *gui_x11_get_last_mouse_event __ARGS((void));
-void gui_mch_drawsign __ARGS((int row, int col, int typenr));
-void *gui_mch_register_sign __ARGS((char_u *signfile));
-void gui_mch_destroy_sign __ARGS((void *sign));
-void gui_mch_mousehide __ARGS((int hide));
-void mch_set_mouse_shape __ARGS((int shape));
-void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));
+extern void gui_x11_key_hit_cb __ARGS((Widget w, XtPointer dud, XEvent *event, Boolean *dum));
+extern void gui_mch_prepare __ARGS((int *argc, char **argv));
+extern int gui_mch_init_check __ARGS((void));
+extern int gui_mch_init __ARGS((void));
+extern void gui_mch_uninit __ARGS((void));
+extern void gui_mch_new_colors __ARGS((void));
+extern int gui_mch_open __ARGS((void));
+extern void gui_init_tooltip_font __ARGS((void));
+extern void gui_init_menu_font __ARGS((void));
+extern void gui_mch_exit __ARGS((int rc));
+extern int gui_mch_get_winpos __ARGS((int *x, int *y));
+extern void gui_mch_set_winpos __ARGS((int x, int y));
+extern void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height));
+extern void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
+extern int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset));
+extern GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing));
+extern char_u *gui_mch_get_fontname __ARGS((GuiFont font, char_u *name));
+extern int gui_mch_adjust_charheight __ARGS((void));
+extern void gui_mch_set_font __ARGS((GuiFont font));
+extern void gui_mch_set_fontset __ARGS((GuiFontset fontset));
+extern void gui_mch_free_font __ARGS((GuiFont font));
+extern void gui_mch_free_fontset __ARGS((GuiFontset fontset));
+extern GuiFontset gui_mch_get_fontset __ARGS((char_u *name, int giveErrorIfMissing, int fixed_width));
+extern int fontset_height __ARGS((XFontSet fs));
+extern int fontset_height2 __ARGS((XFontSet fs));
+extern guicolor_T gui_mch_get_color __ARGS((char_u *reqname));
+extern void gui_mch_set_fg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_bg_color __ARGS((guicolor_T color));
+extern void gui_mch_set_sp_color __ARGS((guicolor_T color));
+extern void gui_mch_draw_string __ARGS((int row, int col, char_u *s, int len, int flags));
+extern int gui_mch_haskey __ARGS((char_u *name));
+extern int gui_get_x11_windis __ARGS((Window *win, Display **dis));
+extern void gui_mch_beep __ARGS((void));
+extern void gui_mch_flash __ARGS((int msec));
+extern void gui_mch_invert_rectangle __ARGS((int r, int c, int nr, int nc));
+extern void gui_mch_iconify __ARGS((void));
+extern void gui_mch_set_foreground __ARGS((void));
+extern void gui_mch_draw_hollow_cursor __ARGS((guicolor_T color));
+extern void gui_mch_draw_part_cursor __ARGS((int w, int h, guicolor_T color));
+extern void gui_mch_update __ARGS((void));
+extern int gui_mch_wait_for_chars __ARGS((long wtime));
+extern void gui_mch_flush __ARGS((void));
+extern void gui_mch_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_mch_clear_all __ARGS((void));
+extern void gui_mch_delete_lines __ARGS((int row, int num_lines));
+extern void gui_mch_insert_lines __ARGS((int row, int num_lines));
+extern void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
+extern int clip_mch_own_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_request_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_set_selection __ARGS((VimClipboard *cbd));
+extern void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
+extern void gui_mch_menu_hidden __ARGS((vimmenu_T *menu, int hidden));
+extern void gui_mch_draw_menubar __ARGS((void));
+extern void gui_x11_menu_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data));
+extern void gui_mch_set_blinking __ARGS((long waittime, long on, long off));
+extern void gui_mch_stop_blink __ARGS((void));
+extern void gui_mch_start_blink __ARGS((void));
+extern long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
+extern void gui_x11_callbacks __ARGS((Widget textArea, Widget vimForm));
+extern void gui_mch_getmouse __ARGS((int *x, int *y));
+extern void gui_mch_setmouse __ARGS((int x, int y));
+extern XButtonPressedEvent *gui_x11_get_last_mouse_event __ARGS((void));
+extern void gui_mch_drawsign __ARGS((int row, int col, int typenr));
+extern void *gui_mch_register_sign __ARGS((char_u *signfile));
+extern void gui_mch_destroy_sign __ARGS((void *sign));
+extern void gui_mch_mousehide __ARGS((int hide));
+extern void mch_set_mouse_shape __ARGS((int shape));
+extern void gui_mch_menu_set_tip __ARGS((vimmenu_T *menu));
/* vim: set ft=c : */
diff --git a/src/proto/hangulin.pro b/src/proto/hangulin.pro
index adfde142f..350b1cbc5 100644
--- a/src/proto/hangulin.pro
+++ b/src/proto/hangulin.pro
@@ -1,9 +1,9 @@
/* hangulin.c */
-int hangul_input_state_get __ARGS((void));
-void hangul_input_state_set __ARGS((int state));
-int im_get_status __ARGS((void));
-void hangul_input_state_toggle __ARGS((void));
-void hangul_keyboard_set __ARGS((void));
-int hangul_input_process __ARGS((char_u *s, int len));
-void hangul_input_clear __ARGS((void));
+extern int hangul_input_state_get __ARGS((void));
+extern void hangul_input_state_set __ARGS((int state));
+extern int im_get_status __ARGS((void));
+extern void hangul_input_state_toggle __ARGS((void));
+extern void hangul_keyboard_set __ARGS((void));
+extern int hangul_input_process __ARGS((char_u *s, int len));
+extern void hangul_input_clear __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/proto/hashtable.pro b/src/proto/hashtable.pro
deleted file mode 100644
index 90723765c..000000000
--- a/src/proto/hashtable.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-/* hashtable.c */
-void hash_init __ARGS((hashtab_T *ht));
-void hash_clear __ARGS((hashtab_T *ht));
-void hash_clear_all __ARGS((hashtab_T *ht, int off));
-hashitem_T *hash_find __ARGS((hashtab_T *ht, char_u *key));
-hashitem_T *hash_lookup __ARGS((hashtab_T *ht, char_u *key, hash_T hash));
-void hash_debug_results __ARGS((void));
-int hash_add __ARGS((hashtab_T *ht, char_u *key));
-int hash_add_item __ARGS((hashtab_T *ht, hashitem_T *hi, char_u *key, hash_T hash));
-void hash_remove __ARGS((hashtab_T *ht, hashitem_T *hi));
-void hash_lock __ARGS((hashtab_T *ht));
-void hash_unlock __ARGS((hashtab_T *ht));
-hash_T hash_hash __ARGS((char_u *key));
-/* vim: set ft=c : */
diff --git a/src/proto/if_perl.pro b/src/proto/if_perl.pro
index fe0301b0b..91dab6da3 100644
--- a/src/proto/if_perl.pro
+++ b/src/proto/if_perl.pro
@@ -1,8 +1,8 @@
/* auto/if_perl.c */
-int perl_enabled __ARGS((int verbose));
-void perl_end __ARGS((void));
-void msg_split __ARGS((char_u *s, int attr));
-void perl_win_free __ARGS((win_T *wp));
-void perl_buf_free __ARGS((buf_T *bp));
-void ex_perl __ARGS((exarg_T *eap));
-void ex_perldo __ARGS((exarg_T *eap));
+extern int perl_enabled __ARGS((int verbose));
+extern void perl_end __ARGS((void));
+extern void msg_split __ARGS((char_u *s, int attr));
+extern void perl_win_free __ARGS((win_T *wp));
+extern void perl_buf_free __ARGS((buf_T *bp));
+extern void ex_perl __ARGS((exarg_T *eap));
+extern void ex_perldo __ARGS((exarg_T *eap));
diff --git a/src/proto/if_python.pro b/src/proto/if_python.pro
index 793b6eeb5..09c4ab751 100644
--- a/src/proto/if_python.pro
+++ b/src/proto/if_python.pro
@@ -1,8 +1,8 @@
/* if_python.c */
-int python_enabled __ARGS((int verbose));
-void python_end __ARGS((void));
-void ex_python __ARGS((exarg_T *eap));
-void ex_pyfile __ARGS((exarg_T *eap));
-void python_buffer_free __ARGS((buf_T *buf));
-void python_window_free __ARGS((win_T *win));
+extern int python_enabled __ARGS((int verbose));
+extern void python_end __ARGS((void));
+extern void ex_python __ARGS((exarg_T *eap));
+extern void ex_pyfile __ARGS((exarg_T *eap));
+extern void python_buffer_free __ARGS((buf_T *buf));
+extern void python_window_free __ARGS((win_T *win));
/* vim: set ft=c : */
diff --git a/src/proto/if_ruby.pro b/src/proto/if_ruby.pro
index 7dedb225c..352f155e9 100644
--- a/src/proto/if_ruby.pro
+++ b/src/proto/if_ruby.pro
@@ -1,9 +1,9 @@
/* if_ruby.c */
-int ruby_enabled __ARGS((int verbose));
-void ruby_end __ARGS((void));
-void ex_ruby __ARGS((exarg_T *eap));
-void ex_rubydo __ARGS((exarg_T *eap));
-void ex_rubyfile __ARGS((exarg_T *eap));
-void ruby_buffer_free __ARGS((buf_T *buf));
-void ruby_window_free __ARGS((win_T *win));
+extern int ruby_enabled __ARGS((int verbose));
+extern void ruby_end __ARGS((void));
+extern void ex_ruby __ARGS((exarg_T *eap));
+extern void ex_rubydo __ARGS((exarg_T *eap));
+extern void ex_rubyfile __ARGS((exarg_T *eap));
+extern void ruby_buffer_free __ARGS((buf_T *buf));
+extern void ruby_window_free __ARGS((win_T *win));
/* vim: set ft=c : */
diff --git a/src/proto/if_xcmdsrv.pro b/src/proto/if_xcmdsrv.pro
index dd6a12084..ebb45f18b 100644
--- a/src/proto/if_xcmdsrv.pro
+++ b/src/proto/if_xcmdsrv.pro
@@ -1,11 +1,11 @@
/* if_xcmdsrv.c */
-int serverRegisterName __ARGS((Display *dpy, char_u *name));
-void serverChangeRegisteredWindow __ARGS((Display *dpy, Window newwin));
-int serverSendToVim __ARGS((Display *dpy, char_u *name, char_u *cmd, char_u **result, Window *server, int asExpr, int localLoop, int silent));
-char_u *serverGetVimNames __ARGS((Display *dpy));
-Window serverStrToWin __ARGS((char_u *str));
-int serverSendReply __ARGS((char_u *name, char_u *str));
-int serverReadReply __ARGS((Display *dpy, Window win, char_u **str, int localLoop));
-int serverPeekReply __ARGS((Display *dpy, Window win, char_u **str));
-void serverEventProc __ARGS((Display *dpy, XEvent *eventPtr));
+extern int serverRegisterName __ARGS((Display *dpy, char_u *name));
+extern void serverChangeRegisteredWindow __ARGS((Display *dpy, Window newwin));
+extern int serverSendToVim __ARGS((Display *dpy, char_u *name, char_u *cmd, char_u **result, Window *server, int asExpr, int localLoop, int silent));
+extern char_u *serverGetVimNames __ARGS((Display *dpy));
+extern Window serverStrToWin __ARGS((char_u *str));
+extern int serverSendReply __ARGS((char_u *name, char_u *str));
+extern int serverReadReply __ARGS((Display *dpy, Window win, char_u **str, int localLoop));
+extern int serverPeekReply __ARGS((Display *dpy, Window win, char_u **str));
+extern void serverEventProc __ARGS((Display *dpy, XEvent *eventPtr));
/* vim: set ft=c : */
diff --git a/src/proto/mbyte.pro b/src/proto/mbyte.pro
index 16a36c893..020b60fc4 100644
--- a/src/proto/mbyte.pro
+++ b/src/proto/mbyte.pro
@@ -1,91 +1,91 @@
/* mbyte.c */
-int enc_canon_props __ARGS((char_u *name));
-char_u *mb_init __ARGS((void));
-int bomb_size __ARGS((void));
-int mb_get_class __ARGS((char_u *p));
-int dbcs_class __ARGS((unsigned lead, unsigned trail));
-int latin_char2len __ARGS((int c));
-int latin_char2bytes __ARGS((int c, char_u *buf));
-int latin_ptr2len __ARGS((char_u *p));
-int utf_char2cells __ARGS((int c));
-int latin_ptr2cells __ARGS((char_u *p));
-int utf_ptr2cells __ARGS((char_u *p));
-int dbcs_ptr2cells __ARGS((char_u *p));
-int latin_char2cells __ARGS((int c));
-int latin_off2cells __ARGS((unsigned off));
-int dbcs_off2cells __ARGS((unsigned off));
-int utf_off2cells __ARGS((unsigned off));
-int latin_ptr2char __ARGS((char_u *p));
-int utf_ptr2char __ARGS((char_u *p));
-int mb_ptr2char_adv __ARGS((char_u **pp));
-int mb_cptr2char_adv __ARGS((char_u **pp));
-int arabic_combine __ARGS((int one, int two));
-int arabic_maycombine __ARGS((int two));
-int utf_composinglike __ARGS((char_u *p1, char_u *p2));
-int utfc_ptr2char __ARGS((char_u *p, int *pcc));
-int utfc_ptr2char_len __ARGS((char_u *p, int *pcc, int maxlen));
-int utfc_char2bytes __ARGS((int off, char_u *buf));
-int utf_ptr2len __ARGS((char_u *p));
-int utf_byte2len __ARGS((int b));
-int utf_ptr2len_len __ARGS((char_u *p, int size));
-int utfc_ptr2len __ARGS((char_u *p));
-int utfc_ptr2len_len __ARGS((char_u *p, int size));
-int utf_char2len __ARGS((int c));
-int utf_char2bytes __ARGS((int c, char_u *buf));
-int utf_iscomposing __ARGS((int c));
-int utf_printable __ARGS((int c));
-int utf_class __ARGS((int c));
-int utf_fold __ARGS((int a));
-int utf_toupper __ARGS((int a));
-int utf_islower __ARGS((int a));
-int utf_tolower __ARGS((int a));
-int utf_isupper __ARGS((int a));
-int mb_strnicmp __ARGS((char_u *s1, char_u *s2, size_t nn));
-void show_utf8 __ARGS((void));
-int latin_head_off __ARGS((char_u *base, char_u *p));
-int dbcs_head_off __ARGS((char_u *base, char_u *p));
-int dbcs_screen_head_off __ARGS((char_u *base, char_u *p));
-int utf_head_off __ARGS((char_u *base, char_u *p));
-void mb_copy_char __ARGS((char_u **fp, char_u **tp));
-int mb_off_next __ARGS((char_u *base, char_u *p));
-int mb_tail_off __ARGS((char_u *base, char_u *p));
-void utf_find_illegal __ARGS((void));
-int utf_valid_string __ARGS((char_u *s, char_u *end));
-int dbcs_screen_tail_off __ARGS((char_u *base, char_u *p));
-void mb_adjust_cursor __ARGS((void));
-void mb_adjustpos __ARGS((pos_T *lp));
-char_u *mb_prevptr __ARGS((char_u *line, char_u *p));
-int mb_charlen __ARGS((char_u *str));
-int mb_charlen_len __ARGS((char_u *str, int len));
-char_u *mb_unescape __ARGS((char_u **pp));
-int mb_lefthalve __ARGS((int row, int col));
-int mb_fix_col __ARGS((int col, int row));
-char_u *enc_skip __ARGS((char_u *p));
-char_u *enc_canonize __ARGS((char_u *enc));
-char_u *enc_locale __ARGS((void));
-int encname2codepage __ARGS((char_u *name));
-void *my_iconv_open __ARGS((char_u *to, char_u *from));
-int iconv_enabled __ARGS((int verbose));
-void iconv_end __ARGS((void));
-int im_xim_isvalid_imactivate __ARGS((void));
-void im_set_active __ARGS((int active));
-void xim_set_focus __ARGS((int focus));
-void im_set_position __ARGS((int row, int col));
-void xim_set_preedit __ARGS((void));
-void xim_set_status_area __ARGS((void));
-void xim_init __ARGS((void));
-void xim_decide_input_style __ARGS((void));
-int im_get_feedback_attr __ARGS((int col));
-void xim_reset __ARGS((void));
-int xim_queue_key_press_event __ARGS((GdkEventKey *event, int down));
-void xim_init __ARGS((void));
-void im_shutdown __ARGS((void));
-int xim_get_status_area_height __ARGS((void));
-int im_get_status __ARGS((void));
-int im_is_preediting __ARGS((void));
-int convert_setup __ARGS((vimconv_T *vcp, char_u *from, char_u *to));
-int convert_input __ARGS((char_u *ptr, int len, int maxlen));
-int convert_input_safe __ARGS((char_u *ptr, int len, int maxlen, char_u **restp, int *restlenp));
-char_u *string_convert __ARGS((vimconv_T *vcp, char_u *ptr, int *lenp));
-char_u *string_convert_ext __ARGS((vimconv_T *vcp, char_u *ptr, int *lenp, int *unconvlenp));
+extern int enc_canon_props __ARGS((char_u *name));
+extern char_u *mb_init __ARGS((void));
+extern int bomb_size __ARGS((void));
+extern int mb_get_class __ARGS((char_u *p));
+extern int dbcs_class __ARGS((unsigned lead, unsigned trail));
+extern int latin_char2len __ARGS((int c));
+extern int latin_char2bytes __ARGS((int c, char_u *buf));
+extern int latin_ptr2len __ARGS((char_u *p));
+extern int utf_char2cells __ARGS((int c));
+extern int latin_ptr2cells __ARGS((char_u *p));
+extern int utf_ptr2cells __ARGS((char_u *p));
+extern int dbcs_ptr2cells __ARGS((char_u *p));
+extern int latin_char2cells __ARGS((int c));
+extern int latin_off2cells __ARGS((unsigned off));
+extern int dbcs_off2cells __ARGS((unsigned off));
+extern int utf_off2cells __ARGS((unsigned off));
+extern int latin_ptr2char __ARGS((char_u *p));
+extern int utf_ptr2char __ARGS((char_u *p));
+extern int mb_ptr2char_adv __ARGS((char_u **pp));
+extern int mb_cptr2char_adv __ARGS((char_u **pp));
+extern int arabic_combine __ARGS((int one, int two));
+extern int arabic_maycombine __ARGS((int two));
+extern int utf_composinglike __ARGS((char_u *p1, char_u *p2));
+extern int utfc_ptr2char __ARGS((char_u *p, int *pcc));
+extern int utfc_ptr2char_len __ARGS((char_u *p, int *pcc, int maxlen));
+extern int utfc_char2bytes __ARGS((int off, char_u *buf));
+extern int utf_ptr2len __ARGS((char_u *p));
+extern int utf_byte2len __ARGS((int b));
+extern int utf_ptr2len_len __ARGS((char_u *p, int size));
+extern int utfc_ptr2len __ARGS((char_u *p));
+extern int utfc_ptr2len_len __ARGS((char_u *p, int size));
+extern int utf_char2len __ARGS((int c));
+extern int utf_char2bytes __ARGS((int c, char_u *buf));
+extern int utf_iscomposing __ARGS((int c));
+extern int utf_printable __ARGS((int c));
+extern int utf_class __ARGS((int c));
+extern int utf_fold __ARGS((int a));
+extern int utf_toupper __ARGS((int a));
+extern int utf_islower __ARGS((int a));
+extern int utf_tolower __ARGS((int a));
+extern int utf_isupper __ARGS((int a));
+extern int mb_strnicmp __ARGS((char_u *s1, char_u *s2, size_t nn));
+extern void show_utf8 __ARGS((void));
+extern int latin_head_off __ARGS((char_u *base, char_u *p));
+extern int dbcs_head_off __ARGS((char_u *base, char_u *p));
+extern int dbcs_screen_head_off __ARGS((char_u *base, char_u *p));
+extern int utf_head_off __ARGS((char_u *base, char_u *p));
+extern void mb_copy_char __ARGS((char_u **fp, char_u **tp));
+extern int mb_off_next __ARGS((char_u *base, char_u *p));
+extern int mb_tail_off __ARGS((char_u *base, char_u *p));
+extern void utf_find_illegal __ARGS((void));
+extern int utf_valid_string __ARGS((char_u *s, char_u *end));
+extern int dbcs_screen_tail_off __ARGS((char_u *base, char_u *p));
+extern void mb_adjust_cursor __ARGS((void));
+extern void mb_adjustpos __ARGS((pos_T *lp));
+extern char_u *mb_prevptr __ARGS((char_u *line, char_u *p));
+extern int mb_charlen __ARGS((char_u *str));
+extern int mb_charlen_len __ARGS((char_u *str, int len));
+extern char_u *mb_unescape __ARGS((char_u **pp));
+extern int mb_lefthalve __ARGS((int row, int col));
+extern int mb_fix_col __ARGS((int col, int row));
+extern char_u *enc_skip __ARGS((char_u *p));
+extern char_u *enc_canonize __ARGS((char_u *enc));
+extern char_u *enc_locale __ARGS((void));
+extern int encname2codepage __ARGS((char_u *name));
+extern void *my_iconv_open __ARGS((char_u *to, char_u *from));
+extern int iconv_enabled __ARGS((int verbose));
+extern void iconv_end __ARGS((void));
+extern int im_xim_isvalid_imactivate __ARGS((void));
+extern void im_set_active __ARGS((int active));
+extern void xim_set_focus __ARGS((int focus));
+extern void im_set_position __ARGS((int row, int col));
+extern void xim_set_preedit __ARGS((void));
+extern void xim_set_status_area __ARGS((void));
+extern void xim_init __ARGS((void));
+extern void xim_decide_input_style __ARGS((void));
+extern int im_get_feedback_attr __ARGS((int col));
+extern void xim_reset __ARGS((void));
+extern int xim_queue_key_press_event __ARGS((GdkEventKey *event, int down));
+extern void xim_init __ARGS((void));
+extern void im_shutdown __ARGS((void));
+extern int xim_get_status_area_height __ARGS((void));
+extern int im_get_status __ARGS((void));
+extern int im_is_preediting __ARGS((void));
+extern int convert_setup __ARGS((vimconv_T *vcp, char_u *from, char_u *to));
+extern int convert_input __ARGS((char_u *ptr, int len, int maxlen));
+extern int convert_input_safe __ARGS((char_u *ptr, int len, int maxlen, char_u **restp, int *restlenp));
+extern char_u *string_convert __ARGS((vimconv_T *vcp, char_u *ptr, int *lenp));
+extern char_u *string_convert_ext __ARGS((vimconv_T *vcp, char_u *ptr, int *lenp, int *unconvlenp));
/* vim: set ft=c : */
diff --git a/src/proto/memline.pro b/src/proto/memline.pro
index de75a7dcf..88f0dac07 100644
--- a/src/proto/memline.pro
+++ b/src/proto/memline.pro
@@ -1,33 +1,33 @@
/* memline.c */
-int ml_open __ARGS((buf_T *buf));
-void ml_setname __ARGS((buf_T *buf));
-void ml_open_files __ARGS((void));
-void ml_open_file __ARGS((buf_T *buf));
-void check_need_swap __ARGS((int newfile));
-void ml_close __ARGS((buf_T *buf, int del_file));
-void ml_close_all __ARGS((int del_file));
-void ml_close_notmod __ARGS((void));
-void ml_timestamp __ARGS((buf_T *buf));
-void ml_recover __ARGS((void));
-int recover_names __ARGS((char_u **fname, int list, int nr));
-void ml_sync_all __ARGS((int check_file, int check_char));
-void ml_preserve __ARGS((buf_T *buf, int message));
-char_u *ml_get __ARGS((linenr_T lnum));
-char_u *ml_get_pos __ARGS((pos_T *pos));
-char_u *ml_get_curline __ARGS((void));
-char_u *ml_get_cursor __ARGS((void));
-char_u *ml_get_buf __ARGS((buf_T *buf, linenr_T lnum, int will_change));
-int ml_line_alloced __ARGS((void));
-int ml_append __ARGS((linenr_T lnum, char_u *line, colnr_T len, int newfile));
-int ml_append_buf __ARGS((buf_T *buf, linenr_T lnum, char_u *line, colnr_T len, int newfile));
-int ml_replace __ARGS((linenr_T lnum, char_u *line, int copy));
-int ml_delete __ARGS((linenr_T lnum, int message));
-void ml_setmarked __ARGS((linenr_T lnum));
-linenr_T ml_firstmarked __ARGS((void));
-void ml_clearmarked __ARGS((void));
-char_u *makeswapname __ARGS((char_u *fname, char_u *ffname, buf_T *buf, char_u *dir_name));
-char_u *get_file_in_dir __ARGS((char_u *fname, char_u *dname));
-void ml_setflags __ARGS((buf_T *buf));
-long ml_find_line_or_offset __ARGS((buf_T *buf, linenr_T lnum, long *offp));
-void goto_byte __ARGS((long cnt));
+extern int ml_open __ARGS((buf_T *buf));
+extern void ml_setname __ARGS((buf_T *buf));
+extern void ml_open_files __ARGS((void));
+extern void ml_open_file __ARGS((buf_T *buf));
+extern void check_need_swap __ARGS((int newfile));
+extern void ml_close __ARGS((buf_T *buf, int del_file));
+extern void ml_close_all __ARGS((int del_file));
+extern void ml_close_notmod __ARGS((void));
+extern void ml_timestamp __ARGS((buf_T *buf));
+extern void ml_recover __ARGS((void));
+extern int recover_names __ARGS((char_u **fname, int list, int nr));
+extern void ml_sync_all __ARGS((int check_file, int check_char));
+extern void ml_preserve __ARGS((buf_T *buf, int message));
+extern char_u *ml_get __ARGS((linenr_T lnum));
+extern char_u *ml_get_pos __ARGS((pos_T *pos));
+extern char_u *ml_get_curline __ARGS((void));
+extern char_u *ml_get_cursor __ARGS((void));
+extern char_u *ml_get_buf __ARGS((buf_T *buf, linenr_T lnum, int will_change));
+extern int ml_line_alloced __ARGS((void));
+extern int ml_append __ARGS((linenr_T lnum, char_u *line, colnr_T len, int newfile));
+extern int ml_append_buf __ARGS((buf_T *buf, linenr_T lnum, char_u *line, colnr_T len, int newfile));
+extern int ml_replace __ARGS((linenr_T lnum, char_u *line, int copy));
+extern int ml_delete __ARGS((linenr_T lnum, int message));
+extern void ml_setmarked __ARGS((linenr_T lnum));
+extern linenr_T ml_firstmarked __ARGS((void));
+extern void ml_clearmarked __ARGS((void));
+extern char_u *makeswapname __ARGS((char_u *fname, char_u *ffname, buf_T *buf, char_u *dir_name));
+extern char_u *get_file_in_dir __ARGS((char_u *fname, char_u *dname));
+extern void ml_setflags __ARGS((buf_T *buf));
+extern long ml_find_line_or_offset __ARGS((buf_T *buf, linenr_T lnum, long *offp));
+extern void goto_byte __ARGS((long cnt));
/* vim: set ft=c : */
diff --git a/src/proto/menu.pro b/src/proto/menu.pro
index 506a963b2..227b694d5 100644
--- a/src/proto/menu.pro
+++ b/src/proto/menu.pro
@@ -1,21 +1,21 @@
/* menu.c */
-void ex_menu __ARGS((exarg_T *eap));
-char_u *set_context_in_menu_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit));
-char_u *get_menu_name __ARGS((expand_T *xp, int idx));
-char_u *get_menu_names __ARGS((expand_T *xp, int idx));
-char_u *menu_name_skip __ARGS((char_u *name));
-int get_menu_index __ARGS((vimmenu_T *menu, int state));
-int menu_is_menubar __ARGS((char_u *name));
-int menu_is_popup __ARGS((char_u *name));
-int menu_is_child_of_popup __ARGS((vimmenu_T *menu));
-int menu_is_toolbar __ARGS((char_u *name));
-int menu_is_separator __ARGS((char_u *name));
-void gui_create_initial_menus __ARGS((vimmenu_T *menu));
-void gui_update_menus __ARGS((int modes));
-int gui_is_menu_shortcut __ARGS((int key));
-void gui_show_popupmenu __ARGS((void));
-void gui_mch_toggle_tearoffs __ARGS((int enable));
-void ex_emenu __ARGS((exarg_T *eap));
-vimmenu_T *gui_find_menu __ARGS((char_u *path_name));
-void ex_menutranslate __ARGS((exarg_T *eap));
+extern void ex_menu __ARGS((exarg_T *eap));
+extern char_u *set_context_in_menu_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit));
+extern char_u *get_menu_name __ARGS((expand_T *xp, int idx));
+extern char_u *get_menu_names __ARGS((expand_T *xp, int idx));
+extern char_u *menu_name_skip __ARGS((char_u *name));
+extern int get_menu_index __ARGS((vimmenu_T *menu, int state));
+extern int menu_is_menubar __ARGS((char_u *name));
+extern int menu_is_popup __ARGS((char_u *name));
+extern int menu_is_child_of_popup __ARGS((vimmenu_T *menu));
+extern int menu_is_toolbar __ARGS((char_u *name));
+extern int menu_is_separator __ARGS((char_u *name));
+extern void gui_create_initial_menus __ARGS((vimmenu_T *menu));
+extern void gui_update_menus __ARGS((int modes));
+extern int gui_is_menu_shortcut __ARGS((int key));
+extern void gui_show_popupmenu __ARGS((void));
+extern void gui_mch_toggle_tearoffs __ARGS((int enable));
+extern void ex_emenu __ARGS((exarg_T *eap));
+extern vimmenu_T *gui_find_menu __ARGS((char_u *path_name));
+extern void ex_menutranslate __ARGS((exarg_T *eap));
/* vim: set ft=c : */
diff --git a/src/proto/misc1.pro b/src/proto/misc1.pro
index af86edcd4..49fc4b000 100644
--- a/src/proto/misc1.pro
+++ b/src/proto/misc1.pro
@@ -1,94 +1,94 @@
/* misc1.c */
-int get_indent __ARGS((void));
-int get_indent_lnum __ARGS((linenr_T lnum));
-int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
-int get_indent_str __ARGS((char_u *ptr, int ts));
-int set_indent __ARGS((int size, int flags));
-int get_number_indent __ARGS((linenr_T lnum));
-int open_line __ARGS((int dir, int flags, int old_indent));
-int get_leader_len __ARGS((char_u *line, char_u **flags, int backward));
-int plines __ARGS((linenr_T lnum));
-int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
-int plines_nofill __ARGS((linenr_T lnum));
-int plines_win_nofill __ARGS((win_T *wp, linenr_T lnum, int winheight));
-int plines_win_nofold __ARGS((win_T *wp, linenr_T lnum));
-int plines_win_col __ARGS((win_T *wp, linenr_T lnum, long column));
-int plines_m_win __ARGS((win_T *wp, linenr_T first, linenr_T last));
-void ins_bytes __ARGS((char_u *p));
-void ins_bytes_len __ARGS((char_u *p, int len));
-void ins_char __ARGS((int c));
-void ins_char_bytes __ARGS((char_u *buf, int charlen));
-void ins_str __ARGS((char_u *s));
-int del_char __ARGS((int fixpos));
-int del_chars __ARGS((long count, int fixpos));
-int del_bytes __ARGS((long count, int fixpos, int use_delcombine));
-int truncate_line __ARGS((int fixpos));
-void del_lines __ARGS((long nlines, int undo));
-int gchar_pos __ARGS((pos_T *pos));
-int gchar_cursor __ARGS((void));
-void pchar_cursor __ARGS((int c));
-int inindent __ARGS((int extra));
-char_u *skip_to_option_part __ARGS((char_u *p));
-void changed __ARGS((void));
-void changed_bytes __ARGS((linenr_T lnum, colnr_T col));
-void appended_lines __ARGS((linenr_T lnum, long count));
-void appended_lines_mark __ARGS((linenr_T lnum, long count));
-void deleted_lines __ARGS((linenr_T lnum, long count));
-void deleted_lines_mark __ARGS((linenr_T lnum, long count));
-void changed_lines __ARGS((linenr_T lnum, colnr_T col, linenr_T lnume, long xtra));
-void unchanged __ARGS((buf_T *buf, int ff));
-void check_status __ARGS((buf_T *buf));
-void change_warning __ARGS((int col));
-int ask_yesno __ARGS((char_u *str, int direct));
-int get_keystroke __ARGS((void));
-int get_number __ARGS((int colon, int *mouse_used));
-int prompt_for_number __ARGS((int *mouse_used));
-void msgmore __ARGS((long n));
-void beep_flush __ARGS((void));
-void vim_beep __ARGS((void));
-void init_homedir __ARGS((void));
-void free_homedir __ARGS((void));
-void expand_env __ARGS((char_u *src, char_u *dst, int dstlen));
-void expand_env_esc __ARGS((char_u *srcp, char_u *dst, int dstlen, int esc, char_u *startstr));
-char_u *vim_getenv __ARGS((char_u *name, int *mustfree));
-char_u *expand_env_save __ARGS((char_u *src));
-void vim_setenv __ARGS((char_u *name, char_u *val));
-char_u *get_env_name __ARGS((expand_T *xp, int idx));
-void home_replace __ARGS((buf_T *buf, char_u *src, char_u *dst, int dstlen, int one));
-char_u *home_replace_save __ARGS((buf_T *buf, char_u *src));
-int fullpathcmp __ARGS((char_u *s1, char_u *s2, int checkname));
-char_u *gettail __ARGS((char_u *fname));
-char_u *gettail_sep __ARGS((char_u *fname));
-char_u *getnextcomp __ARGS((char_u *fname));
-char_u *get_past_head __ARGS((char_u *path));
-int vim_ispathsep __ARGS((int c));
-int vim_ispathlistsep __ARGS((int c));
-int dir_of_file_exists __ARGS((char_u *fname));
-int vim_fnamecmp __ARGS((char_u *x, char_u *y));
-int vim_fnamencmp __ARGS((char_u *x, char_u *y, size_t len));
-char_u *concat_fnames __ARGS((char_u *fname1, char_u *fname2, int sep));
-char_u *concat_str __ARGS((char_u *str1, char_u *str2));
-void add_pathsep __ARGS((char_u *p));
-char_u *FullName_save __ARGS((char_u *fname, int force));
-pos_T *find_start_comment __ARGS((int ind_maxcomment));
-void do_c_expr_indent __ARGS((void));
-int cin_islabel __ARGS((int ind_maxcomment));
-int cin_iscase __ARGS((char_u *s));
-int cin_isscopedecl __ARGS((char_u *s));
-int get_c_indent __ARGS((void));
-int get_expr_indent __ARGS((void));
-int get_lisp_indent __ARGS((void));
-void prepare_to_exit __ARGS((void));
-void preserve_exit __ARGS((void));
-int vim_fexists __ARGS((char_u *fname));
-void line_breakcheck __ARGS((void));
-void fast_breakcheck __ARGS((void));
-int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-int match_suffix __ARGS((char_u *fname));
-int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar));
-int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
-void addfile __ARGS((garray_T *gap, char_u *f, int flags));
-char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
-void FreeWild __ARGS((int count, char_u **files));
-int goto_im __ARGS((void));
+extern int get_indent __ARGS((void));
+extern int get_indent_lnum __ARGS((linenr_T lnum));
+extern int get_indent_buf __ARGS((buf_T *buf, linenr_T lnum));
+extern int get_indent_str __ARGS((char_u *ptr, int ts));
+extern int set_indent __ARGS((int size, int flags));
+extern int get_number_indent __ARGS((linenr_T lnum));
+extern int open_line __ARGS((int dir, int flags, int old_indent));
+extern int get_leader_len __ARGS((char_u *line, char_u **flags, int backward));
+extern int plines __ARGS((linenr_T lnum));
+extern int plines_win __ARGS((win_T *wp, linenr_T lnum, int winheight));
+extern int plines_nofill __ARGS((linenr_T lnum));
+extern int plines_win_nofill __ARGS((win_T *wp, linenr_T lnum, int winheight));
+extern int plines_win_nofold __ARGS((win_T *wp, linenr_T lnum));
+extern int plines_win_col __ARGS((win_T *wp, linenr_T lnum, long column));
+extern int plines_m_win __ARGS((win_T *wp, linenr_T first, linenr_T last));
+extern void ins_bytes __ARGS((char_u *p));
+extern void ins_bytes_len __ARGS((char_u *p, int len));
+extern void ins_char __ARGS((int c));
+extern void ins_char_bytes __ARGS((char_u *buf, int charlen));
+extern void ins_str __ARGS((char_u *s));
+extern int del_char __ARGS((int fixpos));
+extern int del_chars __ARGS((long count, int fixpos));
+extern int del_bytes __ARGS((long count, int fixpos_arg, int use_delcombine));
+extern int truncate_line __ARGS((int fixpos));
+extern void del_lines __ARGS((long nlines, int undo));
+extern int gchar_pos __ARGS((pos_T *pos));
+extern int gchar_cursor __ARGS((void));
+extern void pchar_cursor __ARGS((int c));
+extern int inindent __ARGS((int extra));
+extern char_u *skip_to_option_part __ARGS((char_u *p));
+extern void changed __ARGS((void));
+extern void changed_bytes __ARGS((linenr_T lnum, colnr_T col));
+extern void appended_lines __ARGS((linenr_T lnum, long count));
+extern void appended_lines_mark __ARGS((linenr_T lnum, long count));
+extern void deleted_lines __ARGS((linenr_T lnum, long count));
+extern void deleted_lines_mark __ARGS((linenr_T lnum, long count));
+extern void changed_lines __ARGS((linenr_T lnum, colnr_T col, linenr_T lnume, long xtra));
+extern void unchanged __ARGS((buf_T *buf, int ff));
+extern void check_status __ARGS((buf_T *buf));
+extern void change_warning __ARGS((int col));
+extern int ask_yesno __ARGS((char_u *str, int direct));
+extern int get_keystroke __ARGS((void));
+extern int get_number __ARGS((int colon, int *mouse_used));
+extern int prompt_for_number __ARGS((int *mouse_used));
+extern void msgmore __ARGS((long n));
+extern void beep_flush __ARGS((void));
+extern void vim_beep __ARGS((void));
+extern void init_homedir __ARGS((void));
+extern void free_homedir __ARGS((void));
+extern void expand_env __ARGS((char_u *src, char_u *dst, int dstlen));
+extern void expand_env_esc __ARGS((char_u *srcp, char_u *dst, int dstlen, int esc, char_u *startstr));
+extern char_u *vim_getenv __ARGS((char_u *name, int *mustfree));
+extern char_u *expand_env_save __ARGS((char_u *src));
+extern void vim_setenv __ARGS((char_u *name, char_u *val));
+extern char_u *get_env_name __ARGS((expand_T *xp, int idx));
+extern void home_replace __ARGS((buf_T *buf, char_u *src, char_u *dst, int dstlen, int one));
+extern char_u *home_replace_save __ARGS((buf_T *buf, char_u *src));
+extern int fullpathcmp __ARGS((char_u *s1, char_u *s2, int checkname));
+extern char_u *gettail __ARGS((char_u *fname));
+extern char_u *gettail_sep __ARGS((char_u *fname));
+extern char_u *getnextcomp __ARGS((char_u *fname));
+extern char_u *get_past_head __ARGS((char_u *path));
+extern int vim_ispathsep __ARGS((int c));
+extern int vim_ispathlistsep __ARGS((int c));
+extern int dir_of_file_exists __ARGS((char_u *fname));
+extern int vim_fnamecmp __ARGS((char_u *x, char_u *y));
+extern int vim_fnamencmp __ARGS((char_u *x, char_u *y, size_t len));
+extern char_u *concat_fnames __ARGS((char_u *fname1, char_u *fname2, int sep));
+extern char_u *concat_str __ARGS((char_u *str1, char_u *str2));
+extern void add_pathsep __ARGS((char_u *p));
+extern char_u *FullName_save __ARGS((char_u *fname, int force));
+extern pos_T *find_start_comment __ARGS((int ind_maxcomment));
+extern void do_c_expr_indent __ARGS((void));
+extern int cin_islabel __ARGS((int ind_maxcomment));
+extern int cin_iscase __ARGS((char_u *s));
+extern int cin_isscopedecl __ARGS((char_u *s));
+extern int get_c_indent __ARGS((void));
+extern int get_expr_indent __ARGS((void));
+extern int get_lisp_indent __ARGS((void));
+extern void prepare_to_exit __ARGS((void));
+extern void preserve_exit __ARGS((void));
+extern int vim_fexists __ARGS((char_u *fname));
+extern void line_breakcheck __ARGS((void));
+extern void fast_breakcheck __ARGS((void));
+extern int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+extern int match_suffix __ARGS((char_u *fname));
+extern int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar));
+extern int gen_expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags));
+extern void addfile __ARGS((garray_T *gap, char_u *f, int flags));
+extern char_u *get_cmd_output __ARGS((char_u *cmd, char_u *infile, int flags));
+extern void FreeWild __ARGS((int count, char_u **files));
+extern int goto_im __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/proto/misc2.pro b/src/proto/misc2.pro
index 22415d9a8..adee78737 100644
--- a/src/proto/misc2.pro
+++ b/src/proto/misc2.pro
@@ -1,99 +1,99 @@
/* misc2.c */
-int virtual_active __ARGS((void));
-int getviscol __ARGS((void));
-int getviscol2 __ARGS((colnr_T col, colnr_T coladd));
-int coladvance_force __ARGS((colnr_T wcol));
-int coladvance __ARGS((colnr_T wcol));
-int getvpos __ARGS((pos_T *pos, colnr_T wcol));
-int inc_cursor __ARGS((void));
-int inc __ARGS((pos_T *lp));
-int incl __ARGS((pos_T *lp));
-int dec_cursor __ARGS((void));
-int dec __ARGS((pos_T *lp));
-int decl __ARGS((pos_T *lp));
-void check_cursor_lnum __ARGS((void));
-void check_cursor_col __ARGS((void));
-void check_cursor __ARGS((void));
-void adjust_cursor_col __ARGS((void));
-int leftcol_changed __ARGS((void));
-void vim_mem_profile_dump __ARGS((void));
-char_u *alloc __ARGS((unsigned size));
-char_u *alloc_clear __ARGS((unsigned size));
-char_u *alloc_check __ARGS((unsigned size));
-char_u *lalloc_clear __ARGS((long_u size, int message));
-char_u *lalloc __ARGS((long_u size, int message));
-void *mem_realloc __ARGS((void *ptr, size_t size));
-void do_outofmem_msg __ARGS((long_u size));
-void free_all_mem __ARGS((void));
-char_u *vim_strsave __ARGS((char_u *string));
-char_u *vim_strnsave __ARGS((char_u *string, int len));
-char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
-char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
-char_u *vim_strsave_up __ARGS((char_u *string));
-char_u *vim_strnsave_up __ARGS((char_u *string, int len));
-void vim_strup __ARGS((char_u *p));
-char_u *strup_save __ARGS((char_u *orig));
-void copy_spaces __ARGS((char_u *ptr, size_t count));
-void copy_chars __ARGS((char_u *ptr, size_t count, int c));
-void del_trailing_spaces __ARGS((char_u *ptr));
-void vim_strncpy __ARGS((char_u *to, char_u *from, size_t len));
-int copy_option_part __ARGS((char_u **option, char_u *buf, int maxlen, char *sep_chars));
-void vim_free __ARGS((void *x));
-int vim_stricmp __ARGS((char *s1, char *s2));
-int vim_strnicmp __ARGS((char *s1, char *s2, size_t len));
-char_u *vim_strchr __ARGS((char_u *string, int c));
-char_u *vim_strbyte __ARGS((char_u *string, int c));
-char_u *vim_strrchr __ARGS((char_u *string, int c));
-int vim_isspace __ARGS((int x));
-void ga_clear __ARGS((garray_T *gap));
-void ga_clear_strings __ARGS((garray_T *gap));
-void ga_init __ARGS((garray_T *gap));
-void ga_init2 __ARGS((garray_T *gap, int itemsize, int growsize));
-int ga_grow __ARGS((garray_T *gap, int n));
-void ga_concat __ARGS((garray_T *gap, char_u *s));
-void ga_append __ARGS((garray_T *gap, int c));
-int name_to_mod_mask __ARGS((int c));
-int simplify_key __ARGS((int key, int *modifiers));
-int handle_x_keys __ARGS((int key));
-char_u *get_special_key_name __ARGS((int c, int modifiers));
-int trans_special __ARGS((char_u **srcp, char_u *dst, int keycode));
-int find_special_key __ARGS((char_u **srcp, int *modp, int keycode));
-int extract_modifiers __ARGS((int key, int *modp));
-int find_special_key_in_table __ARGS((int c));
-int get_special_key_code __ARGS((char_u *name));
-char_u *get_key_name __ARGS((int i));
-int get_mouse_button __ARGS((int code, int *is_click, int *is_drag));
-int get_pseudo_mouse_code __ARGS((int button, int is_click, int is_drag));
-int get_fileformat __ARGS((buf_T *buf));
-int get_fileformat_force __ARGS((buf_T *buf, exarg_T *eap));
-void set_fileformat __ARGS((int t, int opt_flags));
-int default_fileformat __ARGS((void));
-int call_shell __ARGS((char_u *cmd, int opt));
-int get_real_state __ARGS((void));
-int after_pathsep __ARGS((char_u *b, char_u *p));
-int same_directory __ARGS((char_u *f1, char_u *f2));
-int vim_chdirfile __ARGS((char_u *fname));
-int illegal_slash __ARGS((char *name));
-char_u *parse_shape_opt __ARGS((int what));
-int get_shape_idx __ARGS((int mouse));
-void update_mouseshape __ARGS((int shape_idx));
-int decrypt_byte __ARGS((void));
-int update_keys __ARGS((int c));
-void crypt_init_keys __ARGS((char_u *passwd));
-char_u *get_crypt_key __ARGS((int store, int twice));
-void *vim_findfile_init __ARGS((char_u *path, char_u *filename, char_u *stopdirs, int level, int free_visited, int need_dir, void *search_ctx, int tagfile, char_u *rel_fname));
-char_u *vim_findfile_stopdir __ARGS((char_u *buf));
-void vim_findfile_cleanup __ARGS((void *ctx));
-char_u *vim_findfile __ARGS((void *search_ctx));
-void vim_findfile_free_visited __ARGS((void *search_ctx));
-char_u *find_file_in_path __ARGS((char_u *ptr, int len, int options, int first, char_u *rel_fname));
-char_u *find_directory_in_path __ARGS((char_u *ptr, int len, int options, char_u *rel_fname));
-char_u *find_file_in_path_option __ARGS((char_u *ptr, int len, int options, int first, char_u *path_option, int need_dir, char_u *rel_fname, char_u *suffixes));
-int vim_chdir __ARGS((char_u *new_dir));
-int get_user_name __ARGS((char_u *buf, int len));
-void sort_strings __ARGS((char_u **files, int count));
-int pathcmp __ARGS((const char *p, const char *q, int maxlen));
-int filewritable __ARGS((char_u *fname));
-int emsg3 __ARGS((char_u *s, char_u *a1, char_u *a2));
-int emsgn __ARGS((char_u *s, long n));
+extern int virtual_active __ARGS((void));
+extern int getviscol __ARGS((void));
+extern int getviscol2 __ARGS((colnr_T col, colnr_T coladd));
+extern int coladvance_force __ARGS((colnr_T wcol));
+extern int coladvance __ARGS((colnr_T wcol));
+extern int getvpos __ARGS((pos_T *pos, colnr_T wcol));
+extern int inc_cursor __ARGS((void));
+extern int inc __ARGS((pos_T *lp));
+extern int incl __ARGS((pos_T *lp));
+extern int dec_cursor __ARGS((void));
+extern int dec __ARGS((pos_T *lp));
+extern int decl __ARGS((pos_T *lp));
+extern void check_cursor_lnum __ARGS((void));
+extern void check_cursor_col __ARGS((void));
+extern void check_cursor __ARGS((void));
+extern void adjust_cursor_col __ARGS((void));
+extern int leftcol_changed __ARGS((void));
+extern void vim_mem_profile_dump __ARGS((void));
+extern char_u *alloc __ARGS((unsigned size));
+extern char_u *alloc_clear __ARGS((unsigned size));
+extern char_u *alloc_check __ARGS((unsigned size));
+extern char_u *lalloc_clear __ARGS((long_u size, int message));
+extern char_u *lalloc __ARGS((long_u size, int message));
+extern void *mem_realloc __ARGS((void *ptr, size_t size));
+extern void do_outofmem_msg __ARGS((long_u size));
+extern void free_all_mem __ARGS((void));
+extern char_u *vim_strsave __ARGS((char_u *string));
+extern char_u *vim_strnsave __ARGS((char_u *string, int len));
+extern char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
+extern char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
+extern char_u *vim_strsave_up __ARGS((char_u *string));
+extern char_u *vim_strnsave_up __ARGS((char_u *string, int len));
+extern void vim_strup __ARGS((char_u *p));
+extern char_u *strup_save __ARGS((char_u *orig));
+extern void copy_spaces __ARGS((char_u *ptr, size_t count));
+extern void copy_chars __ARGS((char_u *ptr, size_t count, int c));
+extern void del_trailing_spaces __ARGS((char_u *ptr));
+extern void vim_strncpy __ARGS((char_u *to, char_u *from, size_t len));
+extern int copy_option_part __ARGS((char_u **option, char_u *buf, int maxlen, char *sep_chars));
+extern void vim_free __ARGS((void *x));
+extern int vim_stricmp __ARGS((char *s1, char *s2));
+extern int vim_strnicmp __ARGS((char *s1, char *s2, size_t len));
+extern char_u *vim_strchr __ARGS((char_u *string, int c));
+extern char_u *vim_strbyte __ARGS((char_u *string, int c));
+extern char_u *vim_strrchr __ARGS((char_u *string, int c));
+extern int vim_isspace __ARGS((int x));
+extern void ga_clear __ARGS((garray_T *gap));
+extern void ga_clear_strings __ARGS((garray_T *gap));
+extern void ga_init __ARGS((garray_T *gap));
+extern void ga_init2 __ARGS((garray_T *gap, int itemsize, int growsize));
+extern int ga_grow __ARGS((garray_T *gap, int n));
+extern void ga_concat __ARGS((garray_T *gap, char_u *s));
+extern void ga_append __ARGS((garray_T *gap, int c));
+extern int name_to_mod_mask __ARGS((int c));
+extern int simplify_key __ARGS((int key, int *modifiers));
+extern int handle_x_keys __ARGS((int key));
+extern char_u *get_special_key_name __ARGS((int c, int modifiers));
+extern int trans_special __ARGS((char_u **srcp, char_u *dst, int keycode));
+extern int find_special_key __ARGS((char_u **srcp, int *modp, int keycode));
+extern int extract_modifiers __ARGS((int key, int *modp));
+extern int find_special_key_in_table __ARGS((int c));
+extern int get_special_key_code __ARGS((char_u *name));
+extern char_u *get_key_name __ARGS((int i));
+extern int get_mouse_button __ARGS((int code, int *is_click, int *is_drag));
+extern int get_pseudo_mouse_code __ARGS((int button, int is_click, int is_drag));
+extern int get_fileformat __ARGS((buf_T *buf));
+extern int get_fileformat_force __ARGS((buf_T *buf, exarg_T *eap));
+extern void set_fileformat __ARGS((int t, int opt_flags));
+extern int default_fileformat __ARGS((void));
+extern int call_shell __ARGS((char_u *cmd, int opt));
+extern int get_real_state __ARGS((void));
+extern int after_pathsep __ARGS((char_u *b, char_u *p));
+extern int same_directory __ARGS((char_u *f1, char_u *f2));
+extern int vim_chdirfile __ARGS((char_u *fname));
+extern int illegal_slash __ARGS((char *name));
+extern char_u *parse_shape_opt __ARGS((int what));
+extern int get_shape_idx __ARGS((int mouse));
+extern void update_mouseshape __ARGS((int shape_idx));
+extern int decrypt_byte __ARGS((void));
+extern int update_keys __ARGS((int c));
+extern void crypt_init_keys __ARGS((char_u *passwd));
+extern char_u *get_crypt_key __ARGS((int store, int twice));
+extern void *vim_findfile_init __ARGS((char_u *path, char_u *filename, char_u *stopdirs, int level, int free_visited, int need_dir, void *search_ctx, int tagfile, char_u *rel_fname));
+extern char_u *vim_findfile_stopdir __ARGS((char_u *buf));
+extern void vim_findfile_cleanup __ARGS((void *ctx));
+extern char_u *vim_findfile __ARGS((void *search_ctx));
+extern void vim_findfile_free_visited __ARGS((void *search_ctx));
+extern char_u *find_file_in_path __ARGS((char_u *ptr, int len, int options, int first, char_u *rel_fname));
+extern char_u *find_directory_in_path __ARGS((char_u *ptr, int len, int options, char_u *rel_fname));
+extern char_u *find_file_in_path_option __ARGS((char_u *ptr, int len, int options, int first, char_u *path_option, int need_dir, char_u *rel_fname, char_u *suffixes));
+extern int vim_chdir __ARGS((char_u *new_dir));
+extern int get_user_name __ARGS((char_u *buf, int len));
+extern void sort_strings __ARGS((char_u **files, int count));
+extern int pathcmp __ARGS((const char *p, const char *q, int maxlen));
+extern int filewritable __ARGS((char_u *fname));
+extern int emsg3 __ARGS((char_u *s, char_u *a1, char_u *a2));
+extern int emsgn __ARGS((char_u *s, long n));
/* vim: set ft=c : */
diff --git a/src/proto/move.pro b/src/proto/move.pro
index de51aa240..26f3b65f8 100644
--- a/src/proto/move.pro
+++ b/src/proto/move.pro
@@ -1,40 +1,40 @@
/* move.c */
-void update_topline_redraw __ARGS((void));
-void update_topline __ARGS((void));
-void update_curswant __ARGS((void));
-void check_cursor_moved __ARGS((win_T *wp));
-void changed_window_setting __ARGS((void));
-void changed_window_setting_win __ARGS((win_T *wp));
-void set_topline __ARGS((win_T *wp, linenr_T lnum));
-void changed_cline_bef_curs __ARGS((void));
-void changed_cline_bef_curs_win __ARGS((win_T *wp));
-void changed_line_abv_curs __ARGS((void));
-void changed_line_abv_curs_win __ARGS((win_T *wp));
-void validate_botline __ARGS((void));
-void invalidate_botline __ARGS((void));
-void invalidate_botline_win __ARGS((win_T *wp));
-void approximate_botline_win __ARGS((win_T *wp));
-int cursor_valid __ARGS((void));
-void validate_cursor __ARGS((void));
-void validate_cline_row __ARGS((void));
-void validate_virtcol __ARGS((void));
-void validate_virtcol_win __ARGS((win_T *wp));
-void validate_cursor_col __ARGS((void));
-int win_col_off __ARGS((win_T *wp));
-int curwin_col_off __ARGS((void));
-int win_col_off2 __ARGS((win_T *wp));
-int curwin_col_off2 __ARGS((void));
-void curs_columns __ARGS((int scroll));
-void scrolldown __ARGS((long line_count, int byfold));
-void scrollup __ARGS((long line_count, int byfold));
-void check_topfill __ARGS((win_T *wp, int down));
-void scrolldown_clamp __ARGS((void));
-void scrollup_clamp __ARGS((void));
-void scroll_cursor_top __ARGS((int min_scroll, int always));
-void set_empty_rows __ARGS((win_T *wp, int used));
-void scroll_cursor_bot __ARGS((int min_scroll, int set_topbot));
-void scroll_cursor_halfway __ARGS((int atend));
-void cursor_correct __ARGS((void));
-int onepage __ARGS((int dir, long count));
-void halfpage __ARGS((int flag, linenr_T Prenum));
+extern void update_topline_redraw __ARGS((void));
+extern void update_topline __ARGS((void));
+extern void update_curswant __ARGS((void));
+extern void check_cursor_moved __ARGS((win_T *wp));
+extern void changed_window_setting __ARGS((void));
+extern void changed_window_setting_win __ARGS((win_T *wp));
+extern void set_topline __ARGS((win_T *wp, linenr_T lnum));
+extern void changed_cline_bef_curs __ARGS((void));
+extern void changed_cline_bef_curs_win __ARGS((win_T *wp));
+extern void changed_line_abv_curs __ARGS((void));
+extern void changed_line_abv_curs_win __ARGS((win_T *wp));
+extern void validate_botline __ARGS((void));
+extern void invalidate_botline __ARGS((void));
+extern void invalidate_botline_win __ARGS((win_T *wp));
+extern void approximate_botline_win __ARGS((win_T *wp));
+extern int cursor_valid __ARGS((void));
+extern void validate_cursor __ARGS((void));
+extern void validate_cline_row __ARGS((void));
+extern void validate_virtcol __ARGS((void));
+extern void validate_virtcol_win __ARGS((win_T *wp));
+extern void validate_cursor_col __ARGS((void));
+extern int win_col_off __ARGS((win_T *wp));
+extern int curwin_col_off __ARGS((void));
+extern int win_col_off2 __ARGS((win_T *wp));
+extern int curwin_col_off2 __ARGS((void));
+extern void curs_columns __ARGS((int scroll));
+extern void scrolldown __ARGS((long line_count, int byfold));
+extern void scrollup __ARGS((long line_count, int byfold));
+extern void check_topfill __ARGS((win_T *wp, int down));
+extern void scrolldown_clamp __ARGS((void));
+extern void scrollup_clamp __ARGS((void));
+extern void scroll_cursor_top __ARGS((int min_scroll, int always));
+extern void set_empty_rows __ARGS((win_T *wp, int used));
+extern void scroll_cursor_bot __ARGS((int min_scroll, int set_topbot));
+extern void scroll_cursor_halfway __ARGS((int atend));
+extern void cursor_correct __ARGS((void));
+extern int onepage __ARGS((int dir, long count));
+extern void halfpage __ARGS((int flag, linenr_T Prenum));
/* vim: set ft=c : */
diff --git a/src/proto/os_msdos.pro b/src/proto/os_msdos.pro
index a867f3d1c..5cccbd6eb 100644
--- a/src/proto/os_msdos.pro
+++ b/src/proto/os_msdos.pro
@@ -1,48 +1,48 @@
/* os_msdos.c */
-void mch_set_normal_colors __ARGS((void));
-void mch_update_cursor __ARGS((void));
-long_u mch_avail_mem __ARGS((int special));
-void mch_delay __ARGS((long msec, int ignoreinput));
-void mch_write __ARGS((char_u *s, int len));
-int mch_inchar __ARGS((char_u *buf, int maxlen, long time, int tb_change_cnt));
-int mch_char_avail __ARGS((void));
-void mch_suspend __ARGS((void));
-void mch_init __ARGS((void));
-int mch_check_win __ARGS((int argc, char **argv));
-int mch_input_isatty __ARGS((void));
-void fname_case __ARGS((char_u *name, int len));
-long mch_get_pid __ARGS((void));
-int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
-void slash_adjust __ARGS((char_u *p));
-int mch_isFullName __ARGS((char_u *fname));
-void mch_early_init __ARGS((void));
-void mch_exit __ARGS((int r));
-void mch_settmode __ARGS((int tmode));
-void mch_setmouse __ARGS((int on));
-int mch_screenmode __ARGS((char_u *arg));
-int mch_get_shellsize __ARGS((void));
-void mch_set_shellsize __ARGS((void));
-void mch_new_shellsize __ARGS((void));
-void mch_check_columns __ARGS((void));
-int mch_call_shell __ARGS((char_u *cmd, int options));
-void mch_breakcheck __ARGS((void));
-int mch_has_exp_wildcard __ARGS((char_u *p));
-int mch_has_wildcard __ARGS((char_u *p));
-int mch_chdir __ARGS((char *path));
-char *djgpp_setlocale __ARGS((void));
-int clip_mch_own_selection __ARGS((VimClipboard *cbd));
-void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
-void clip_mch_request_selection __ARGS((VimClipboard *cbd));
-void clip_mch_set_selection __ARGS((VimClipboard *cbd));
-long mch_getperm __ARGS((char_u *name));
-int mch_setperm __ARGS((char_u *name, long perm));
-void mch_hide __ARGS((char_u *name));
-int mch_isdir __ARGS((char_u *name));
-int mch_can_exe __ARGS((char_u *name));
-int mch_nodetype __ARGS((char_u *name));
-int mch_dirname __ARGS((char_u *buf, int len));
-int mch_remove __ARGS((char_u *name));
-char_u *mch_getenv __ARGS((char_u *name));
-int mch_get_user_name __ARGS((char_u *s, int len));
-void mch_get_host_name __ARGS((char_u *s, int len));
+extern void mch_set_normal_colors __ARGS((void));
+extern void mch_update_cursor __ARGS((void));
+extern long_u mch_avail_mem __ARGS((int special));
+extern void mch_delay __ARGS((long msec, int ignoreinput));
+extern void mch_write __ARGS((char_u *s, int len));
+extern int mch_inchar __ARGS((char_u *buf, int maxlen, long time, int tb_change_cnt));
+extern int mch_char_avail __ARGS((void));
+extern void mch_suspend __ARGS((void));
+extern void mch_init __ARGS((void));
+extern int mch_check_win __ARGS((int argc, char **argv));
+extern int mch_input_isatty __ARGS((void));
+extern void fname_case __ARGS((char_u *name, int len));
+extern long mch_get_pid __ARGS((void));
+extern int mch_FullName __ARGS((char_u *fname, char_u *buf, int len, int force));
+extern void slash_adjust __ARGS((char_u *p));
+extern int mch_isFullName __ARGS((char_u *fname));
+extern void mch_early_init __ARGS((void));
+extern void mch_exit __ARGS((int r));
+extern void mch_settmode __ARGS((int tmode));
+extern void mch_setmouse __ARGS((int on));
+extern int mch_screenmode __ARGS((char_u *arg));
+extern int mch_get_shellsize __ARGS((void));
+extern void mch_set_shellsize __ARGS((void));
+extern void mch_new_shellsize __ARGS((void));
+extern void mch_check_columns __ARGS((void));
+extern int mch_call_shell __ARGS((char_u *cmd, int options));
+extern void mch_breakcheck __ARGS((void));
+extern int mch_has_exp_wildcard __ARGS((char_u *p));
+extern int mch_has_wildcard __ARGS((char_u *p));
+extern int mch_chdir __ARGS((char *path));
+extern char *djgpp_setlocale __ARGS((void));
+extern int clip_mch_own_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_lose_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_request_selection __ARGS((VimClipboard *cbd));
+extern void clip_mch_set_selection __ARGS((VimClipboard *cbd));
+extern long mch_getperm __ARGS((char_u *name));
+extern int mch_setperm __ARGS((char_u *name, long perm));
+extern void mch_hide __ARGS((char_u *name));
+extern int mch_isdir __ARGS((char_u *name));
+extern int mch_can_exe __ARGS((char_u *name));
+extern int mch_nodetype __ARGS((char_u *name));
+extern int mch_dirname __ARGS((char_u *buf, int len));
+extern int mch_remove __ARGS((char_u *name));
+extern char_u *mch_getenv __ARGS((char_u *name));
+extern int mch_get_user_name __ARGS((char_u *s, int len));
+extern void mch_get_host_name __ARGS((char_u *s, int len));
/* vim: set ft=c : */
diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro
index 179dd5ef4..22e0380af 100644
--- a/src/proto/os_win32.pro
+++ b/src/proto/os_win32.pro
@@ -1,54 +1,54 @@
/* os_win32.c */
-int dyn_libintl_init __ARGS((char *libname));
-void dyn_libintl_end __ARGS((void));
-void PlatformId __ARGS((void));
-int mch_windows95 __ARGS((void));
-void mch_setmouse __ARGS((int on));
-void mch_update_cursor __ARGS((void));
-int mch_char_avail __ARGS((void));
-int mch_inchar __ARGS((char_u *buf, int maxlen, long time, int tb_change_cnt));
-void mch_init __ARGS((void));
-void mch_exit __ARGS((int r));
-int mch_check_win __ARGS((int argc, char **argv));
-void fname_case __ARGS((char_u *name, int len));
-int mch_get_user_name __ARGS((char_u *s, int len));
-void mch_get_host_name __ARGS((char_u *s, int len));
-long mch_get_pid __ARGS((void));
-int mch_dirname __ARGS((char_u *buf, int len));
-long mch_getperm __ARGS((char_u *name));
-int mch_setperm __ARGS((char_u *name, long perm));
-void mch_hide __ARGS((char_u *name));
-int mch_isdir __ARGS((char_u *name));
-int mch_is_linked __ARGS((char_u *fname));
-int mch_writable __ARGS((char_u *name));
-int mch_can_exe __ARGS((char_u *name));
-int mch_nodetype __ARGS((char_u *name));
-vim_acl_T mch_get_acl __ARGS((char_u *fname));
-void mch_set_acl __ARGS((char_u *fname, vim_acl_T acl));
-void mch_free_acl __ARGS((vim_acl_T acl));
-void mch_settmode __ARGS((int tmode));
-int mch_get_shellsize __ARGS((void));
-void mch_set_shellsize __ARGS((void));
-void mch_new_shellsize __ARGS((void));
-void mch_set_winsize_now __ARGS((void));
-int mch_call_shell __ARGS((char_u *cmd, int options));
-void mch_set_normal_colors __ARGS((void));
-void mch_write __ARGS((char_u *s, int len));
-void mch_delay __ARGS((long msec, int ignoreinput));
-int mch_remove __ARGS((char_u *name));
-void mch_breakcheck __ARGS((void));
-long_u mch_avail_mem __ARGS((int special));
-int mch_wrename __ARGS((WCHAR *wold, WCHAR *wnew));
-int mch_rename __ARGS((const char *pszOldFile, const char *pszNewFile));
-char *default_shell __ARGS((void));
-int mch_access __ARGS((char *n, int p));
-int mch_open __ARGS((char *name, int flags, int mode));
-FILE *mch_fopen __ARGS((char *name, char *mode));
-int mch_copy_file_attribute __ARGS((char_u *from, char_u *to));
-int myresetstkoflw __ARGS((void));
-int get_cmd_argsW __ARGS((char ***argvp));
-void free_cmd_argsW __ARGS((void));
-void used_file_arg __ARGS((char *name, int literal, int full_path));
-void set_alist_count __ARGS((void));
-void fix_arg_enc __ARGS((void));
+extern int dyn_libintl_init __ARGS((char *libname));
+extern void dyn_libintl_end __ARGS((void));
+extern void PlatformId __ARGS((void));
+extern int mch_windows95 __ARGS((void));
+extern void mch_setmouse __ARGS((int on));
+extern void mch_update_cursor __ARGS((void));
+extern int mch_char_avail __ARGS((void));
+extern int mch_inchar __ARGS((char_u *buf, int maxlen, long time, int tb_change_cnt));
+extern void mch_init __ARGS((void));
+extern void mch_exit __ARGS((int r));
+extern int mch_check_win __ARGS((int argc, char **argv));
+extern void fname_case __ARGS((char_u *name, int len));
+extern int mch_get_user_name __ARGS((char_u *s, int len));
+extern void mch_get_host_name __ARGS((char_u *s, int len));
+extern long mch_get_pid __ARGS((void));
+extern int mch_dirname __ARGS((char_u *buf, int len));
+extern long mch_getperm __ARGS((char_u *name));
+extern int mch_setperm __ARGS((char_u *name, long perm));
+extern void mch_hide __ARGS((char_u *name));
+extern int mch_isdir __ARGS((char_u *name));
+extern int mch_is_linked __ARGS((char_u *fname));
+extern int mch_writable __ARGS((char_u *name));
+extern int mch_can_exe __ARGS((char_u *name));
+extern int mch_nodetype __ARGS((char_u *name));
+extern vim_acl_T mch_get_acl __ARGS((char_u *fname));
+extern void mch_set_acl __ARGS((char_u *fname, vim_acl_T acl));
+extern void mch_free_acl __ARGS((vim_acl_T acl));
+extern void mch_settmode __ARGS((int tmode));
+extern int mch_get_shellsize __ARGS((void));
+extern void mch_set_shellsize __ARGS((void));
+extern void mch_new_shellsize __ARGS((void));
+extern void mch_set_winsize_now __ARGS((void));
+extern int mch_call_shell __ARGS((char_u *cmd, int options));
+extern void mch_set_normal_colors __ARGS((void));
+extern void mch_write __ARGS((char_u *s, int len));
+extern void mch_delay __ARGS((long msec, int ignoreinput));
+extern int mch_remove __ARGS((char_u *name));
+extern void mch_breakcheck __ARGS((void));
+extern long_u mch_avail_mem __ARGS((int special));
+extern int mch_wrename __ARGS((WCHAR *wold, WCHAR *wnew));
+extern int mch_rename __ARGS((const char *pszOldFile, const char *pszNewFile));
+extern char *default_shell __ARGS((void));
+extern int mch_access __ARGS((char *n, int p));
+extern int mch_open __ARGS((char *name, int flags, int mode));
+extern FILE *mch_fopen __ARGS((char *name, char *mode));
+extern int mch_copy_file_attribute __ARGS((char_u *from, char_u *to));
+extern int myresetstkoflw __ARGS((void));
+extern int get_cmd_argsW __ARGS((char ***argvp));
+extern void free_cmd_argsW __ARGS((void));
+extern void used_file_arg __ARGS((char *name, int literal, int full_path));
+extern void set_alist_count __ARGS((void));
+extern void fix_arg_enc __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/proto/popupmenu.pro b/src/proto/popupmenu.pro
deleted file mode 100644
index f332d3c90..000000000
--- a/src/proto/popupmenu.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-/* popupmenu.c */
-void pum_display __ARGS((pumitem_T *array, int size, int selected));
-void pum_redraw __ARGS((void));
-void pum_undisplay __ARGS((void));
-void pum_clear __ARGS((void));
-int pum_visible __ARGS((void));
-int pum_get_height __ARGS((void));
-/* vim: set ft=c : */
diff --git a/src/proto/quickfix.pro b/src/proto/quickfix.pro
index 408bf6dec..e939db21e 100644
--- a/src/proto/quickfix.pro
+++ b/src/proto/quickfix.pro
@@ -1,30 +1,30 @@
/* quickfix.c */
-int qf_init __ARGS((win_T *wp, char_u *efile, char_u *errorformat, int newlist));
-void qf_free_all __ARGS((win_T *wp));
-void copy_loclist __ARGS((win_T *from, win_T *to));
-void qf_jump __ARGS((qf_info_T *qi, int dir, int errornr, int forceit));
-void qf_list __ARGS((exarg_T *eap));
-void qf_age __ARGS((exarg_T *eap));
-void qf_mark_adjust __ARGS((win_T *wp, linenr_T line1, linenr_T line2, long amount, long amount_after));
-void ex_cwindow __ARGS((exarg_T *eap));
-void ex_cclose __ARGS((exarg_T *eap));
-void ex_copen __ARGS((exarg_T *eap));
-linenr_T qf_current_entry __ARGS((win_T *wp));
-int bt_quickfix __ARGS((buf_T *buf));
-int bt_nofile __ARGS((buf_T *buf));
-int bt_dontwrite __ARGS((buf_T *buf));
-int bt_dontwrite_msg __ARGS((buf_T *buf));
-int buf_hide __ARGS((buf_T *buf));
-int grep_internal __ARGS((cmdidx_T cmdidx));
-void ex_make __ARGS((exarg_T *eap));
-void ex_cc __ARGS((exarg_T *eap));
-void ex_cnext __ARGS((exarg_T *eap));
-void ex_cfile __ARGS((exarg_T *eap));
-void ex_vimgrep __ARGS((exarg_T *eap));
-char_u *skip_vimgrep_pat __ARGS((char_u *p, char_u **s, int *flags));
-int get_errorlist __ARGS((win_T *wp, list_T *list));
-int set_errorlist __ARGS((win_T *wp, list_T *list, int action));
-void ex_cbuffer __ARGS((exarg_T *eap));
-void ex_cexpr __ARGS((exarg_T *eap));
-void ex_helpgrep __ARGS((exarg_T *eap));
+extern int qf_init __ARGS((win_T *wp, char_u *efile, char_u *errorformat, int newlist));
+extern void qf_free_all __ARGS((win_T *wp));
+extern void copy_loclist __ARGS((win_T *from, win_T *to));
+extern void qf_jump __ARGS((qf_info_T *qi, int dir, int errornr, int forceit));
+extern void qf_list __ARGS((exarg_T *eap));
+extern void qf_age __ARGS((exarg_T *eap));
+extern void qf_mark_adjust __ARGS((win_T *wp, linenr_T line1, linenr_T line2, long amount, long amount_after));
+extern void ex_cwindow __ARGS((exarg_T *eap));
+extern void ex_cclose __ARGS((exarg_T *eap));
+extern void ex_copen __ARGS((exarg_T *eap));
+extern linenr_T qf_current_entry __ARGS((win_T *wp));
+extern int bt_quickfix __ARGS((buf_T *buf));
+extern int bt_nofile __ARGS((buf_T *buf));
+extern int bt_dontwrite __ARGS((buf_T *buf));
+extern int bt_dontwrite_msg __ARGS((buf_T *buf));
+extern int buf_hide __ARGS((buf_T *buf));
+extern int grep_internal __ARGS((cmdidx_T cmdidx));
+extern void ex_make __ARGS((exarg_T *eap));
+extern void ex_cc __ARGS((exarg_T *eap));
+extern void ex_cnext __ARGS((exarg_T *eap));
+extern void ex_cfile __ARGS((exarg_T *eap));
+extern void ex_vimgrep __ARGS((exarg_T *eap));
+extern char_u *skip_vimgrep_pat __ARGS((char_u *p, char_u **s, int *flags));
+extern int get_errorlist __ARGS((win_T *wp, list_T *list));
+extern int set_errorlist __ARGS((win_T *wp, list_T *list, int action));
+extern void ex_cbuffer __ARGS((exarg_T *eap));
+extern void ex_cexpr __ARGS((exarg_T *eap));
+extern void ex_helpgrep __ARGS((exarg_T *eap));
/* vim: set ft=c : */
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index c534a1f9e..2abf18bcf 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -1,50 +1,50 @@
/* screen.c */
-void redraw_later __ARGS((int type));
-void redraw_win_later __ARGS((win_T *wp, int type));
-void redraw_later_clear __ARGS((void));
-void redraw_all_later __ARGS((int type));
-void redraw_curbuf_later __ARGS((int type));
-void redraw_buf_later __ARGS((buf_T *buf, int type));
-void redrawWinline __ARGS((linenr_T lnum, int invalid));
-void update_curbuf __ARGS((int type));
-void update_screen __ARGS((int type));
-void update_debug_sign __ARGS((buf_T *buf, linenr_T lnum));
-void updateWindow __ARGS((win_T *wp));
-void rl_mirror __ARGS((char_u *str));
-void status_redraw_all __ARGS((void));
-void status_redraw_curbuf __ARGS((void));
-void redraw_statuslines __ARGS((void));
-void win_redraw_last_status __ARGS((frame_T *frp));
-void win_redr_status_matches __ARGS((expand_T *xp, int num_matches, char_u **matches, int match, int showtail));
-void win_redr_status __ARGS((win_T *wp));
-int stl_connected __ARGS((win_T *wp));
-int get_keymap_str __ARGS((win_T *wp, char_u *buf, int len));
-void screen_putchar __ARGS((int c, int row, int col, int attr));
-void screen_getbytes __ARGS((int row, int col, char_u *bytes, int *attrp));
-void screen_puts __ARGS((char_u *text, int row, int col, int attr));
-void screen_puts_len __ARGS((char_u *text, int len, int row, int col, int attr));
-void screen_stop_highlight __ARGS((void));
-void reset_cterm_colors __ARGS((void));
-void screen_draw_rectangle __ARGS((int row, int col, int height, int width, int invert));
-void screen_fill __ARGS((int start_row, int end_row, int start_col, int end_col, int c1, int c2, int attr));
-void check_for_delay __ARGS((int check_msg_scroll));
-int screen_valid __ARGS((int clear));
-void screenalloc __ARGS((int clear));
-void free_screenlines __ARGS((void));
-void screenclear __ARGS((void));
-int can_clear __ARGS((char_u *p));
-void screen_start __ARGS((void));
-void windgoto __ARGS((int row, int col));
-void setcursor __ARGS((void));
-int win_ins_lines __ARGS((win_T *wp, int row, int line_count, int invalid, int mayclear));
-int win_del_lines __ARGS((win_T *wp, int row, int line_count, int invalid, int mayclear));
-int screen_ins_lines __ARGS((int off, int row, int line_count, int end, win_T *wp));
-int screen_del_lines __ARGS((int off, int row, int line_count, int end, int force, win_T *wp));
-int showmode __ARGS((void));
-void unshowmode __ARGS((int force));
-void get_trans_bufname __ARGS((buf_T *buf));
-int redrawing __ARGS((void));
-int messaging __ARGS((void));
-void showruler __ARGS((int always));
-int number_width __ARGS((win_T *wp));
+extern void redraw_later __ARGS((int type));
+extern void redraw_win_later __ARGS((win_T *wp, int type));
+extern void redraw_later_clear __ARGS((void));
+extern void redraw_all_later __ARGS((int type));
+extern void redraw_curbuf_later __ARGS((int type));
+extern void redraw_buf_later __ARGS((buf_T *buf, int type));
+extern void redrawWinline __ARGS((linenr_T lnum, int invalid));
+extern void update_curbuf __ARGS((int type));
+extern void update_screen __ARGS((int type));
+extern void update_debug_sign __ARGS((buf_T *buf, linenr_T lnum));
+extern void updateWindow __ARGS((win_T *wp));
+extern void rl_mirror __ARGS((char_u *str));
+extern void status_redraw_all __ARGS((void));
+extern void status_redraw_curbuf __ARGS((void));
+extern void redraw_statuslines __ARGS((void));
+extern void win_redraw_last_status __ARGS((frame_T *frp));
+extern void win_redr_status_matches __ARGS((expand_T *xp, int num_matches, char_u **matches, int match, int showtail));
+extern void win_redr_status __ARGS((win_T *wp));
+extern int stl_connected __ARGS((win_T *wp));
+extern int get_keymap_str __ARGS((win_T *wp, char_u *buf, int len));
+extern void screen_putchar __ARGS((int c, int row, int col, int attr));
+extern void screen_getbytes __ARGS((int row, int col, char_u *bytes, int *attrp));
+extern void screen_puts __ARGS((char_u *text, int row, int col, int attr));
+extern void screen_puts_len __ARGS((char_u *text, int len, int row, int col, int attr));
+extern void screen_stop_highlight __ARGS((void));
+extern void reset_cterm_colors __ARGS((void));
+extern void screen_draw_rectangle __ARGS((int row, int col, int height, int width, int invert));
+extern void screen_fill __ARGS((int start_row, int end_row, int start_col, int end_col, int c1, int c2, int attr));
+extern void check_for_delay __ARGS((int check_msg_scroll));
+extern int screen_valid __ARGS((int clear));
+extern void screenalloc __ARGS((int clear));
+extern void free_screenlines __ARGS((void));
+extern void screenclear __ARGS((void));
+extern int can_clear __ARGS((char_u *p));
+extern void screen_start __ARGS((void));
+extern void windgoto __ARGS((int row, int col));
+extern void setcursor __ARGS((void));
+extern int win_ins_lines __ARGS((win_T *wp, int row, int line_count, int invalid, int mayclear));
+extern int win_del_lines __ARGS((win_T *wp, int row, int line_count, int invalid, int mayclear));
+extern int screen_ins_lines __ARGS((int off, int row, int line_count, int end, win_T *wp));
+extern int screen_del_lines __ARGS((int off, int row, int line_count, int end, int force, win_T *wp));
+extern int showmode __ARGS((void));
+extern void unshowmode __ARGS((int force));
+extern void get_trans_bufname __ARGS((buf_T *buf));
+extern int redrawing __ARGS((void));
+extern int messaging __ARGS((void));
+extern void showruler __ARGS((int always));
+extern int number_width __ARGS((win_T *wp));
/* vim: set ft=c : */
diff --git a/src/proto/search.pro b/src/proto/search.pro
index ceaca2266..b4d4dc753 100644
--- a/src/proto/search.pro
+++ b/src/proto/search.pro
@@ -1,36 +1,36 @@
/* search.c */
-int search_regcomp __ARGS((char_u *pat, int pat_save, int pat_use, int options, regmmatch_T *regmatch));
-char_u *get_search_pat __ARGS((void));
-void save_search_patterns __ARGS((void));
-void restore_search_patterns __ARGS((void));
-void free_search_patterns __ARGS((void));
-int ignorecase __ARGS((char_u *pat));
-char_u *last_search_pat __ARGS((void));
-void reset_search_dir __ARGS((void));
-void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
-void last_pat_prog __ARGS((regmmatch_T *regmatch));
-int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum));
-int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options));
-int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
-int searchc __ARGS((cmdarg_T *cap, int t_cmd));
-pos_T *findmatch __ARGS((oparg_T *oap, int initc));
-pos_T *findmatchlimit __ARGS((oparg_T *oap, int initc, int flags, int maxtravel));
-void showmatch __ARGS((int c));
-int findsent __ARGS((int dir, long count));
-int findpar __ARGS((int *pincl, int dir, long count, int what, int both));
-int startPS __ARGS((linenr_T lnum, int para, int both));
-int fwd_word __ARGS((long count, int bigword, int eol));
-int bck_word __ARGS((long count, int bigword, int stop));
-int end_word __ARGS((long count, int bigword, int stop, int empty));
-int bckend_word __ARGS((long count, int bigword, int eol));
-int current_word __ARGS((oparg_T *oap, long count, int include, int bigword));
-int current_sent __ARGS((oparg_T *oap, long count, int include));
-int current_block __ARGS((oparg_T *oap, long count, int include, int what, int other));
-int current_tagblock __ARGS((oparg_T *oap, long count_arg, int include));
-int current_par __ARGS((oparg_T *oap, long count, int include, int type));
-int current_quote __ARGS((oparg_T *oap, long count, int include, int quotechar));
-int linewhite __ARGS((linenr_T lnum));
-void find_pattern_in_path __ARGS((char_u *ptr, int dir, int len, int whole, int skip_comments, int type, long count, int action, linenr_T start_lnum, linenr_T end_lnum));
-int read_viminfo_search_pattern __ARGS((vir_T *virp, int force));
-void write_viminfo_search_pattern __ARGS((FILE *fp));
+extern int search_regcomp __ARGS((char_u *pat, int pat_save, int pat_use, int options, regmmatch_T *regmatch));
+extern char_u *get_search_pat __ARGS((void));
+extern void save_search_patterns __ARGS((void));
+extern void restore_search_patterns __ARGS((void));
+extern void free_search_patterns __ARGS((void));
+extern int ignorecase __ARGS((char_u *pat));
+extern char_u *last_search_pat __ARGS((void));
+extern void reset_search_dir __ARGS((void));
+extern void set_last_search_pat __ARGS((char_u *s, int idx, int magic, int setlast));
+extern void last_pat_prog __ARGS((regmmatch_T *regmatch));
+extern int searchit __ARGS((win_T *win, buf_T *buf, pos_T *pos, int dir, char_u *pat, long count, int options, int pat_use, linenr_T stop_lnum));
+extern int do_search __ARGS((oparg_T *oap, int dirc, char_u *pat, long count, int options));
+extern int search_for_exact_line __ARGS((buf_T *buf, pos_T *pos, int dir, char_u *pat));
+extern int searchc __ARGS((cmdarg_T *cap, int t_cmd));
+extern pos_T *findmatch __ARGS((oparg_T *oap, int initc));
+extern pos_T *findmatchlimit __ARGS((oparg_T *oap, int initc, int flags, int maxtravel));
+extern void showmatch __ARGS((int c));
+extern int findsent __ARGS((int dir, long count));
+extern int findpar __ARGS((int *pincl, int dir, long count, int what, int both));
+extern int startPS __ARGS((linenr_T lnum, int para, int both));
+extern int fwd_word __ARGS((long count, int bigword, int eol));
+extern int bck_word __ARGS((long count, int bigword, int stop));
+extern int end_word __ARGS((long count, int bigword, int stop, int empty));
+extern int bckend_word __ARGS((long count, int bigword, int eol));
+extern int current_word __ARGS((oparg_T *oap, long count, int include, int bigword));
+extern int current_sent __ARGS((oparg_T *oap, long count, int include));
+extern int current_block __ARGS((oparg_T *oap, long count, int include, int what, int other));
+extern int current_tagblock __ARGS((oparg_T *oap, long count_arg, int include));
+extern int current_par __ARGS((oparg_T *oap, long count, int include, int type));
+extern int current_quote __ARGS((oparg_T *oap, long count, int include, int quotechar));
+extern int linewhite __ARGS((linenr_T lnum));
+extern void find_pattern_in_path __ARGS((char_u *ptr, int dir, int len, int whole, int skip_comments, int type, long count, int action, linenr_T start_lnum, linenr_T end_lnum));
+extern int read_viminfo_search_pattern __ARGS((vir_T *virp, int force));
+extern void write_viminfo_search_pattern __ARGS((FILE *fp));
/* vim: set ft=c : */
diff --git a/src/proto/spell.pro b/src/proto/spell.pro
index d94b95969..d1e5ef72c 100644
--- a/src/proto/spell.pro
+++ b/src/proto/spell.pro
@@ -1,26 +1,26 @@
/* spell.c */
-int spell_check __ARGS((win_T *wp, char_u *ptr, hlf_T *attrp, int *capcol, int docount));
-int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp));
-void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen));
-char_u *did_set_spelllang __ARGS((buf_T *buf));
-void spell_free_all __ARGS((void));
-void spell_reload __ARGS((void));
-int spell_check_msm __ARGS((void));
-void put_bytes __ARGS((FILE *fd, long_u nr, int len));
-void ex_mkspell __ARGS((exarg_T *eap));
-void ex_spell __ARGS((exarg_T *eap));
-void spell_add_word __ARGS((char_u *word, int len, int bad, int index, int undo));
-void init_spell_chartab __ARGS((void));
-int spell_check_sps __ARGS((void));
-void spell_suggest __ARGS((int count));
-void ex_spellrepall __ARGS((exarg_T *eap));
-void spell_suggest_list __ARGS((garray_T *gap, char_u *word, int maxcount, int need_cap, int interactive));
-char_u *eval_soundfold __ARGS((char_u *word));
-void ex_spellinfo __ARGS((exarg_T *eap));
-void ex_spelldump __ARGS((exarg_T *eap));
-void spell_dump_compl __ARGS((buf_T *buf, char_u *pat, int ic, int *dir, int dumpflags_arg));
-char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf));
-int spell_word_start __ARGS((int startcol));
-void spell_expand_check_cap __ARGS((colnr_T col));
-int expand_spelling __ARGS((linenr_T lnum, int col, char_u *pat, char_u ***matchp));
+extern int spell_check __ARGS((win_T *wp, char_u *ptr, hlf_T *attrp, int *capcol, int docount));
+extern int spell_move_to __ARGS((win_T *wp, int dir, int allwords, int curline, hlf_T *attrp));
+extern void spell_cat_line __ARGS((char_u *buf, char_u *line, int maxlen));
+extern char_u *did_set_spelllang __ARGS((buf_T *buf));
+extern void spell_free_all __ARGS((void));
+extern void spell_reload __ARGS((void));
+extern int spell_check_msm __ARGS((void));
+extern void put_bytes __ARGS((FILE *fd, long_u nr, int len));
+extern void ex_mkspell __ARGS((exarg_T *eap));
+extern void ex_spell __ARGS((exarg_T *eap));
+extern void spell_add_word __ARGS((char_u *word, int len, int bad, int index, int undo));
+extern void init_spell_chartab __ARGS((void));
+extern int spell_check_sps __ARGS((void));
+extern void spell_suggest __ARGS((int count));
+extern void ex_spellrepall __ARGS((exarg_T *eap));
+extern void spell_suggest_list __ARGS((garray_T *gap, char_u *word, int maxcount, int need_cap, int interactive));
+extern char_u *eval_soundfold __ARGS((char_u *word));
+extern void ex_spellinfo __ARGS((exarg_T *eap));
+extern void ex_spelldump __ARGS((exarg_T *eap));
+extern void spell_dump_compl __ARGS((buf_T *buf, char_u *pat, int ic, int *dir, int dumpflags_arg));
+extern char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf));
+extern int spell_word_start __ARGS((int startcol));
+extern void spell_expand_check_cap __ARGS((colnr_T col));
+extern int expand_spelling __ARGS((linenr_T lnum, int col, char_u *pat, char_u ***matchp));
/* vim: set ft=c : */
diff --git a/src/proto/tag.pro b/src/proto/tag.pro
index 01388f65b..984084393 100644
--- a/src/proto/tag.pro
+++ b/src/proto/tag.pro
@@ -1,12 +1,12 @@
/* tag.c */
-int do_tag __ARGS((char_u *tag, int type, int count, int forceit, int verbose));
-void tag_freematch __ARGS((void));
-void do_tags __ARGS((exarg_T *eap));
-int find_tags __ARGS((char_u *pat, int *num_matches, char_u ***matchesp, int flags, int mincount, char_u *buf_ffname));
-void free_tag_stuff __ARGS((void));
-int get_tagfname __ARGS((tagname_T *tnp, int first, char_u *buf));
-void tagname_free __ARGS((tagname_T *tnp));
-void simplify_filename __ARGS((char_u *filename));
-int expand_tags __ARGS((int tagnames, char_u *pat, int *num_file, char_u ***file));
-int get_tags __ARGS((list_T *list, char_u *pat));
+extern int do_tag __ARGS((char_u *tag, int type, int count, int forceit, int verbose));
+extern void tag_freematch __ARGS((void));
+extern void do_tags __ARGS((exarg_T *eap));
+extern int find_tags __ARGS((char_u *pat, int *num_matches, char_u ***matchesp, int flags, int mincount, char_u *buf_ffname));
+extern void free_tag_stuff __ARGS((void));
+extern int get_tagfname __ARGS((tagname_T *tnp, int first, char_u *buf));
+extern void tagname_free __ARGS((tagname_T *tnp));
+extern void simplify_filename __ARGS((char_u *filename));
+extern int expand_tags __ARGS((int tagnames, char_u *pat, int *num_file, char_u ***file));
+extern int get_tags __ARGS((list_T *list, char_u *pat));
/* vim: set ft=c : */
diff --git a/src/proto/term.pro b/src/proto/term.pro
index 91bb85c3c..7b5374973 100644
--- a/src/proto/term.pro
+++ b/src/proto/term.pro
@@ -1,60 +1,60 @@
/* term.c */
-int set_termname __ARGS((char_u *term));
-void set_mouse_termcode __ARGS((int n, char_u *s));
-void del_mouse_termcode __ARGS((int n));
-void getlinecol __ARGS((long *cp, long *rp));
-int add_termcap_entry __ARGS((char_u *name, int force));
-int term_is_8bit __ARGS((char_u *name));
-int term_is_gui __ARGS((char_u *name));
-char_u *tltoa __ARGS((unsigned long i));
-void termcapinit __ARGS((char_u *name));
-void out_flush __ARGS((void));
-void out_flush_check __ARGS((void));
-void out_trash __ARGS((void));
-void out_char __ARGS((unsigned c));
-void out_str_nf __ARGS((char_u *s));
-void out_str __ARGS((char_u *s));
-void term_windgoto __ARGS((int row, int col));
-void term_cursor_right __ARGS((int i));
-void term_append_lines __ARGS((int line_count));
-void term_delete_lines __ARGS((int line_count));
-void term_set_winpos __ARGS((int x, int y));
-void term_set_winsize __ARGS((int width, int height));
-void term_fg_color __ARGS((int n));
-void term_bg_color __ARGS((int n));
-void term_settitle __ARGS((char_u *title));
-void ttest __ARGS((int pairs));
-void add_long_to_buf __ARGS((long_u val, char_u *dst));
-void check_shellsize __ARGS((void));
-void win_new_shellsize __ARGS((void));
-void shell_resized __ARGS((void));
-void shell_resized_check __ARGS((void));
-void set_shellsize __ARGS((int width, int height, int mustset));
-void settmode __ARGS((int tmode));
-void starttermcap __ARGS((void));
-void stoptermcap __ARGS((void));
-void may_req_termresponse __ARGS((void));
-int swapping_screen __ARGS((void));
-void setmouse __ARGS((void));
-int mouse_has __ARGS((int c));
-int mouse_model_popup __ARGS((void));
-void scroll_start __ARGS((void));
-void cursor_on __ARGS((void));
-void cursor_off __ARGS((void));
-void term_cursor_shape __ARGS((void));
-void scroll_region_set __ARGS((win_T *wp, int off));
-void scroll_region_reset __ARGS((void));
-void clear_termcodes __ARGS((void));
-void add_termcode __ARGS((char_u *name, char_u *string, int flags));
-char_u *find_termcode __ARGS((char_u *name));
-char_u *get_termcode __ARGS((int i));
-void del_termcode __ARGS((char_u *name));
-void set_mouse_topline __ARGS((win_T *wp));
-int check_termcode __ARGS((int max_offset, char_u *buf, int buflen));
-char_u *replace_termcodes __ARGS((char_u *from, char_u **bufp, int from_part, int do_lt));
-int find_term_bykeys __ARGS((char_u *src));
-void show_termcodes __ARGS((void));
-int show_one_termcode __ARGS((char_u *name, char_u *code, int printit));
-char_u *translate_mapping __ARGS((char_u *str, int expmap));
-void update_tcap __ARGS((int attr));
+extern int set_termname __ARGS((char_u *term));
+extern void set_mouse_termcode __ARGS((int n, char_u *s));
+extern void del_mouse_termcode __ARGS((int n));
+extern void getlinecol __ARGS((long *cp, long *rp));
+extern int add_termcap_entry __ARGS((char_u *name, int force));
+extern int term_is_8bit __ARGS((char_u *name));
+extern int term_is_gui __ARGS((char_u *name));
+extern char_u *tltoa __ARGS((unsigned long i));
+extern void termcapinit __ARGS((char_u *name));
+extern void out_flush __ARGS((void));
+extern void out_flush_check __ARGS((void));
+extern void out_trash __ARGS((void));
+extern void out_char __ARGS((unsigned c));
+extern void out_str_nf __ARGS((char_u *s));
+extern void out_str __ARGS((char_u *s));
+extern void term_windgoto __ARGS((int row, int col));
+extern void term_cursor_right __ARGS((int i));
+extern void term_append_lines __ARGS((int line_count));
+extern void term_delete_lines __ARGS((int line_count));
+extern void term_set_winpos __ARGS((int x, int y));
+extern void term_set_winsize __ARGS((int width, int height));
+extern void term_fg_color __ARGS((int n));
+extern void term_bg_color __ARGS((int n));
+extern void term_settitle __ARGS((char_u *title));
+extern void ttest __ARGS((int pairs));
+extern void add_long_to_buf __ARGS((long_u val, char_u *dst));
+extern void check_shellsize __ARGS((void));
+extern void win_new_shellsize __ARGS((void));
+extern void shell_resized __ARGS((void));
+extern void shell_resized_check __ARGS((void));
+extern void set_shellsize __ARGS((int width, int height, int mustset));
+extern void settmode __ARGS((int tmode));
+extern void starttermcap __ARGS((void));
+extern void stoptermcap __ARGS((void));
+extern void may_req_termresponse __ARGS((void));
+extern int swapping_screen __ARGS((void));
+extern void setmouse __ARGS((void));
+extern int mouse_has __ARGS((int c));
+extern int mouse_model_popup __ARGS((void));
+extern void scroll_start __ARGS((void));
+extern void cursor_on __ARGS((void));
+extern void cursor_off __ARGS((void));
+extern void term_cursor_shape __ARGS((void));
+extern void scroll_region_set __ARGS((win_T *wp, int off));
+extern void scroll_region_reset __ARGS((void));
+extern void clear_termcodes __ARGS((void));
+extern void add_termcode __ARGS((char_u *name, char_u *string, int flags));
+extern char_u *find_termcode __ARGS((char_u *name));
+extern char_u *get_termcode __ARGS((int i));
+extern void del_termcode __ARGS((char_u *name));
+extern void set_mouse_topline __ARGS((win_T *wp));
+extern int check_termcode __ARGS((int max_offset, char_u *buf, int buflen));
+extern char_u *replace_termcodes __ARGS((char_u *from, char_u **bufp, int from_part, int do_lt));
+extern int find_term_bykeys __ARGS((char_u *src));
+extern void show_termcodes __ARGS((void));
+extern int show_one_termcode __ARGS((char_u *name, char_u *code, int printit));
+extern char_u *translate_mapping __ARGS((char_u *str, int expmap));
+extern void update_tcap __ARGS((int attr));
/* vim: set ft=c : */
diff --git a/src/proto/termlib.pro b/src/proto/termlib.pro
index 4369ecfc6..464b73bb7 100644
--- a/src/proto/termlib.pro
+++ b/src/proto/termlib.pro
@@ -1,8 +1,8 @@
/* termlib.c */
-int tgetent __ARGS((char *tbuf, char *term));
-int tgetflag __ARGS((char *id));
-int tgetnum __ARGS((char *id));
-char *tgetstr __ARGS((char *id, char **buf));
-char *tgoto __ARGS((char *cm, int col, int line));
-int tputs __ARGS((char *cp, int affcnt, void (*outc)(unsigned int)));
+extern int tgetent __ARGS((char *tbuf, char *term));
+extern int tgetflag __ARGS((char *id));
+extern int tgetnum __ARGS((char *id));
+extern char *tgetstr __ARGS((char *id, char **buf));
+extern char *tgoto __ARGS((char *cm, int col, int line));
+extern int tputs __ARGS((char *cp, int affcnt, void (*outc)(unsigned int)));
/* vim: set ft=c : */
diff --git a/src/proto/ui.pro b/src/proto/ui.pro
index 8825b6a16..593c1b9de 100644
--- a/src/proto/ui.pro
+++ b/src/proto/ui.pro
@@ -1,61 +1,61 @@
/* ui.c */
-void ui_write __ARGS((char_u *s, int len));
-void ui_inchar_undo __ARGS((char_u *s, int len));
-int ui_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
-int ui_char_avail __ARGS((void));
-void ui_delay __ARGS((long msec, int ignoreinput));
-void ui_suspend __ARGS((void));
-void suspend_shell __ARGS((void));
-int ui_get_shellsize __ARGS((void));
-void ui_set_shellsize __ARGS((int mustset));
-void ui_new_shellsize __ARGS((void));
-void ui_breakcheck __ARGS((void));
-void clip_init __ARGS((int can_use));
-void clip_update_selection __ARGS((void));
-void clip_own_selection __ARGS((VimClipboard *cbd));
-void clip_lose_selection __ARGS((VimClipboard *cbd));
-void clip_copy_selection __ARGS((void));
-void clip_auto_select __ARGS((void));
-int clip_isautosel __ARGS((void));
-void clip_modeless __ARGS((int button, int is_click, int is_drag));
-void clip_start_selection __ARGS((int col, int row, int repeated_click));
-void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
-void clip_may_redraw_selection __ARGS((int row, int col, int len));
-void clip_clear_selection __ARGS((void));
-void clip_may_clear_selection __ARGS((int row1, int row2));
-void clip_scroll_selection __ARGS((int rows));
-void clip_copy_modeless_selection __ARGS((int both));
-int clip_gen_own_selection __ARGS((VimClipboard *cbd));
-void clip_gen_lose_selection __ARGS((VimClipboard *cbd));
-void clip_gen_set_selection __ARGS((VimClipboard *cbd));
-void clip_gen_request_selection __ARGS((VimClipboard *cbd));
-int vim_is_input_buf_full __ARGS((void));
-int vim_is_input_buf_empty __ARGS((void));
-int vim_free_in_input_buf __ARGS((void));
-int vim_used_in_input_buf __ARGS((void));
-char_u *get_input_buf __ARGS((void));
-void set_input_buf __ARGS((char_u *p));
-void add_to_input_buf __ARGS((char_u *s, int len));
-void add_to_input_buf_csi __ARGS((char_u *str, int len));
-void push_raw_key __ARGS((char_u *s, int len));
-void trash_input_buf __ARGS((void));
-int read_from_input_buf __ARGS((char_u *buf, long maxlen));
-void fill_input_buf __ARGS((int exit_on_error));
-void read_error_exit __ARGS((void));
-void ui_cursor_shape __ARGS((void));
-int check_col __ARGS((int col));
-int check_row __ARGS((int row));
-void open_app_context __ARGS((void));
-void x11_setup_atoms __ARGS((Display *dpy));
-void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
-void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
-int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
-void clip_x11_set_selection __ARGS((VimClipboard *cbd));
-int jump_to_mouse __ARGS((int flags, int *inclusive, int which_button));
-int mouse_comp_pos __ARGS((win_T *win, int *rowp, int *colp, linenr_T *lnump));
-win_T *mouse_find_win __ARGS((int *rowp, int *colp));
-int get_fpos_of_mouse __ARGS((pos_T *mpos));
-int vcol2col __ARGS((win_T *wp, linenr_T lnum, int vcol));
-void ui_focus_change __ARGS((int in_focus));
-void im_save_status __ARGS((long *psave));
+extern void ui_write __ARGS((char_u *s, int len));
+extern void ui_inchar_undo __ARGS((char_u *s, int len));
+extern int ui_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt));
+extern int ui_char_avail __ARGS((void));
+extern void ui_delay __ARGS((long msec, int ignoreinput));
+extern void ui_suspend __ARGS((void));
+extern void suspend_shell __ARGS((void));
+extern int ui_get_shellsize __ARGS((void));
+extern void ui_set_shellsize __ARGS((int mustset));
+extern void ui_new_shellsize __ARGS((void));
+extern void ui_breakcheck __ARGS((void));
+extern void clip_init __ARGS((int can_use));
+extern void clip_update_selection __ARGS((void));
+extern void clip_own_selection __ARGS((VimClipboard *cbd));
+extern void clip_lose_selection __ARGS((VimClipboard *cbd));
+extern void clip_copy_selection __ARGS((void));
+extern void clip_auto_select __ARGS((void));
+extern int clip_isautosel __ARGS((void));
+extern void clip_modeless __ARGS((int button, int is_click, int is_drag));
+extern void clip_start_selection __ARGS((int col, int row, int repeated_click));
+extern void clip_process_selection __ARGS((int button, int col, int row, int_u repeated_click));
+extern void clip_may_redraw_selection __ARGS((int row, int col, int len));
+extern void clip_clear_selection __ARGS((void));
+extern void clip_may_clear_selection __ARGS((int row1, int row2));
+extern void clip_scroll_selection __ARGS((int rows));
+extern void clip_copy_modeless_selection __ARGS((int both));
+extern int clip_gen_own_selection __ARGS((VimClipboard *cbd));
+extern void clip_gen_lose_selection __ARGS((VimClipboard *cbd));
+extern void clip_gen_set_selection __ARGS((VimClipboard *cbd));
+extern void clip_gen_request_selection __ARGS((VimClipboard *cbd));
+extern int vim_is_input_buf_full __ARGS((void));
+extern int vim_is_input_buf_empty __ARGS((void));
+extern int vim_free_in_input_buf __ARGS((void));
+extern int vim_used_in_input_buf __ARGS((void));
+extern char_u *get_input_buf __ARGS((void));
+extern void set_input_buf __ARGS((char_u *p));
+extern void add_to_input_buf __ARGS((char_u *s, int len));
+extern void add_to_input_buf_csi __ARGS((char_u *str, int len));
+extern void push_raw_key __ARGS((char_u *s, int len));
+extern void trash_input_buf __ARGS((void));
+extern int read_from_input_buf __ARGS((char_u *buf, long maxlen));
+extern void fill_input_buf __ARGS((int exit_on_error));
+extern void read_error_exit __ARGS((void));
+extern void ui_cursor_shape __ARGS((void));
+extern int check_col __ARGS((int col));
+extern int check_row __ARGS((int row));
+extern void open_app_context __ARGS((void));
+extern void x11_setup_atoms __ARGS((Display *dpy));
+extern void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd));
+extern void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd));
+extern int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd));
+extern void clip_x11_set_selection __ARGS((VimClipboard *cbd));
+extern int jump_to_mouse __ARGS((int flags, int *inclusive, int which_button));
+extern int mouse_comp_pos __ARGS((win_T *win, int *rowp, int *colp, linenr_T *lnump));
+extern win_T *mouse_find_win __ARGS((int *rowp, int *colp));
+extern int get_fpos_of_mouse __ARGS((pos_T *mpos));
+extern int vcol2col __ARGS((win_T *wp, linenr_T lnum, int vcol));
+extern void ui_focus_change __ARGS((int in_focus));
+extern void im_save_status __ARGS((long *psave));
/* vim: set ft=c : */
diff --git a/src/structs.h b/src/structs.h
index 1b7c826f3..2a9882b15 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1118,7 +1118,9 @@ struct dictvar_S
# define B_SPELL(buf) (0)
#endif
+#ifdef FEAT_QUICKFIX
typedef struct qf_info_S qf_info_T;
+#endif
/*
* buffer: structure that holds information about one file
diff --git a/src/testdir/test61.in b/src/testdir/test61.in
index 749d8ad04..172c36e8e 100644
--- a/src/testdir/test61.in
+++ b/src/testdir/test61.in
@@ -30,7 +30,7 @@ g-:.w >>test.out
:"
:/^222/w >>test.out
:" Delay for three seconds and go some seconds forward and backward
-:sleep 2
+:sleep 3
Aa:set ul=100
Ab:set ul=100
Ac:set ul=100