diff options
author | Bram Moolenaar <Bram@vim.org> | 2005-10-03 22:02:18 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2005-10-03 22:02:18 +0000 |
commit | 1c7715dfe4f29be631b78699cbca786d30852886 (patch) | |
tree | dbfa5f54e9411291baef314b67e5f8f5cec595cc /src | |
parent | bb15b658647d8eca01e67df871f7cb5ed95e2534 (diff) |
updated for version 7.0153
Diffstat (limited to 'src')
-rw-r--r-- | src/Make_bc3.mak | 1 | ||||
-rw-r--r-- | src/Make_cyg.mak | 3 | ||||
-rw-r--r-- | src/Make_dice.mak | 4 | ||||
-rw-r--r-- | src/Make_manx.mak | 6 | ||||
-rw-r--r-- | src/Make_ming.mak | 1 | ||||
-rw-r--r-- | src/Make_mpw.mak | 135 | ||||
-rw-r--r-- | src/Make_os2.mak | 2 | ||||
-rw-r--r-- | src/Make_ro.mak | 5 | ||||
-rw-r--r-- | src/Make_sas.mak | 5 | ||||
-rw-r--r-- | src/Make_w16.mak | 1 | ||||
-rw-r--r-- | src/Makefile | 13 | ||||
-rw-r--r-- | src/edit.c | 243 | ||||
-rw-r--r-- | src/ex_getln.c | 6 | ||||
-rw-r--r-- | src/fileio.c | 2 | ||||
-rw-r--r-- | src/gui.c | 2 | ||||
-rw-r--r-- | src/option.c | 25 | ||||
-rw-r--r-- | src/option.h | 3 | ||||
-rw-r--r-- | src/screen.c | 11 | ||||
-rw-r--r-- | src/syntax.c | 6 | ||||
-rw-r--r-- | src/testdir/test32.in | 2 | ||||
-rw-r--r-- | src/version.h | 4 |
21 files changed, 446 insertions, 34 deletions
diff --git a/src/Make_bc3.mak b/src/Make_bc3.mak index 207b861a8b..20a9b1fee3 100644 --- a/src/Make_bc3.mak +++ b/src/Make_bc3.mak @@ -80,6 +80,7 @@ EXE_dependencies = \ normal.obj \ ops.obj \ option.obj \ + popupmenu.obj \ quickfix.obj \ regexp.obj \ screen.obj \ diff --git a/src/Make_cyg.mak b/src/Make_cyg.mak index 880f292340..5879f1ddb6 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 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 \ diff --git a/src/Make_dice.mak b/src/Make_dice.mak index fe74f520ed..b4e1709ec8 100644 --- a/src/Make_dice.mak +++ b/src/Make_dice.mak @@ -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 diff --git a/src/Make_manx.mak b/src/Make_manx.mak index 52b9e48336..46c001575c 100644 --- a/src/Make_manx.mak +++ b/src/Make_manx.mak @@ -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 diff --git a/src/Make_ming.mak b/src/Make_ming.mak index 9d78da56c1..7b601cc681 100644 --- a/src/Make_ming.mak +++ b/src/Make_ming.mak @@ -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 \ diff --git a/src/Make_mpw.mak b/src/Make_mpw.mak index 5be703a73a..5955a60d97 100644 --- a/src/Make_mpw.mak +++ b/src/Make_mpw.mak @@ -52,6 +52,7 @@ SrcFiles = ¶ :src:option.c ¶ :src:os_mac.c ¶ :src:pty.c ¶ + :src:popupmenu.c ¶ :src:quickfix.c ¶ :src:regexp.c ¶ :src:screen.c ¶ @@ -105,6 +106,7 @@ ObjFiles-PPC = ¶ "{ObjDir}option.c.x" ¶ "{ObjDir}os_mac.c.x" ¶ "{ObjDir}pty.c.x" ¶ + "{ObjDir}popupmenu.c.x" ¶ "{ObjDir}quickfix.c.x" ¶ "{ObjDir}regexp.c.x" ¶ "{ObjDir}screen.c.x" ¶ @@ -189,6 +191,7 @@ VIm ÄÄ {ObjFiles-PPC} {LibFiles-PPC} {¥MondoBuild¥} "{ObjDir}option.c.x" Ä :src:option.c "{ObjDir}os_mac.c.x" Ä :src:os_mac.c "{ObjDir}pty.c.x" Ä :src:pty.c +"{ObjDir}popupmenu.c.x" Ä :src:popupmenu.c "{ObjDir}quickfix.c.x" Ä :src:quickfix.c "{ObjDir}regexp.c.x" Ä :src:regexp.c "{ObjDir}screen.c.x" Ä :src:screen.c @@ -276,6 +279,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -359,6 +363,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -442,6 +447,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -525,6 +531,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -608,6 +615,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -692,6 +700,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -775,6 +784,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -858,6 +868,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -941,6 +952,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1024,6 +1036,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1107,6 +1120,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1190,6 +1204,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1273,6 +1288,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1354,6 +1370,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1437,6 +1454,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1520,6 +1538,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1603,6 +1622,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1686,6 +1706,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1795,6 +1816,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1879,6 +1901,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -1962,6 +1985,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2045,6 +2069,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2128,6 +2153,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2211,6 +2237,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2294,6 +2321,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2378,6 +2406,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2461,6 +2490,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2544,6 +2574,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2627,6 +2658,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2710,6 +2742,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2793,6 +2826,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2876,6 +2910,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -2959,6 +2994,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3042,6 +3078,91 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ + :src:proto:quickfix.pro ¶ + :src:proto:regexp.pro ¶ + :src:proto:screen.pro ¶ + :src:proto:search.pro ¶ + :src:proto:spell.pro ¶ + :src:proto:syntax.pro ¶ + :src:proto:tag.pro ¶ + :src:proto:term.pro ¶ + :src:proto:termlib.pro ¶ + :src:proto:ui.pro ¶ + :src:proto:undo.pro ¶ + :src:proto:version.pro ¶ + :src:proto:window.pro ¶ + :src:proto:if_python.pro ¶ + :src:proto:if_tcl.pro ¶ + :src:proto:if_ruby.pro ¶ + :src:proto:gui.pro ¶ + :src:proto:pty.pro ¶ + :src:proto:gui_gtk.pro ¶ + :src:proto:gui_gtk_x11.pro ¶ + :src:proto:gui_motif.pro ¶ + :src:proto:gui_athena.pro ¶ + :src:proto:gui_mac.pro ¶ + :src:proto:gui_x11.pro ¶ + :src:proto:workshop.pro ¶ + :src:proto:if_perl.pro ¶ + :src:proto:if_perlsfio.pro + +:obj:popupmenu.c.x Ä ¶ + :src:popupmenu.c ¶ + :src:vim.h ¶ + :src:auto:config.h ¶ + :src:feature.h ¶ + :src:os_unix.h ¶ + :src:os_mac.h ¶ + :src:workshop.h ¶ + :src:ascii.h ¶ + :src:keymap.h ¶ + :src:term.h ¶ + :src:macros.h ¶ + :src:structs.h ¶ + :src:globals.h ¶ + :src:option.h ¶ + :src:ex_cmds.h ¶ + :src:proto.h ¶ + :src:integration.h ¶ + :src:wsdebug.h ¶ + :src:regexp.h ¶ + :src:gui.h ¶ + :src:farsi.h ¶ + :src:proto:os_unix.pro ¶ + :src:proto:os_mac.pro ¶ + :src:proto:buffer.pro ¶ + :src:proto:charset.pro ¶ + :src:proto:if_cscope.pro ¶ + :src:proto:diff.pro ¶ + :src:proto:digraph.pro ¶ + :src:proto:edit.pro ¶ + :src:proto:eval.pro ¶ + :src:proto:ex_cmds.pro ¶ + :src:proto:ex_cmds2.pro ¶ + :src:proto:ex_docmd.pro ¶ + :src:proto:ex_eval.pro ¶ + :src:proto:ex_getln.pro ¶ + :src:proto:fileio.pro ¶ + :src:proto:fold.pro ¶ + :src:proto:getchar.pro ¶ + :src:proto:hardcopy.pro ¶ + :src:proto:hashtable.pro ¶ + :src:proto:hangulin.pro ¶ + :src:proto:main.pro ¶ + :src:proto:mark.pro ¶ + :src:proto:memfile.pro ¶ + :src:proto:memline.pro ¶ + :src:proto:menu.pro ¶ + :src:proto:message.pro ¶ + :src:proto:misc1.pro ¶ + :src:proto:misc2.pro ¶ + :src:proto:move.pro ¶ + :src:proto:multibyte.pro ¶ + :src:proto:normal.pro ¶ + :src:proto:ops.pro ¶ + :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3125,6 +3246,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3208,6 +3330,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3291,6 +3414,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3374,6 +3498,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3457,6 +3582,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3540,6 +3666,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3623,6 +3750,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3706,6 +3834,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3790,6 +3919,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3872,6 +4002,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -3955,6 +4086,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -4039,6 +4171,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -4122,6 +4255,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ @@ -4205,6 +4339,7 @@ Dependencies Ä $OutOfDate :src:proto:normal.pro ¶ :src:proto:ops.pro ¶ :src:proto:option.pro ¶ + :src:proto:popupmenu.pro ¶ :src:proto:quickfix.pro ¶ :src:proto:regexp.pro ¶ :src:proto:screen.pro ¶ diff --git a/src/Make_os2.mak b/src/Make_os2.mak index 2c4cdaf9e0..1a64c113d4 100644 --- a/src/Make_os2.mak +++ b/src/Make_os2.mak @@ -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) diff --git a/src/Make_ro.mak b/src/Make_ro.mak index 38e6324b03..1577409a1f 100644 --- a/src/Make_ro.mak +++ b/src/Make_ro.mak @@ -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 diff --git a/src/Make_sas.mak b/src/Make_sas.mak index 484f562adf..9caadd0494 100644 --- a/src/Make_sas.mak +++ b/src/Make_sas.mak @@ -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 diff --git a/src/Make_w16.mak b/src/Make_w16.mak index 42d15470a5..598d72e6e4 100644 --- a/src/Make_w16.mak +++ b/src/Make_w16.mak @@ -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\ diff --git a/src/Makefile b/src/Makefile index 0340f796bd..92ccafbdac 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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 diff --git a/src/edit.c b/src/edit.c index e4370fcc29..140c17f757 100644 --- a/src/edit.c +++ b/src/edit.c @@ -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) |