updated for version 7.0153

This commit is contained in:
Bram Moolenaar
2005-10-03 22:02:18 +00:00
parent bb15b65864
commit 1c7715dfe4
28 changed files with 528 additions and 44 deletions

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0aa. Last change: 2005 Sep 29
*eval.txt* For Vim version 7.0aa. Last change: 2005 Oct 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1372,6 +1372,14 @@ v:progname Contains the name (with path removed) with which Vim was
v:register The name of the register supplied to the last normal mode
command. Empty if none were supplied. |getreg()| |setreg()|
*v:scrollstart* *scrollstart-variable*
v:scrollstart String describing the script or function that caused the
screen to scroll up. It's only set when it is empty, thus the
first reason is remembered. It is set to "Unknown" for a
typed command.
This can be used to find out why your script causes the
hit-enter prompt.
*v:servername* *servername-variable*
v:servername The resulting registered |x11-clientserver| name if any.
Read-only.

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.0aa. Last change: 2005 Sep 23
*insert.txt* For Vim version 7.0aa. Last change: 2005 Oct 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -952,6 +952,27 @@ CTRL-P Find previous match for words that start with the
other contexts unless a double CTRL-X is used.
INSERT COMPLETION POPUP MENU *ins-completion-menu*
Vim can display the matches in a simplistic popup menu.
The menu is used when:
- The 'completeopt' option contains "menu".
- The terminal supports at least 8 colors.
- There are at least two matches.
While the menu is displayed these keys have a special meaning:
<CR> and <Enter>: Accept the currently selected match
<Up>: Select the previous match, as if CTRL-P was used
<Down>: Select the next match, as if CTRL-N was used
The colors of the menu can be changed with these highlight groups:
Pmenu normal item |hl-Pmenu|
PmenuSel selected item |hl-PmenuSel|
PmenuSbar scrollbar |hl-PmenuSbar|
PmenuThumb thumb of the scrollbar |hl-PmenuThumb|
Filetype-specific remarks for omni completion *compl-omni-filetypes*
C *ft-c-omni*

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2005 Sep 28
*options.txt* For Vim version 7.0aa. Last change: 2005 Oct 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1683,6 +1683,18 @@ A jump table for the options with a short description can be found at |Q_op|.
set completefunc=CompleteMonths
<
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default: "menu")
global
{not in Vi}
Options for Insert mode completion |ins-completion|.
Currently the only supported value is:
menu Use a popup menu to show the possible completions. The
menu is only shown when there is more than one match and
sufficient colors are available. |ins-completion-menu|
*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
'confirm' 'cf' boolean (default off)
global
@ -3382,7 +3394,9 @@ A jump table for the options with a short description can be found at |Q_op|.
f:Folded,F:FoldColumn,A:DiffAdd,
C:DiffChange,D:DiffDelete,T:DiffText,
>:SignColumn,B:SpellBad,P:SpellCap,
R:SpellRare,L:SpellLocal")
R:SpellRare,L:SpellLocal,
+:Pmenu,=:PmenuSel,
x:PmenuSbar,X:PmenuThumb")
global
{not in Vi}
This option can be used to set highlighting mode for various
@ -3423,6 +3437,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-SpellCap| P word that should start with capital|spell|
|hl-SpellRare| R rare word |spell|
|hl-SpellLocal| L word from other region |spell|
|hl-Pmenu| + popup menu normal line
|hl-PmenuSel| = popup menu normal line
|hl-PmenuSbar| x popup menu scrollbar
|hl-PmenuThumb| X popup menu scrollbar thumb
The display modes are:
r reverse (termcap entry "mr" and "me")

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.0aa. Last change: 2005 Jun 30
*starting.txt* For Vim version 7.0aa. Last change: 2005 Oct 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -789,10 +789,11 @@ accordingly. Vim proceeds in this order:
4. Load the plugin scripts. *load-plugins*
This does the same as the command: >
:runtime! plugin/*.vim
:runtime! plugin/**/*.vim
< The result is that all directories in the 'runtimepath' option will be
searched for the "plugin" sub-directory and all files ending in ".vim"
will be sourced (in alphabetical order per directory).
will be sourced (in alphabetical order per directory), also in
subdirectories.
Loading plugins won't be done when:
- The 'loadplugins' option was reset in a vimrc file.
- The |--noplugin| command line argument is used.

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.0aa. Last change: 2005 Sep 27
*syntax.txt* For Vim version 7.0aa. Last change: 2005 Oct 02
VIM REFERENCE MANUAL by Bram Moolenaar
@ -3926,6 +3926,14 @@ NonText '~' and '@' at the end of the window, characters from
doesn't fit at the end of the line).
*hl-Normal*
Normal normal text
*hl-Pmenu*
Pmenu Popup menu: normal item.
*hl-PmenuSel*
PmenuSel Popup menu: selected item.
*hl-PmenuSbar*
PmenuSbar Popup menu: scrollbar.
*hl-PmenuThumb*
PmenuThumb Popup menu: Thumb of the scrollbar.
*hl-Question*
Question |hit-enter| prompt and yes/no questions
*hl-Search*

View File

@ -120,10 +120,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'compatible' options.txt /*'compatible'*
'complete' options.txt /*'complete'*
'completefunc' options.txt /*'completefunc'*
'completeopt' options.txt /*'completeopt'*
'confirm' options.txt /*'confirm'*
'consk' options.txt /*'consk'*
'conskey' options.txt /*'conskey'*
'copyindent' options.txt /*'copyindent'*
'cot' options.txt /*'cot'*
'cp' options.txt /*'cp'*
'cpo' options.txt /*'cpo'*
'cpoptions' options.txt /*'cpoptions'*
@ -5353,6 +5355,10 @@ hl-ModeMsg syntax.txt /*hl-ModeMsg*
hl-MoreMsg syntax.txt /*hl-MoreMsg*
hl-NonText syntax.txt /*hl-NonText*
hl-Normal syntax.txt /*hl-Normal*
hl-Pmenu syntax.txt /*hl-Pmenu*
hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
hl-PmenuSel syntax.txt /*hl-PmenuSel*
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
hl-Question syntax.txt /*hl-Question*
hl-Scrollbar syntax.txt /*hl-Scrollbar*
hl-Search syntax.txt /*hl-Search*
@ -5546,6 +5552,7 @@ inputrestore() eval.txt /*inputrestore()*
inputsave() eval.txt /*inputsave()*
inputsecret() eval.txt /*inputsecret()*
ins-completion insert.txt /*ins-completion*
ins-completion-menu insert.txt /*ins-completion-menu*
ins-expandtab insert.txt /*ins-expandtab*
ins-reverse rileft.txt /*ins-reverse*
ins-smarttab insert.txt /*ins-smarttab*
@ -6363,6 +6370,7 @@ scroll.txt scroll.txt /*scroll.txt*
scrollbind-quickadj scroll.txt /*scrollbind-quickadj*
scrollbind-relative scroll.txt /*scrollbind-relative*
scrolling scroll.txt /*scrolling*
scrollstart-variable eval.txt /*scrollstart-variable*
sdl.vim syntax.txt /*sdl.vim*
search() eval.txt /*search()*
search-commands pattern.txt /*search-commands*
@ -6948,6 +6956,7 @@ v:prevcount eval.txt /*v:prevcount*
v:profiling eval.txt /*v:profiling*
v:progname eval.txt /*v:progname*
v:register eval.txt /*v:register*
v:scrollstart eval.txt /*v:scrollstart*
v:servername eval.txt /*v:servername*
v:shell_error eval.txt /*v:shell_error*
v:statusmsg eval.txt /*v:statusmsg*
@ -7324,6 +7333,13 @@ zf fold.txt /*zf*
zg spell.txt /*zg*
zh scroll.txt /*zh*
zi fold.txt /*zi*
zip zip.txt /*zip*
zip-contents zip.txt /*zip-contents*
zip-copyright zip.txt /*zip-copyright*
zip-history zip.txt /*zip-history*
zip-manual zip.txt /*zip-manual*
zip-usage zip.txt /*zip-usage*
zip.txt zip.txt /*zip.txt*
zj fold.txt /*zj*
zk fold.txt /*zk*
zl scroll.txt /*zl*

View File

@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Aug 16
" Last Change: 2005 Oct 01
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@ -902,7 +902,7 @@ if has("spell")
endif
let curcol = col('.')
let w = spellbadword()
let [w, a] = spellbadword()
if col('.') > curcol " don't use word after the cursor
let w = ''
call cursor(0, curcol) " put the cursor back where it was

View File

@ -80,6 +80,7 @@ EXE_dependencies = \
normal.obj \
ops.obj \
option.obj \
popupmenu.obj \
quickfix.obj \
regexp.obj \
screen.obj \

View File

@ -1,6 +1,6 @@
#
# Makefile for VIM on Win32, using Cygnus gcc
# Last updated by Dan Sharp. Last Change: 2005 Jul 23
# Last updated by Dan Sharp. Last Change: 2005 Oct 01
#
# Also read INSTALLpc.txt!
#
@ -421,6 +421,7 @@ OBJ = \
$(OUTDIR)/os_win32.o \
$(OUTDIR)/os_mswin.o \
$(OUTDIR)/pathdef.o \
$(OUTDIR)/popupmenu.o \
$(OUTDIR)/quickfix.o \
$(OUTDIR)/regexp.o \
$(OUTDIR)/screen.o \

View File

@ -56,6 +56,7 @@ SRC = \
ops.c \
option.c \
os_amiga.c \
popupmenu.c \
quickfix.c \
regexp.c \
screen.c \
@ -99,6 +100,7 @@ OBJ = o/buffer.o \
o/ops.o \
o/option.o \
o/os_amiga.o \
o/popupmenu.o \
o/quickfix.o \
o/regexp.o \
o/screen.o \
@ -196,6 +198,8 @@ o/option.o: option.c $(SYMS)
o/os_amiga.o: os_amiga.c $(SYMS) os_amiga.h
o/popupmenu.o: popupmenu.c $(SYMS)
o/quickfix.o: quickfix.c $(SYMS)
o/regexp.o: regexp.c $(SYMS) regexp.h

View File

@ -64,6 +64,7 @@ SRC = buffer.c \
ops.c \
option.c \
os_amiga.c \
popupmenu.c \
quickfix.c \
regexp.c \
screen.c \
@ -109,6 +110,7 @@ OBJ = obj/buffer.o \
obj/ops.o \
obj/option.o \
obj/os_amiga.o \
obj/popupmenu.o \
obj/quickfix.o \
obj/regexp.o \
obj/screen.o \
@ -152,6 +154,7 @@ PRO = proto/buffer.pro \
proto/ops.pro \
proto/option.pro \
proto/os_amiga.pro \
proto/popupmenu.pro \
proto/quickfix.pro \
proto/regexp.pro \
proto/screen.pro \
@ -303,6 +306,9 @@ obj/option.o: option.c
obj/os_amiga.o: os_amiga.c
$(CCSYM) $@ os_amiga.c
obj/popupmenu.o: popupmenu.c
$(CCSYM) $@ popupmenu.c
obj/quickfix.o: quickfix.c
$(CCSYM) $@ quickfix.c

View File

@ -389,6 +389,7 @@ OBJ = \
$(OUTDIR)/os_win32.o \
$(OUTDIR)/os_mswin.o \
$(OUTDIR)/pathdef.o \
$(OUTDIR)/popupmenu.o \
$(OUTDIR)/quickfix.o \
$(OUTDIR)/regexp.o \
$(OUTDIR)/screen.o \

View File

@ -52,6 +52,7 @@ SrcFiles =
:src:option.c <20>
:src:os_mac.c <20>
:src:pty.c <20>
:src:popupmenu.c <20>
:src:quickfix.c <20>
:src:regexp.c <20>
:src:screen.c <20>
@ -105,6 +106,7 @@ ObjFiles-PPC =
"{ObjDir}option.c.x" <20>
"{ObjDir}os_mac.c.x" <20>
"{ObjDir}pty.c.x" <20>
"{ObjDir}popupmenu.c.x" <20>
"{ObjDir}quickfix.c.x" <20>
"{ObjDir}regexp.c.x" <20>
"{ObjDir}screen.c.x" <20>
@ -189,6 +191,7 @@ VIm
"{ObjDir}option.c.x" <EFBFBD> :src:option.c
"{ObjDir}os_mac.c.x" <EFBFBD> :src:os_mac.c
"{ObjDir}pty.c.x" <EFBFBD> :src:pty.c
"{ObjDir}popupmenu.c.x" <EFBFBD> :src:popupmenu.c
"{ObjDir}quickfix.c.x" <EFBFBD> :src:quickfix.c
"{ObjDir}regexp.c.x" <EFBFBD> :src:regexp.c
"{ObjDir}screen.c.x" <EFBFBD> :src:screen.c
@ -276,6 +279,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -359,6 +363,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -442,6 +447,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -525,6 +531,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -608,6 +615,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -692,6 +700,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -775,6 +784,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -858,6 +868,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -941,6 +952,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1024,6 +1036,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1107,6 +1120,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1190,6 +1204,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1273,6 +1288,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1354,6 +1370,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1437,6 +1454,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1520,6 +1538,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1603,6 +1622,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1686,6 +1706,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1795,6 +1816,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1879,6 +1901,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -1962,6 +1985,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2045,6 +2069,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2128,6 +2153,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2211,6 +2237,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2294,6 +2321,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2378,6 +2406,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2461,6 +2490,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2544,6 +2574,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2627,6 +2658,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2710,6 +2742,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2793,6 +2826,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2876,6 +2910,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -2959,6 +2994,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3042,6 +3078,91 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
:src:proto:search.pro <20>
:src:proto:spell.pro <20>
:src:proto:syntax.pro <20>
:src:proto:tag.pro <20>
:src:proto:term.pro <20>
:src:proto:termlib.pro <20>
:src:proto:ui.pro <20>
:src:proto:undo.pro <20>
:src:proto:version.pro <20>
:src:proto:window.pro <20>
:src:proto:if_python.pro <20>
:src:proto:if_tcl.pro <20>
:src:proto:if_ruby.pro <20>
:src:proto:gui.pro <20>
:src:proto:pty.pro <20>
:src:proto:gui_gtk.pro <20>
:src:proto:gui_gtk_x11.pro <20>
:src:proto:gui_motif.pro <20>
:src:proto:gui_athena.pro <20>
:src:proto:gui_mac.pro <20>
:src:proto:gui_x11.pro <20>
:src:proto:workshop.pro <20>
:src:proto:if_perl.pro <20>
:src:proto:if_perlsfio.pro
:obj:popupmenu.c.x <09> <20>
:src:popupmenu.c <20>
:src:vim.h <20>
:src:auto:config.h <20>
:src:feature.h <20>
:src:os_unix.h <20>
:src:os_mac.h <20>
:src:workshop.h <20>
:src:ascii.h <20>
:src:keymap.h <20>
:src:term.h <20>
:src:macros.h <20>
:src:structs.h <20>
:src:globals.h <20>
:src:option.h <20>
:src:ex_cmds.h <20>
:src:proto.h <20>
:src:integration.h <20>
:src:wsdebug.h <20>
:src:regexp.h <20>
:src:gui.h <20>
:src:farsi.h <20>
:src:proto:os_unix.pro <20>
:src:proto:os_mac.pro <20>
:src:proto:buffer.pro <20>
:src:proto:charset.pro <20>
:src:proto:if_cscope.pro <20>
:src:proto:diff.pro <20>
:src:proto:digraph.pro <20>
:src:proto:edit.pro <20>
:src:proto:eval.pro <20>
:src:proto:ex_cmds.pro <20>
:src:proto:ex_cmds2.pro <20>
:src:proto:ex_docmd.pro <20>
:src:proto:ex_eval.pro <20>
:src:proto:ex_getln.pro <20>
:src:proto:fileio.pro <20>
:src:proto:fold.pro <20>
:src:proto:getchar.pro <20>
:src:proto:hardcopy.pro <20>
:src:proto:hashtable.pro <20>
:src:proto:hangulin.pro <20>
:src:proto:main.pro <20>
:src:proto:mark.pro <20>
:src:proto:memfile.pro <20>
:src:proto:memline.pro <20>
:src:proto:menu.pro <20>
:src:proto:message.pro <20>
:src:proto:misc1.pro <20>
:src:proto:misc2.pro <20>
:src:proto:move.pro <20>
:src:proto:multibyte.pro <20>
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3125,6 +3246,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3208,6 +3330,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3291,6 +3414,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3374,6 +3498,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3457,6 +3582,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3540,6 +3666,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3623,6 +3750,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3706,6 +3834,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3790,6 +3919,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3872,6 +4002,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -3955,6 +4086,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -4039,6 +4171,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -4122,6 +4255,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>
@ -4205,6 +4339,7 @@ Dependencies
:src:proto:normal.pro <20>
:src:proto:ops.pro <20>
:src:proto:option.pro <20>
:src:proto:popupmenu.pro <20>
:src:proto:quickfix.pro <20>
:src:proto:regexp.pro <20>
:src:proto:screen.pro <20>

View File

@ -68,6 +68,7 @@ OBJ = \
normal.o \
ops.o \
option.o \
popupmenu.o \
quickfix.o \
regexp.o \
screen.o \
@ -140,6 +141,7 @@ mbyte.o: mbyte.c $(INCL)
normal.o: normal.c $(INCL)
ops.o: ops.c $(INCL)
option.o: option.c $(INCL)
popupmenu.o: popupmenu.c $(INCL)
quickfix.o: quickfix.c $(INCL)
regexp.o: regexp.c $(INCL)
screen.o: screen.c $(INCL)

View File

@ -15,7 +15,8 @@ OBJS = o.buffer o.charset o.diff o.digraph o.edit o.eval o.ex_cmds o.ex_cmds2
o.ex_docmd o.ex_eval o.ex_getln o.fileio o.fold o.getchar \
o.hardcopy o.hashtable o.main o.mark o.mbyte \
o.memfile o.memline o.menu o.message o.misc1 o.misc2 o.move \
o.normal o.ops o.option o.quickfix o.regexp o.screen o.search \
o.normal o.ops o.option o.popupmenu o.quickfix o.regexp o.screen \
o.search \
o.spell o.syntax o.tag o.term o.termlib o.ui o.undo o.version \
o.window o.os_riscos o.swis o.gui o.gui_riscos
@ -104,6 +105,8 @@ o.os_riscos: c.os_riscos
o.pty: c.pty
o.popupmenu: c.popupmenu
o.quickfix: c.quickfix
o.regexp: c.regexp

View File

@ -119,6 +119,7 @@ SRC = \
ops.c \
option.c \
os_amiga.c \
popupmenu.c \
quickfix.c \
regexp.c \
screen.c \
@ -163,6 +164,7 @@ OBJ = \
ops.o \
option.o \
os_amiga.o \
popupmenu.o \
quickfix.o \
regexp.o \
screen.o \
@ -207,6 +209,7 @@ PRO = \
proto/ops.pro \
proto/option.pro \
proto/os_amiga.pro \
proto/popupmenu.pro \
proto/quickfix.pro \
proto/regexp.pro \
proto/screen.pro \
@ -335,6 +338,8 @@ option.o: option.c
proto/option.pro: option.c
os_amiga.o: os_amiga.c
proto/os_amiga.pro: os_amiga.c
popupmenu.o: popupmenu.c
proto/popupmenu.pro: popupmenu.c
quickfix.o: quickfix.c
proto/quickfix.pro: quickfix.c
regexp.o: regexp.c

View File

@ -107,6 +107,7 @@ ObjFiles = \
$(INTDIR)\os_win16.obj\
$(INTDIR)\os_msdos.obj\
$(INTDIR)\os_mswin.obj\
$(INTDIR)\popupmenu.obj\
$(INTDIR)\quickfix.obj\
$(INTDIR)\regexp.obj\
$(INTDIR)\screen.obj\

View File

@ -1371,6 +1371,7 @@ BASIC_SRC = \
option.c \
os_unix.c \
auto/pathdef.c \
popupmenu.c \
quickfix.c \
regexp.c \
screen.c \
@ -1441,6 +1442,7 @@ OBJ = \
objects/option.o \
objects/os_unix.o \
objects/pathdef.o \
objects/popupmenu.o \
objects/quickfix.o \
objects/regexp.o \
objects/screen.o \
@ -1500,6 +1502,7 @@ PRO_AUTO = \
ops.pro \
option.pro \
os_unix.pro \
popupmenu.pro \
quickfix.pro \
regexp.pro \
screen.pro \
@ -1611,14 +1614,19 @@ xxd/xxd$(EXEEXT): xxd/xxd.c
# Generate the converted .mo files separately, it's no problem if this fails.
languages:
@if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
$(MAKE) language-check; \
cd $(PODIR); \
CC="$(CC)" $(MAKE) check; \
CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix); \
fi
-@if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
cd $(PODIR); CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix) converted; \
fi
# Separate target to check the po files for valitidy, because it depends on
# ./vim.
language-check: $(VIMTARGET)
cd $(PODIR); $(MAKE) check VIM=../$(VIMTARGET)
# Update the *.po files for changes in the sources. Only run manually.
update-po:
cd $(PODIR); CC="$(CC)" $(MAKE) prefix=$(DESTDIR)$(prefix) update-po
@ -2457,6 +2465,9 @@ objects/py_getpath.o: $(PYTHON_CONFDIR)/getpath.c
objects/pty.o: pty.c
$(CCC) -o $@ pty.c
objects/popupmenu.o: popupmenu.c
$(CCC) -o $@ popupmenu.c
objects/quickfix.o: quickfix.c
$(CCC) -o $@ quickfix.c

View File

@ -109,10 +109,14 @@ static void ins_ctrl_x __ARGS((void));
static int has_compl_option __ARGS((int dict_opt));
static void ins_compl_add_matches __ARGS((int num_matches, char_u **matches, int dir));
static int ins_compl_make_cyclic __ARGS((void));
static void ins_compl_upd_pum __ARGS((void));
static void ins_compl_del_pum __ARGS((void));
static int pum_wanted __ARGS((void));
static void ins_compl_show_pum __ARGS((void));
static void ins_compl_dictionaries __ARGS((char_u *dict, char_u *pat, int dir, int flags, int thesaurus));
static void ins_compl_free __ARGS((void));
static void ins_compl_clear __ARGS((void));
static void ins_compl_prep __ARGS((int c));
static int ins_compl_prep __ARGS((int c));
static buf_T *ins_compl_next_buf __ARGS((buf_T *buf, int flag));
static int ins_compl_get_exp __ARGS((pos_T *ini, int dir));
static void ins_compl_delete __ARGS((void));
@ -659,10 +663,19 @@ edit(cmdchar, startln, count)
#endif
#ifdef FEAT_INS_EXPAND
/* When the popup menu is visible cursor keys change the selection. */
if (c == K_UP && pum_visible())
c = Ctrl_P;
if (c == K_DOWN && pum_visible())
c = Ctrl_N;
/* Prepare for or stop CTRL-X mode. This doesn't do completion, but
* it does fix up the text when finishing completion. */
if (c != K_IGNORE)
ins_compl_prep(c);
{
if (ins_compl_prep(c))
continue;
}
#endif
/* CTRL-\ CTRL-N goes to Normal mode,
@ -1968,6 +1981,9 @@ ins_compl_add(str, len, fname, dir, flags)
} while (match != NULL && match != compl_first_match);
}
/* Remove any popup menu before changing the list of matches. */
ins_compl_del_pum();
/*
* Allocate a new match structure.
* Copy the values to the new match structure.
@ -2073,6 +2089,157 @@ ins_compl_make_cyclic()
return count;
}
static char_u **compl_match_array = NULL;
static int compl_match_arraysize;
/*
* Update the screen and when there is any scrolling remove the popup menu.
*/
static void
ins_compl_upd_pum()
{
int h;
if (compl_match_array != NULL)
{
h = curwin->w_cline_height;
update_screen(0);
if (h != curwin->w_cline_height)
ins_compl_del_pum();
}
}
/*
* Remove any popup menu.
*/
static void
ins_compl_del_pum()
{
if (compl_match_array != NULL)
{
pum_undisplay();
vim_free(compl_match_array);
compl_match_array = NULL;
}
}
/*
* Return TRUE if the popup menu should be displayed.
*/
static int
pum_wanted()
{
compl_T *compl;
int i;
/* 'completeopt' must contain "menu" */
if (*p_cot == NUL)
return FALSE;
/* The display looks bad on a B&W display. */
if (t_colors < 8
#ifdef FEAT_GUI
&& !gui.in_use
#endif
)
return FALSE;
/* Don't display the popup menu if there are no matches or there is only
* one (ignoring the original text). */
compl = compl_first_match;
i = 0;
do
{
if (compl == NULL
|| ((compl->cp_flags & ORIGINAL_TEXT) == 0 && ++i == 2))
break;
compl = compl->cp_next;
} while (compl != compl_first_match);
return (i >= 2);
}
/*
* Show the popup menu for the list of matches.
*/
static void
ins_compl_show_pum()
{
compl_T *compl;
int i;
int cur = -1;
colnr_T col;
if (!pum_wanted())
return;
/* Update the screen before drawing the popup menu over it. */
update_screen(0);
if (compl_match_array == NULL)
{
/* Need to build the popup menu list. */
compl_match_arraysize = 0;
compl = compl_first_match;
do
{
if ((compl->cp_flags & ORIGINAL_TEXT) == 0)
++compl_match_arraysize;
compl = compl->cp_next;
} while (compl != NULL && compl != compl_first_match);
compl_match_array = (char_u **)alloc((unsigned)(sizeof(char_u **)
* compl_match_arraysize));
if (compl_match_array != NULL)
{
i = 0;
compl = compl_first_match;
do
{
if ((compl->cp_flags & ORIGINAL_TEXT) == 0)
{
if (compl == compl_shown_match)
cur = i;
compl_match_array[i++] = compl->cp_str;
}
compl = compl->cp_next;
} while (compl != NULL && compl != compl_first_match);
}
}
else
{
/* popup menu already exists, only need to find the current item.*/
i = 0;
compl = compl_first_match;
do
{
if ((compl->cp_flags & ORIGINAL_TEXT) == 0)
{
if (compl == compl_shown_match)
{
cur = i;
break;
}
++i;
}
compl = compl->cp_next;
} while (compl != NULL && compl != compl_first_match);
}
if (compl_match_array != NULL)
{
/* Compute the screen column of the start of the completed text.
* Use the cursor to get all wrapping and other settings right. */
col = curwin->w_cursor.col;
curwin->w_cursor.col = compl_col;
validate_cursor_col();
pum_display(compl_match_array, compl_match_arraysize, cur,
curwin->w_cline_row + W_WINROW(curwin),
curwin->w_cline_height,
curwin->w_wcol + W_WINCOL(curwin));
curwin->w_cursor.col = col;
}
}
#define DICT_FIRST (1) /* use just first element in "dict" */
#define DICT_EXACT (2) /* "dict" is the exact name of a file */
/*
@ -2277,6 +2444,10 @@ ins_compl_free()
if (compl_first_match == NULL)
return;
ins_compl_del_pum();
pum_clear();
compl_curr_match = compl_first_match;
do
{
@ -2306,14 +2477,16 @@ ins_compl_clear()
/*
* Prepare for Insert mode completion, or stop it.
* Called just after typing a character in Insert mode.
* Returns TRUE when the character is not to be inserted;
*/
static void
static int
ins_compl_prep(c)
int c;
{
char_u *ptr;
int temp;
int want_cindent;
int retval = FALSE;
/* Forget any previous 'special' messages if this is actually
* a ^X mode key - bar ^R, in which case we wait to see what it gives us.
@ -2323,7 +2496,7 @@ ins_compl_prep(c)
/* Ignore end of Select mode mapping */
if (c == K_SELECT)
return;
return retval;
if (ctrl_x_mode == CTRL_X_NOT_DEFINED_YET)
{
@ -2504,6 +2677,11 @@ ins_compl_prep(c)
auto_format(FALSE, TRUE);
/* if the popup menu is displayed hitting Enter means accepting
* the selection without inserting anything. */
if ((c == CAR || c == K_KENTER || c == NL) && pum_visible())
retval = TRUE;
ins_compl_free();
compl_started = FALSE;
compl_matches = 0;
@ -2534,6 +2712,8 @@ ins_compl_prep(c)
compl_cont_status = 0;
compl_cont_mode = 0;
}
return retval;
}
/*
@ -2890,8 +3070,8 @@ ins_compl_get_exp(ini, dir)
{
int flags = 0;
/* ctrl_x_mode == CTRL_X_WHOLE_LINE || word-wise search that has
* added a word that was at the beginning of the line */
/* ctrl_x_mode == CTRL_X_WHOLE_LINE || word-wise search that
* has added a word that was at the beginning of the line */
if ( ctrl_x_mode == CTRL_X_WHOLE_LINE
|| (compl_cont_status & CONT_SOL))
found_new_match = search_for_exact_line(ins_buf, pos,
@ -2999,7 +3179,7 @@ ins_compl_get_exp(ini, dir)
}
}
if (ins_compl_add_infercase(ptr, len,
ins_buf == curbuf ? NULL : ins_buf->b_sfname,
ins_buf == curbuf ? NULL : ins_buf->b_sfname,
dir, flags) != NOTDONE)
{
found_new_match = OK;
@ -3009,22 +3189,35 @@ ins_compl_get_exp(ini, dir)
p_scs = save_p_scs;
p_ws = save_p_ws;
}
/* check if compl_curr_match has changed, (e.g. other type of
* expansion added somenthing) */
if (compl_curr_match != old_match)
if (type != 0 && compl_curr_match != old_match)
found_new_match = OK;
/* break the loop for specialized modes (use 'complete' just for the
* generic ctrl_x_mode == 0) or when we've found a new match */
if ((ctrl_x_mode != 0 && ctrl_x_mode != CTRL_X_WHOLE_LINE)
|| found_new_match != FAIL)
break;
{
if (got_int)
break;
if (pum_wanted() && type != -1)
/* Fill the popup menu as soon as possible. */
ins_compl_check_keys(0);
if ((ctrl_x_mode != 0 && ctrl_x_mode != CTRL_X_WHOLE_LINE)
|| compl_interrupted)
break;
compl_started = TRUE;
}
else
{
/* Mark a buffer scanned when it has been scanned completely */
if (type == 0 || type == CTRL_X_PATH_PATTERNS)
ins_buf->b_scanned = TRUE;
/* Mark a buffer scanned when it has been scanned completely */
if (type == 0 || type == CTRL_X_PATH_PATTERNS)
ins_buf->b_scanned = TRUE;
compl_started = FALSE;
compl_started = FALSE;
}
}
compl_started = TRUE;
@ -3106,8 +3299,7 @@ ins_compl_next(allow_get_expansion)
compl_pending = TRUE;
if (allow_get_expansion)
{
num_matches = ins_compl_get_exp(&compl_startpos,
compl_direction);
num_matches = ins_compl_get_exp(&compl_startpos, compl_direction);
if (compl_pending)
{
if (compl_direction == compl_shows_dir)
@ -3123,9 +3315,15 @@ ins_compl_next(allow_get_expansion)
if (!allow_get_expansion)
{
/* may undisplay the popup menu first */
ins_compl_upd_pum();
/* Display the current match. */
update_screen(0);
/* display the updated popup menu */
ins_compl_show_pum();
/* Delete old text to be replaced, since we're still searching and
* don't want to match ourselves! */
ins_compl_delete();
@ -3593,6 +3791,9 @@ ins_complete(c)
*/
n = ins_compl_next(TRUE);
/* may undisplay the popup menu */
ins_compl_upd_pum();
if (n > 1) /* all matches have been found */
compl_matches = n;
compl_curr_match = compl_shown_match;
@ -3671,8 +3872,8 @@ ins_complete(c)
if (match != NULL)
/* go up and assign all numbers which are not assigned
* yet */
for (match = match->cp_next; match
&& match->cp_number == -1;
for (match = match->cp_next;
match != NULL && match->cp_number == -1;
match = match->cp_next)
match->cp_number = ++number;
}
@ -3699,8 +3900,8 @@ ins_complete(c)
}
}
/* The match should always have a sequnce number now, this is just
* a safety check. */
/* The match should always have a sequence number now, this is
* just a safety check. */
if (compl_curr_match->cp_number != -1)
{
/* Space for 10 text chars. + 2x10-digit no.s */
@ -3733,6 +3934,8 @@ ins_complete(c)
else
msg_clr_cmdline(); /* necessary for "noshowmode" */
ins_compl_show_pum();
return OK;
}

View File

@ -1289,7 +1289,7 @@ getcmdline(firstc, count, indent)
goto cmdline_not_changed;
case K_VER_SCROLLBAR:
if (!msg_scrolled)
if (msg_scrolled == 0)
{
gui_do_scroll();
redrawcmd();
@ -1297,7 +1297,7 @@ getcmdline(firstc, count, indent)
goto cmdline_not_changed;
case K_HOR_SCROLLBAR:
if (!msg_scrolled)
if (msg_scrolled == 0)
{
gui_do_horiz_scroll();
redrawcmd();
@ -2897,7 +2897,7 @@ redrawcmd()
void
compute_cmdrow()
{
if (exmode_active || msg_scrolled)
if (exmode_active || msg_scrolled != 0)
cmdline_row = Rows - 1;
else
cmdline_row = W_WINROW(lastwin) + lastwin->w_height

View File

@ -2193,7 +2193,7 @@ failed:
#endif
p = msg_trunc_attr(IObuff, FALSE, 0);
if (read_stdin || read_buffer || restart_edit != 0
|| (msg_scrolled && !need_wait_return))
|| (msg_scrolled != 0 && !need_wait_return))
{
/* Need to repeat the message after redrawing when:
* - When reading from stdin (the screen will be cleared next).

View File

@ -3492,7 +3492,7 @@ gui_drag_scrollbar(sb, value, still_dragging)
ins_horscroll();
else if (State & CMDLINE)
{
if (!msg_scrolled)
if (msg_scrolled == 0)
{
gui_do_horiz_scroll();
redrawcmdline();

View File

@ -657,6 +657,15 @@ static struct vimoption
#else
(char_u *)NULL, PV_NONE,
{(char_u *)0L, (char_u *)0L}
#endif
},
{"completeopt", "cot", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
#ifdef FEAT_INS_EXPAND
(char_u *)&p_cot, PV_NONE,
{(char_u *)"menu", (char_u *)0L}
#else
(char_u *)NULL, PV_NONE,
{(char_u *)0L, (char_u *)0L}
#endif
},
{"confirm", "cf", P_BOOL|P_VI_DEF,
@ -1119,7 +1128,7 @@ static struct vimoption
{(char_u *)FALSE, (char_u *)0L}},
{"highlight", "hl", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP,
(char_u *)&p_hl, PV_NONE,
{(char_u *)"8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal",
{(char_u *)"8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb",
(char_u *)0L}},
{"history", "hi", P_NUM|P_VIM,
(char_u *)&p_hi, PV_NONE,
@ -2608,12 +2617,15 @@ static char *(p_bufhidden_values[]) = {"hide", "unload", "delete", "wipe", NULL}
static char *(p_bs_values[]) = {"indent", "eol", "start", NULL};
#ifdef FEAT_FOLDING
static char *(p_fdm_values[]) = {"manual", "expr", "marker", "indent", "syntax",
#ifdef FEAT_DIFF
# ifdef FEAT_DIFF
"diff",
#endif
# endif
NULL};
static char *(p_fcl_values[]) = {"all", NULL};
#endif
#ifdef FEAT_INS_EXPAND
static char *(p_cot_values[]) = {"menu", NULL};
#endif
static void set_option_default __ARGS((int, int opt_flags, int compatible));
static void set_options_default __ARGS((int opt_flags));
@ -5930,6 +5942,13 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
}
}
}
/* 'completeopt' */
else if (varp == &p_cot)
{
if (check_opt_strings(p_cot, p_cot_values, TRUE) != OK)
errmsg = e_invarg;
}
#endif /* FEAT_INS_EXPAND */

View File

@ -384,6 +384,9 @@ EXTERN long p_ch; /* 'cmdheight' */
EXTERN int p_confirm; /* 'confirm' */
#endif
EXTERN int p_cp; /* 'compatible' */
#ifdef FEAT_INS_EXPAND
EXTERN char_u *p_cot; /* 'completeopt' */
#endif
EXTERN char_u *p_cpo; /* 'cpoptions' */
#ifdef FEAT_CSCOPE
EXTERN char_u *p_csprg; /* 'cscopeprg' */

View File

@ -5296,7 +5296,13 @@ win_redr_status(wp)
/* no status line, can only be last window */
redraw_cmdline = TRUE;
}
else if (!redrawing())
else if (!redrawing()
#ifdef FEAT_INS_EXPAND
/* don't update status line when popup menu is visible and may be
* drawn over it */
|| pum_visible()
#endif
)
{
/* Don't redraw right now, do it later. */
wp->w_redr_status = TRUE;
@ -8534,6 +8540,9 @@ win_redr_ruler(wp, always)
# endif
if (edit_submode != NULL)
return;
/* Don't draw the ruler when the popup menu is visible, it may overlap. */
if (pum_visible())
return;
#endif
#ifdef FEAT_STL_OPT

View File

@ -6065,6 +6065,8 @@ static char *(highlight_init_both[]) =
"VertSplit term=reverse cterm=reverse gui=reverse",
"VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold",
"DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red",
"PmenuThumb cterm=reverse gui=reverse",
"PmenuSbar ctermbg=Grey guibg=Grey",
NULL
};
@ -6080,6 +6082,8 @@ static char *(highlight_init_light[]) =
"SpellCap term=reverse ctermbg=LightBlue guisp=Blue gui=undercurl",
"SpellRare term=reverse ctermbg=LightMagenta guisp=Magenta gui=undercurl",
"SpellLocal term=underline ctermbg=Cyan guisp=DarkCyan gui=undercurl",
"Pmenu ctermbg=LightMagenta guibg=LightMagenta",
"PmenuSel ctermbg=LightGrey guibg=Grey",
"SpecialKey term=bold ctermfg=DarkBlue guifg=Blue",
"Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta",
"WarningMsg term=standout ctermfg=DarkRed guifg=Red",
@ -6107,6 +6111,8 @@ static char *(highlight_init_dark[]) =
"SpellCap term=reverse ctermbg=Blue guisp=Blue gui=undercurl",
"SpellRare term=reverse ctermbg=Magenta guisp=Magenta gui=undercurl",
"SpellLocal term=underline ctermbg=Cyan guisp=Cyan gui=undercurl",
"Pmenu ctermbg=Magenta guibg=Magenta",
"PmenuSel ctermbg=Grey guibg=Grey",
"Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta",
"WarningMsg term=standout ctermfg=LightRed guifg=Red",
"WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black",

View File

@ -23,10 +23,12 @@ Test for insert expansion
STARTTEST
:so small.vim
:se nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
:se cot=
nO#include "Xtestfile"
ru
O


:se cpt=.,w,i
kOM

View File

@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 30)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Sep 30, compiled "
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Oct 3)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Oct 3, compiled "