Compare commits

...

13 Commits

Author SHA1 Message Date
Bram Moolenaar
bb160a188a patch 8.0.1324: some xterm sends different mouse move codes
Problem:    Some xterm sends different mouse move codes.
Solution:   Also accept 0x80 as a move event.
2017-11-20 21:52:24 +01:00
Bram Moolenaar
73675fbc48 patch 8.0.1323: mouse events in a terminal window may cause endless loop
Problem:    Mouse events in a terminal window may cause endless loop.
Solution:   Adjust position computation.  Don't stuff a mouse event when
            coming from normal_cmd().
2017-11-20 21:49:19 +01:00
Bram Moolenaar
5bbef31949 patch 8.0.1322: textformat test isn't run
Problem:    Textformat test isn't run. (Yegappan Lakshmanan)
Solution:   Add target to the list of tests.
2017-11-19 20:38:05 +01:00
Bram Moolenaar
40e280d949 patch 8.0.1321: can't build huge version with Athena
Problem:    Can't build huge version with Athena. (Mark Kelly)
Solution:   Move including beval.h to before structs.h. Include beval.pro like
            other proto files.
2017-11-19 20:34:59 +01:00
Bram Moolenaar
7221fce8b3 patch 8.0.1320: popup test fails on GUI-only build
Problem:    Popup test fails on GUI-only build.
Solution:   Don't test balloon_split() when it's not available.
2017-11-19 20:32:49 +01:00
Bram Moolenaar
669a828cdc patch 8.0.1319: can't build GUI on MS-Windows
Problem:    Can't build GUI on MS-Windows.
Solution:   Don't define the balloon_split() function in a GUI-only build.
2017-11-19 20:13:05 +01:00
Bram Moolenaar
246fe03d15 patch 8.0.1318: terminal balloon only shows one line
Problem:    Terminal balloon only shows one line.
Solution:   Split into several lines in a clever way.  Add balloon_split().
            Make balloon_show() accept a list in the terminal.
2017-11-19 19:56:27 +01:00
Bram Moolenaar
e518226713 patch 8.0.1317: accessing freed memory in term_wait()
Problem:    Accessing freed memory in term_wait(). (Dominique Pelle)
Solution:   Check that the buffer still exists.
2017-11-19 15:05:44 +01:00
Bram Moolenaar
44c2bffde7 patch 8.0.1316: build still still fails on Mac
Problem:    Build still still fails on Mac. (chdiza)
Solution:   Remove another bogus typedef.
2017-11-18 23:23:01 +01:00
Bram Moolenaar
e86ee877c1 patch 8.0.1315: build still fails on Mac
Problem:    Build still fails on Mac. (chdiza)
Solution:   Remove bogus typedef.
2017-11-18 23:09:37 +01:00
Bram Moolenaar
4ab9d9e9a4 patch 8.0.1314: build fails on Mac
Problem:    Build fails on Mac. (chdiza)
Solution:   Add #ifdef around GUI fields.
2017-11-18 22:49:58 +01:00
Bram Moolenaar
d1c28346e1 patch 8.0.1313: missing dependencies cause parallel make to fail
Problem:    Missing dependencies cause parallel make to fail.
Solution:   Update dependencies.
2017-11-18 22:36:34 +01:00
Bram Moolenaar
c3719bd87b patch 8.0.1312: balloon_show() only works in terminal when compiled with GUI
Problem:    balloon_show() only works in terminal when compiled with the GUI.
Solution:   Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI
            specific file.
2017-11-18 22:13:31 +01:00
45 changed files with 1036 additions and 672 deletions

View File

@@ -12,6 +12,8 @@ SRC_ALL = \
src/arabic.c \
src/arabic.h \
src/ascii.h \
src/beval.c \
src/beval.h \
src/blowfish.c \
src/buffer.c \
src/channel.c \
@@ -41,7 +43,6 @@ SRC_ALL = \
src/gui.c \
src/gui.h \
src/gui_beval.c \
src/gui_beval.h \
src/hardcopy.c \
src/hashtab.c \
src/json.c \

View File

@@ -2032,6 +2032,7 @@ asin({expr}) Float arc sine of {expr}
atan({expr}) Float arc tangent of {expr}
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
balloon_show({msg}) none show {msg} inside the balloon
balloon_split({msg}) List split {msg} as used for a balloon
browse({save}, {title}, {initdir}, {default})
String put up a file requester
browsedir({title}, {initdir}) String put up a directory requester
@@ -2682,8 +2683,12 @@ atan2({expr1}, {expr2}) *atan2()*
< 2.356194
{only available when compiled with the |+float| feature}
balloon_show({msg}) *balloon_show()*
Show {msg} inside the balloon.
balloon_show({expr}) *balloon_show()*
Show {expr} inside the balloon. For the GUI {expr} is used as
a string. For a terminal {expr} can be a list, which contains
the lines of the balloon. If {expr} is not a list it will be
split with |balloon_split()|.
Example: >
func GetBalloonContent()
" initiate getting the content
@@ -2703,7 +2708,16 @@ balloon_show({msg}) *balloon_show()*
When showing a balloon is not possible nothing happens, no
error message.
{only available when compiled with the +balloon_eval feature}
{only available when compiled with the +balloon_eval or
+balloon_eval_term feature}
balloon_split({msg}) *balloon_split()*
Split {msg} into lines to be displayed in a balloon. The
splits are made for the current window size and optimize to
show debugger output.
Returns a |List| with the split lines.
{only available when compiled with the +balloon_eval_term
feature}
*browse()*
browse({save}, {title}, {initdir}, {default})

View File

@@ -127,9 +127,11 @@ func s:StartDebug(cmd)
call win_gotoid(s:gdbwin)
" Enable showing a balloon with eval info
if has("balloon_eval")
set ballooneval
if has("balloon_eval") || has("balloon_eval_term")
set balloonexpr=TermDebugBalloonExpr()
if has("balloon_eval")
set ballooneval
endif
if has("balloon_eval_term")
set balloonevalterm
endif
@@ -158,9 +160,11 @@ func s:EndDebug(job, status)
let &columns = s:save_columns
endif
if has("balloon_eval")
set noballooneval
if has("balloon_eval") || has("balloon_eval_term")
set balloonexpr=
if has("balloon_eval")
set noballooneval
endif
if has("balloon_eval_term")
set noballoonevalterm
endif
@@ -366,6 +370,7 @@ func s:HandleError(msg)
if a:msg =~ 'No symbol .* in current context'
\ || a:msg =~ 'Cannot access memory at address '
\ || a:msg =~ 'Attempt to use a type name as an expression'
\ || a:msg =~ 'A syntax error in expression,'
" Result of s:SendEval() failed, ignore.
return
endif

View File

@@ -642,6 +642,7 @@ GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os
CUIOBJ = $(OUTDIR)/iscygpty.o
OBJ = \
$(OUTDIR)/arabic.o \
$(OUTDIR)/beval.o \
$(OUTDIR)/blowfish.o \
$(OUTDIR)/buffer.o \
$(OUTDIR)/charset.o \
@@ -920,8 +921,8 @@ endif
###########################################################################
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
spell.h structs.h term.h $(NBDEBUG_INCL)
GUI_INCL = gui.h gui_beval.h
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
GUI_INCL = gui.h
CUI_INCL = iscygpty.h
$(OUTDIR)/if_python.o: if_python.c if_py_both.h $(INCL)
@@ -946,6 +947,9 @@ $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
$(OUTDIR)/gui.o: gui.c $(INCL) $(GUI_INCL)
$(CC) -c $(CFLAGS) gui.c -o $(OUTDIR)/gui.o
$(OUTDIR)/beval.o: beval.c $(INCL) $(GUI_INCL)
$(CC) -c $(CFLAGS) beval.c -o $(OUTDIR)/beval.o
$(OUTDIR)/gui_beval.o: gui_beval.c $(INCL) $(GUI_INCL)
$(CC) -c $(CFLAGS) gui_beval.c -o $(OUTDIR)/gui_beval.o

View File

@@ -683,10 +683,11 @@ CFLAGS = $(CFLAGS) /Zl /MTd
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
spell.h structs.h term.h $(NBDEBUG_INCL)
spell.h structs.h term.h beval.h $(NBDEBUG_INCL)
OBJ = \
$(OUTDIR)\arabic.obj \
$(OUTDIR)\beval.obj \
$(OUTDIR)\blowfish.obj \
$(OUTDIR)\buffer.obj \
$(OUTDIR)\charset.obj \
@@ -781,8 +782,7 @@ CFLAGS = $(CFLAGS) -DFEAT_GUI_W32
RCFLAGS = $(RCFLAGS) -DFEAT_GUI_W32
VIM = g$(VIM)
GUI_INCL = \
gui.h \
gui_beval.h
gui.h
GUI_OBJ = \
$(OUTDIR)\gui.obj \
$(OUTDIR)\gui_beval.obj \
@@ -1297,6 +1297,8 @@ testclean:
$(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
$(OUTDIR)/beval.obj: $(OUTDIR) beval.c $(INCL)
$(OUTDIR)/blowfish.obj: $(OUTDIR) blowfish.c $(INCL)
$(OUTDIR)/buffer.obj: $(OUTDIR) buffer.c $(INCL)

View File

@@ -2,7 +2,7 @@
# Makefile for Vim on OpenVMS
#
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
# Last change: 2016 Nov 04
# Last change: 2017 Nov 18
#
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
# with MMS and MMK
@@ -299,7 +299,7 @@ ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
$(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
SRC = arabic.c blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
SRC = arabic.c beval.obj blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c if_xcmdsrv.c farsi.c fileio.c fold.c getchar.c \
hardcopy.c hashtab.c json.c list.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 sha256.c\
@@ -308,7 +308,7 @@ SRC = arabic.c blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c d
$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) \
$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC)
OBJ = arabic.obj blowfish.obj buffer.obj charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj edit.obj eval.obj \
OBJ = arabic.obj beval.obj blowfish.obj buffer.obj charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj edit.obj eval.obj \
evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj if_cscope.obj \
if_xcmdsrv.obj farsi.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj json.obj list.obj main.obj mark.obj \
menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
@@ -490,266 +490,266 @@ arabic.obj : arabic.c vim.h
blowfish.obj : blowfish.c vim.h
buffer.obj : buffer.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h version.h
charset.obj : charset.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
crypt.obj : crypt.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
crypt_zip.obj : crypt_zip.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
dict.obj : dict.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
diff.obj : diff.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
digraph.obj : digraph.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
edit.obj : edit.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
eval.obj : eval.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h version.h
evalfunc.obj : evalfunc.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
ex_cmds.obj : ex_cmds.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h version.h
ex_cmds2.obj : ex_cmds2.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h version.h
ex_docmd.obj : ex_docmd.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
ex_eval.obj : ex_eval.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
ex_getln.obj : ex_getln.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
farsi.obj : farsi.c vim.h
fileio.obj : fileio.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
fold.obj : fold.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
getchar.obj : getchar.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
if_cscope.obj : if_cscope.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h if_cscope.h
if_xcmdsrv.obj : if_xcmdsrv.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h version.h
if_mzsch.obj : if_mzsch.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro ex_cmds.h proto.h \
globals.h farsi.h arabic.h if_mzsch.h
json.obj : json.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h version.h
list.obj : list.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
main.obj : main.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h farsi.c arabic.c
mark.obj : mark.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
memfile.obj : memfile.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
memline.obj : memline.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
menu.obj : menu.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
message.obj : message.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
misc1.obj : misc1.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h version.h
misc2.obj : misc2.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
move.obj : move.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
mbyte.obj : mbyte.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
normal.obj : normal.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
ops.obj : ops.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
option.obj : option.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
os_unix.obj : os_unix.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h os_unixx.h
os_vms.obj : os_vms.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h os_unixx.h
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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
quickfix.obj : quickfix.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
regexp.obj : regexp.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
screen.obj : screen.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
search.obj : search.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
sha256.obj : sha256.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
spell.obj : spell.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
spellfile.obj : spellfile.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
syntax.obj : syntax.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
tag.obj : tag.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
term.obj : term.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
termlib.obj : termlib.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
ui.obj : ui.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
undo.obj : undo.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
userfunc.obj : userfunc.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
regexp.h gui.h beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
version.obj : version.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h version.h
window.obj : window.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
gui.obj : gui.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
gui_gtk.obj : gui_gtk.c gui_gtk_f.h 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 \
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
proto.h globals.h farsi.h arabic.h [-.pixmaps]stock_icons.h
gui_gtk_f.obj : gui_gtk_f.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h gui_gtk_f.h
gui_motif.obj : gui_motif.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h [-.pixmaps]alert.xpm [-.pixmaps]error.xpm \
[-.pixmaps]generic.xpm [-.pixmaps]info.xpm [-.pixmaps]quest.xpm
gui_athena.obj : gui_athena.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h gui_at_sb.h
gui_gtk_x11.obj : gui_gtk_x11.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h gui_gtk_f.h [-.runtime]vim32x32.xpm \
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm
gui_x11.obj : gui_x11.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h [-.runtime]vim32x32.xpm \
[-.runtime]vim16x16.xpm [-.runtime]vim48x48.xpm [-.pixmaps]tb_new.xpm \
[-.pixmaps]tb_open.xpm [-.pixmaps]tb_close.xpm [-.pixmaps]tb_save.xpm \
@@ -769,56 +769,60 @@ gui_x11.obj : gui_x11.c vim.h [.auto]config.h feature.h os_unix.h \
[-.pixmaps]tb_minwidth.xpm
gui_at_sb.obj : gui_at_sb.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h gui_at_sb.h
gui_at_fs.obj : gui_at_fs.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h gui_at_sb.h
pty.obj : pty.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 \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
arabic.h
hangulin.obj : hangulin.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
if_perl.obj : [.auto]if_perl.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
if_perlsfio.obj : if_perlsfio.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
if_python.obj : if_python.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
if_tcl.obj : if_tcl.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
if_ruby.obj : if_ruby.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h version.h
beval.obj : beval.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 beval.h option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
gui_beval.obj : gui_beval.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h
workshop.obj : workshop.c [.auto]config.h integration.h vim.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 \
regexp.h gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h \
proto.h globals.h farsi.h arabic.h version.h workshop.h
wsdebug.obj : wsdebug.c
integration.obj : integration.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h integration.h
netbeans.obj : netbeans.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 \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h farsi.h arabic.h version.h
gui_xmdlg.obj : gui_xmdlg.c
gui_xmebw.obj : gui_xmebw.c

View File

@@ -1529,6 +1529,7 @@ TAGS_INCL = *.h
BASIC_SRC = \
arabic.c \
beval.c \
blowfish.c \
buffer.c \
charset.c \
@@ -1641,6 +1642,7 @@ LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) \
OBJ_COMMON = \
objects/arabic.o \
objects/beval.o \
objects/buffer.o \
objects/blowfish.o \
objects/crypt.o \
@@ -1829,6 +1831,7 @@ PRO_AUTO = \
userfunc.pro \
version.pro \
window.pro \
beval.pro \
gui_beval.pro \
workshop.pro \
netbeans.pro \
@@ -3088,6 +3091,9 @@ objects/gui_at_sb.o: gui_at_sb.c
objects/gui_athena.o: gui_athena.c
$(CCC) -o $@ gui_athena.c
objects/beval.o: beval.c
$(CCC) -o $@ beval.c
objects/gui_beval.o: gui_beval.c
$(CCC) -o $@ gui_beval.c
@@ -3432,285 +3438,267 @@ $(APPDIR)/Contents:
### Dependencies:
objects/arabic.o: arabic.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/beval.o: beval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/blowfish.o: blowfish.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/buffer.o: buffer.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h version.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
objects/charset.o: charset.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/crypt.o: crypt.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/crypt_zip.o: crypt_zip.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/dict.o: dict.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/diff.o: diff.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/digraph.o: digraph.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/edit.o: edit.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/eval.o: eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h version.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
objects/evalfunc.o: evalfunc.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
objects/ex_cmds.o: ex_cmds.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h version.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
objects/ex_cmds2.o: ex_cmds2.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
objects/ex_docmd.o: ex_docmd.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h ex_cmdidxs.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h ex_cmdidxs.h
objects/ex_eval.o: ex_eval.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/ex_getln.o: ex_getln.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/farsi.o: farsi.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/fileio.o: fileio.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/fold.o: fold.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/getchar.o: getchar.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/hardcopy.o: hardcopy.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
objects/hashtab.o: hashtab.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/if_cscope.o: if_cscope.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h if_cscope.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_cscope.h
objects/if_xcmdsrv.o: if_xcmdsrv.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
objects/json.o: json.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/list.o: list.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/main.o: main.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/mark.o: mark.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/memfile.o: memfile.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/memline.o: memline.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/menu.o: menu.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/message.o: message.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/misc1.o: misc1.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h version.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
objects/misc2.o: misc2.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/move.o: move.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/mbyte.o: mbyte.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/normal.o: normal.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/ops.o: ops.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h os_unixx.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h if_mzsch.h os_unixx.h
objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/popupmnu.o: popupmnu.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
objects/quickfix.o: quickfix.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/regexp.o: regexp.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h regexp_nfa.c
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h regexp_nfa.c
objects/screen.o: screen.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/search.o: search.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/sha256.o: sha256.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/spell.o: spell.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/spellfile.o: spellfile.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/syntax.o: syntax.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/tag.o: tag.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
objects/term.o: term.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/terminal.o: terminal.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
libvterm/include/vterm.h libvterm/include/vterm_keycodes.h
objects/ui.o: ui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
objects/undo.o: undo.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/userfunc.o: userfunc.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/version.o: version.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h version.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/gui.o: gui.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
keymap.h term.h macros.h option.h structs.h regexp.h gui.h alloc.h \
beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
objects/gui_gtk.o: gui_gtk.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h gui_gtk_f.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h gui_gtk_f.h
objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h gui_gtk_f.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_gtk_f.h
objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h gui_xmebw.h ../pixmaps/alert.xpm \
../pixmaps/error.xpm ../pixmaps/generic.xpm ../pixmaps/info.xpm \
../pixmaps/quest.xpm gui_x11_pm.h ../pixmaps/tb_new.xpm \
../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm \
../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm ../pixmaps/tb_copy.xpm \
../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
../pixmaps/tb_find_next.xpm ../pixmaps/tb_find_prev.xpm \
../pixmaps/tb_find_help.xpm ../pixmaps/tb_exit.xpm \
../pixmaps/tb_undo.xpm ../pixmaps/tb_redo.xpm ../pixmaps/tb_help.xpm \
../pixmaps/tb_macro.xpm ../pixmaps/tb_make.xpm \
../pixmaps/tb_save_all.xpm ../pixmaps/tb_jump.xpm \
../pixmaps/tb_ctags.xpm ../pixmaps/tb_load_session.xpm \
../pixmaps/tb_save_session.xpm ../pixmaps/tb_new_session.xpm \
../pixmaps/tb_blank.xpm ../pixmaps/tb_maximize.xpm \
../pixmaps/tb_split.xpm ../pixmaps/tb_minimize.xpm \
../pixmaps/tb_shell.xpm ../pixmaps/tb_replace.xpm \
../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
../pixmaps/tb_minwidth.xpm
objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h gui_xmebwp.h gui_xmebw.h
objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h gui_at_sb.h gui_x11_pm.h \
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_xmebw.h \
../pixmaps/alert.xpm ../pixmaps/error.xpm ../pixmaps/generic.xpm \
../pixmaps/info.xpm ../pixmaps/quest.xpm gui_x11_pm.h \
../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm ../pixmaps/tb_close.xpm \
../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm ../pixmaps/tb_cut.xpm \
../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm ../pixmaps/tb_find.xpm \
@@ -3726,100 +3714,128 @@ objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
../pixmaps/tb_shell.xpm ../pixmaps/tb_replace.xpm \
../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
../pixmaps/tb_minwidth.xpm
objects/gui_xmdlg.o: gui_xmdlg.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/gui_xmebw.o: gui_xmebw.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_xmebwp.h \
gui_xmebw.h
objects/gui_athena.o: gui_athena.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_at_sb.h \
gui_x11_pm.h ../pixmaps/tb_new.xpm ../pixmaps/tb_open.xpm \
../pixmaps/tb_close.xpm ../pixmaps/tb_save.xpm ../pixmaps/tb_print.xpm \
../pixmaps/tb_cut.xpm ../pixmaps/tb_copy.xpm ../pixmaps/tb_paste.xpm \
../pixmaps/tb_find.xpm ../pixmaps/tb_find_next.xpm \
../pixmaps/tb_find_prev.xpm ../pixmaps/tb_find_help.xpm \
../pixmaps/tb_exit.xpm ../pixmaps/tb_undo.xpm ../pixmaps/tb_redo.xpm \
../pixmaps/tb_help.xpm ../pixmaps/tb_macro.xpm ../pixmaps/tb_make.xpm \
../pixmaps/tb_save_all.xpm ../pixmaps/tb_jump.xpm \
../pixmaps/tb_ctags.xpm ../pixmaps/tb_load_session.xpm \
../pixmaps/tb_save_session.xpm ../pixmaps/tb_new_session.xpm \
../pixmaps/tb_blank.xpm ../pixmaps/tb_maximize.xpm \
../pixmaps/tb_split.xpm ../pixmaps/tb_minimize.xpm \
../pixmaps/tb_shell.xpm ../pixmaps/tb_replace.xpm \
../pixmaps/tb_vsplit.xpm ../pixmaps/tb_maxwidth.xpm \
../pixmaps/tb_minwidth.xpm
objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h auto/gui_gtk_gresources.h gui_gtk_f.h \
../runtime/vim32x32.xpm ../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
auto/gui_gtk_gresources.h gui_gtk_f.h ../runtime/vim32x32.xpm \
../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
objects/gui_x11.o: gui_x11.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h ../runtime/vim32x32.xpm \
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h ../runtime/vim32x32.xpm \
../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
objects/gui_at_sb.o: gui_at_sb.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h gui_at_sb.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_at_sb.h
objects/gui_at_fs.o: gui_at_fs.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h gui_at_sb.h
objects/pty.o: pty.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h ascii.h \
keymap.h term.h macros.h option.h structs.h regexp.h gui.h gui_beval.h \
proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h globals.h farsi.h \
arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h gui_at_sb.h
objects/json_test.o: json_test.c main.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h json.c
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h json.c
objects/kword_test.o: kword_test.c main.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h charset.c
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h charset.c
objects/memfile_test.o: memfile_test.c main.c vim.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h memfile.c
structs.h regexp.h gui.h alloc.h beval.h proto/beval.pro \
proto/gui_beval.pro ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
memfile.c
objects/message_test.o: message_test.c main.c vim.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h message.c
structs.h regexp.h gui.h alloc.h beval.h proto/beval.pro \
proto/gui_beval.pro ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
message.c
objects/hangulin.o: hangulin.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/if_lua.o: if_lua.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h if_mzsch.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_mzsch.h \
mzscheme_base.c
objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/if_perlsfio.o: if_perlsfio.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/if_python.o: if_python.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h if_py_both.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_py_both.h
objects/if_python3.o: if_python3.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h if_py_both.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h if_py_both.h
objects/if_tcl.o: if_tcl.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/if_ruby.o: if_ruby.c auto/config.h vim.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h version.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
objects/gui_beval.o: gui_beval.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h
objects/workshop.o: workshop.c auto/config.h integration.h vim.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h \
structs.h regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h \
workshop.h
structs.h regexp.h gui.h alloc.h beval.h proto/beval.pro \
proto/gui_beval.pro ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h \
version.h workshop.h
objects/wsdebug.o: wsdebug.c
objects/integration.o: integration.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h integration.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h integration.h
objects/netbeans.o: netbeans.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h version.h
regexp.h gui.h alloc.h beval.h proto/beval.pro proto/gui_beval.pro \
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h
objects/channel.o: channel.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h
alloc.h beval.h proto/beval.pro proto/gui_beval.pro ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c

281
src/beval.c Normal file
View File

@@ -0,0 +1,281 @@
/* vi:set ts=8 sts=4 sw=4 noet:
*
* VIM - Vi IMproved by Bram Moolenaar
* Visual Workshop integration by Gordon Prieur
*
* 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.
*/
#include "vim.h"
#if defined(FEAT_BEVAL) || defined(PROTO)
/*
* Get the text and position to be evaluated for "beval".
* If "getword" is true the returned text is not the whole line but the
* relevant word in allocated memory.
* Returns OK or FAIL.
*/
int
get_beval_info(
BalloonEval *beval,
int getword,
win_T **winp,
linenr_T *lnump,
char_u **textp,
int *colp)
{
win_T *wp;
int row, col;
char_u *lbuf;
linenr_T lnum;
*textp = NULL;
# ifdef FEAT_BEVAL_TERM
# ifdef FEAT_GUI
if (!gui.in_use)
# endif
{
row = mouse_row;
col = mouse_col;
}
# endif
# ifdef FEAT_GUI
if (gui.in_use)
{
row = Y_2_ROW(beval->y);
col = X_2_COL(beval->x);
}
#endif
wp = mouse_find_win(&row, &col);
if (wp != NULL && row < wp->w_height && col < wp->w_width)
{
/* Found a window and the cursor is in the text. Now find the line
* number. */
if (!mouse_comp_pos(wp, &row, &col, &lnum))
{
/* Not past end of the file. */
lbuf = ml_get_buf(wp->w_buffer, lnum, FALSE);
if (col <= win_linetabsize(wp, lbuf, (colnr_T)MAXCOL))
{
/* Not past end of line. */
if (getword)
{
/* For Netbeans we get the relevant part of the line
* instead of the whole line. */
int len;
pos_T *spos = NULL, *epos = NULL;
if (VIsual_active)
{
if (LT_POS(VIsual, curwin->w_cursor))
{
spos = &VIsual;
epos = &curwin->w_cursor;
}
else
{
spos = &curwin->w_cursor;
epos = &VIsual;
}
}
col = vcol2col(wp, lnum, col);
if (VIsual_active
&& wp->w_buffer == curwin->w_buffer
&& (lnum == spos->lnum
? col >= (int)spos->col
: lnum > spos->lnum)
&& (lnum == epos->lnum
? col <= (int)epos->col
: lnum < epos->lnum))
{
/* Visual mode and pointing to the line with the
* Visual selection: return selected text, with a
* maximum of one line. */
if (spos->lnum != epos->lnum || spos->col == epos->col)
return FAIL;
lbuf = ml_get_buf(curwin->w_buffer, VIsual.lnum, FALSE);
len = epos->col - spos->col;
if (*p_sel != 'e')
len += MB_PTR2LEN(lbuf + epos->col);
lbuf = vim_strnsave(lbuf + spos->col, len);
lnum = spos->lnum;
col = spos->col;
}
else
{
/* Find the word under the cursor. */
++emsg_off;
len = find_ident_at_pos(wp, lnum, (colnr_T)col, &lbuf,
FIND_IDENT + FIND_STRING + FIND_EVAL);
--emsg_off;
if (len == 0)
return FAIL;
lbuf = vim_strnsave(lbuf, len);
}
}
*winp = wp;
*lnump = lnum;
*textp = lbuf;
*colp = col;
beval->ts = wp->w_buffer->b_p_ts;
return OK;
}
}
}
return FAIL;
}
/*
* Show a balloon with "mesg" or "list".
*/
void
post_balloon(BalloonEval *beval UNUSED, char_u *mesg, list_T *list)
{
# ifdef FEAT_BEVAL_TERM
# ifdef FEAT_GUI
if (!gui.in_use)
# endif
ui_post_balloon(mesg, list);
# endif
# ifdef FEAT_BEVAL_GUI
if (gui.in_use)
/* GUI can't handle a list */
gui_mch_post_balloon(beval, mesg);
# endif
}
/*
* Returns TRUE if the balloon eval has been enabled:
* 'ballooneval' for the GUI and 'balloonevalterm' for the terminal.
* Also checks if the screen isn't scrolled up.
*/
int
can_use_beval(void)
{
return (0
#ifdef FEAT_BEVAL_GUI
|| (gui.in_use && p_beval)
#endif
#ifdef FEAT_BEVAL_TERM
|| (
# ifdef FEAT_GUI
!gui.in_use &&
# endif
p_bevalterm)
#endif
) && msg_scrolled == 0;
}
/*
* Common code, invoked when the mouse is resting for a moment.
*/
void
general_beval_cb(BalloonEval *beval, int state UNUSED)
{
#ifdef FEAT_EVAL
win_T *wp;
int col;
int use_sandbox;
linenr_T lnum;
char_u *text;
static char_u *result = NULL;
long winnr = 0;
char_u *bexpr;
buf_T *save_curbuf;
size_t len;
win_T *cw;
#endif
static int recursive = FALSE;
/* Don't do anything when 'ballooneval' is off, messages scrolled the
* windows up or we have no beval area. */
if (!can_use_beval() || beval == NULL)
return;
/* Don't do this recursively. Happens when the expression evaluation
* takes a long time and invokes something that checks for CTRL-C typed. */
if (recursive)
return;
recursive = TRUE;
#ifdef FEAT_EVAL
if (get_beval_info(beval, TRUE, &wp, &lnum, &text, &col) == OK)
{
bexpr = (*wp->w_buffer->b_p_bexpr == NUL) ? p_bexpr
: wp->w_buffer->b_p_bexpr;
if (*bexpr != NUL)
{
/* Convert window pointer to number. */
for (cw = firstwin; cw != wp; cw = cw->w_next)
++winnr;
set_vim_var_nr(VV_BEVAL_BUFNR, (long)wp->w_buffer->b_fnum);
set_vim_var_nr(VV_BEVAL_WINNR, winnr);
set_vim_var_nr(VV_BEVAL_WINID, wp->w_id);
set_vim_var_nr(VV_BEVAL_LNUM, (long)lnum);
set_vim_var_nr(VV_BEVAL_COL, (long)(col + 1));
set_vim_var_string(VV_BEVAL_TEXT, text, -1);
vim_free(text);
/*
* Temporarily change the curbuf, so that we can determine whether
* the buffer-local balloonexpr option was set insecurely.
*/
save_curbuf = curbuf;
curbuf = wp->w_buffer;
use_sandbox = was_set_insecurely((char_u *)"balloonexpr",
*curbuf->b_p_bexpr == NUL ? 0 : OPT_LOCAL);
curbuf = save_curbuf;
if (use_sandbox)
++sandbox;
++textlock;
vim_free(result);
result = eval_to_string(bexpr, NULL, TRUE);
/* Remove one trailing newline, it is added when the result was a
* list and it's hardly ever useful. If the user really wants a
* trailing newline he can add two and one remains. */
if (result != NULL)
{
len = STRLEN(result);
if (len > 0 && result[len - 1] == NL)
result[len - 1] = NUL;
}
if (use_sandbox)
--sandbox;
--textlock;
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
if (result != NULL && result[0] != NUL)
{
post_balloon(beval, result, NULL);
recursive = FALSE;
return;
}
}
}
#endif
#ifdef FEAT_NETBEANS_INTG
if (bevalServers & BEVAL_NETBEANS)
netbeans_beval_cb(beval, state);
#endif
#ifdef FEAT_SUN_WORKSHOP
if (bevalServers & BEVAL_WORKSHOP)
workshop_beval_cb(beval, state);
#endif
recursive = FALSE;
}
#endif

View File

@@ -7,8 +7,8 @@
* Do ":help credits" in Vim to see a list of people who contributed.
*/
#if !defined(GUI_BEVAL_H) && (defined(FEAT_BEVAL) || defined(PROTO))
#define GUI_BEVAL_H
#if !defined(BEVAL__H) && (defined(FEAT_BEVAL) || defined(PROTO))
#define BEVAL__H
#ifdef FEAT_GUI_GTK
# ifdef USE_GTK3
@@ -32,7 +32,8 @@ typedef enum
typedef struct BalloonEvalStruct
{
#ifdef FEAT_GUI_GTK
#ifdef FEAT_BEVAL_GUI
# ifdef FEAT_GUI_GTK
GtkWidget *target; /* widget we are monitoring */
GtkWidget *balloonShell;
GtkWidget *balloonLabel;
@@ -41,8 +42,8 @@ typedef struct BalloonEvalStruct
int x;
int y;
unsigned int state; /* Button/Modifier key state */
#else
# if !defined(FEAT_GUI_W32)
# else
# if !defined(FEAT_GUI_W32)
Widget target; /* widget we are monitoring */
Widget balloonShell;
Widget balloonLabel;
@@ -54,27 +55,31 @@ typedef struct BalloonEvalStruct
Position x_root;
Position y_root;
int state; /* Button/Modifier key state */
# else
# else
HWND target;
HWND balloon;
int x;
int y;
BeState showState; /* tells us whats currently going on */
# endif
# endif
#endif
int ts; /* tabstop setting for this buffer */
char_u *msg;
void (*msgCB)(struct BalloonEvalStruct *, int);
void *clientData; /* For callback */
#if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
# if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
Dimension screen_width; /* screen width in pixels */
Dimension screen_height; /* screen height in pixels */
# endif
void (*msgCB)(struct BalloonEvalStruct *, int);
void *clientData; /* For callback */
#endif
int ts; /* tabstop setting for this buffer */
char_u *msg;
} BalloonEval;
#define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */
#define EVAL_OFFSET_Y 10
#include "gui_beval.pro"
#ifdef FEAT_BEVAL_GUI
# include "gui_beval.pro"
#endif
#endif /* GUI_BEVAL_H and FEAT_BEVAL */
#endif /* BEVAL__H and FEAT_BEVAL_GUI */

View File

@@ -61,6 +61,9 @@ static void f_atan2(typval_T *argvars, typval_T *rettv);
#endif
#ifdef FEAT_BEVAL
static void f_balloon_show(typval_T *argvars, typval_T *rettv);
# if defined(FEAT_BEVAL_TERM)
static void f_balloon_split(typval_T *argvars, typval_T *rettv);
# endif
#endif
static void f_browse(typval_T *argvars, typval_T *rettv);
static void f_browsedir(typval_T *argvars, typval_T *rettv);
@@ -494,6 +497,9 @@ static struct fst
#endif
#ifdef FEAT_BEVAL
{"balloon_show", 1, 1, f_balloon_show},
# if defined(FEAT_BEVAL_TERM)
{"balloon_split", 1, 1, f_balloon_split},
# endif
#endif
{"browse", 4, 4, f_browse},
{"browsedir", 2, 2, f_browsedir},
@@ -1410,8 +1416,40 @@ f_atan2(typval_T *argvars, typval_T *rettv)
f_balloon_show(typval_T *argvars, typval_T *rettv UNUSED)
{
if (balloonEval != NULL)
post_balloon(balloonEval, get_tv_string_chk(&argvars[0]));
{
if (argvars[0].v_type == VAR_LIST
# ifdef FEAT_GUI
&& !gui.in_use
# endif
)
post_balloon(balloonEval, NULL, argvars[0].vval.v_list);
else
post_balloon(balloonEval, get_tv_string_chk(&argvars[0]), NULL);
}
}
# if defined(FEAT_BEVAL_TERM)
static void
f_balloon_split(typval_T *argvars, typval_T *rettv UNUSED)
{
if (rettv_list_alloc(rettv) == OK)
{
char_u *msg = get_tv_string_chk(&argvars[0]);
if (msg != NULL)
{
pumitem_T *array;
int size = split_message(msg, &array);
int i;
/* Skip the first and last item, they are always empty. */
for (i = 1; i < size - 1; ++i)
list_append_string(rettv->vval.v_list, array[i].pum_text, -1);
vim_free(array);
}
}
}
# endif
#endif
/*
@@ -5583,13 +5621,13 @@ f_has(typval_T *argvars, typval_T *rettv)
#ifdef FEAT_AUTOSERVERNAME
"autoservername",
#endif
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
"balloon_eval",
# ifndef FEAT_GUI_W32 /* other GUIs always have multiline balloons */
"balloon_multiline",
# endif
#endif
#ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
"balloon_eval_term",
#endif
#if defined(SOME_BUILTIN_TCAPS) || defined(ALL_BUILTIN_TCAPS)

View File

@@ -1291,7 +1291,7 @@ check_due_timer(void)
if (did_one)
redraw_after_callback(need_update_screen);
#ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
if (bevalexpr_due_set)
{
this_due = proftime_time_left(&bevalexpr_due, &now);

View File

@@ -1317,22 +1317,26 @@
&& !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \
|| defined(FEAT_SUN_WORKSHOP) \
|| defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL))
# define FEAT_BEVAL
# define FEAT_BEVAL_GUI
# if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK) \
&& !defined(FEAT_GUI_W32)
# define FEAT_XFONTSET
# endif
#endif
#if defined(FEAT_BEVAL) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
#if defined(FEAT_BEVAL_GUI) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
# define FEAT_BEVAL_TIP /* balloon eval used for toolbar tooltip */
#endif
/*
* +balloon_eval_term Allow balloon expression evaluation in the terminal.
*/
#if defined(FEAT_BEVAL) && defined(UNIX) && defined(FEAT_TIMERS)
# define FEAT_BEVALTERM
#if defined(FEAT_HUGE) && defined(UNIX) && defined(FEAT_TIMERS)
# define FEAT_BEVAL_TERM
#endif
#if defined(FEAT_BEVAL_GUI) || defined(FEAT_BEVAL_TERM)
# define FEAT_BEVAL
#endif
/* both Motif and Athena are X11 and share some code */

View File

@@ -1792,7 +1792,7 @@ vgetc(void)
*/
may_garbage_collect = FALSE;
#endif
#ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
if (c != K_MOUSEMOVE && c != K_IGNORE)
{
/* Don't trigger 'balloonexpr' unless only the mouse was moved. */

View File

@@ -1649,7 +1649,7 @@ EXTERN int did_add_timer INIT(= FALSE);
EXTERN int timer_busy INIT(= 0); /* when timer is inside vgetc() then > 0 */
#endif
#ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
EXTERN int bevalexpr_due_set INIT(= FALSE);
EXTERN proftime_T bevalexpr_due;
#endif

View File

@@ -738,7 +738,7 @@ gui_init(void)
* resized. */
win_new_shellsize();
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
/* Always create the Balloon Evaluation area, but disable it when
* 'ballooneval' is off. */
if (balloonEval != NULL)

View File

@@ -16,10 +16,6 @@
# include <X11/StringDefs.h>
#endif
#if defined(FEAT_BEVAL) || defined(PROTO)
# include "gui_beval.h"
#endif
#ifdef FEAT_GUI_GTK
# ifdef VMS /* undef MIN and MAX because Intrinsic.h redefines them anyway */
# ifdef MAX

View File

@@ -1019,7 +1019,7 @@ gui_mch_new_menu_font(void)
XFreePixmap(gui.dpy, oldpuller);
}
#if defined(FEAT_BEVAL) || defined(PROTO)
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
void
gui_mch_new_tooltip_font(void)
{
@@ -1076,7 +1076,7 @@ gui_mch_submenu_change(
XtVaSetValues(mp->id, XtNbitmap, mp->image, NULL);
}
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
/* If we have a tooltip, then we need to change it's colors */
if (mp->tip != NULL)
{
@@ -1094,7 +1094,7 @@ gui_mch_submenu_change(
else
{
gui_athena_menu_font(mp->id);
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
/* If we have a tooltip, then we need to change it's font */
/* Assume XtNinternational == True (in createBalloonEvalWindow)
*/
@@ -1201,7 +1201,7 @@ gui_mch_add_menu_item(vimmenu_T *menu, int idx UNUSED)
XtSetValues(menu->id, args, n);
gui_athena_menu_colors(menu->id);
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
gui_mch_menu_set_tip(menu);
#endif
@@ -1538,7 +1538,7 @@ gui_mch_destroy_menu(vimmenu_T *menu)
XtVaGetValues(menu->id,
XtNheight, &height,
NULL);
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL_GUI)
if (parent == toolBar && menu->tip != NULL)
{
/* We try to destroy this before the actual menu, because there are
@@ -1843,7 +1843,7 @@ gui_mch_def_colors(void)
gui.menu_bg_pixel = gui_get_color((char_u *)gui.rsrc_menu_bg_name);
gui.scroll_fg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_fg_name);
gui.scroll_bg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_bg_name);
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
gui.tooltip_fg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_fg_name);
gui.tooltip_bg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_bg_name);
#endif

View File

@@ -10,114 +10,7 @@
#include "vim.h"
#if defined(FEAT_BEVAL) || defined(PROTO)
/*
* Common code, invoked when the mouse is resting for a moment.
*/
void
general_beval_cb(BalloonEval *beval, int state UNUSED)
{
#ifdef FEAT_EVAL
win_T *wp;
int col;
int use_sandbox;
linenr_T lnum;
char_u *text;
static char_u *result = NULL;
long winnr = 0;
char_u *bexpr;
buf_T *save_curbuf;
size_t len;
win_T *cw;
#endif
static int recursive = FALSE;
/* Don't do anything when 'ballooneval' is off, messages scrolled the
* windows up or we have no beval area. */
if (!((gui.in_use && p_beval)
# ifdef FEAT_BEVALTERM
|| (!gui.in_use && p_bevalterm)
# endif
) || beval == NULL || msg_scrolled > 0)
return;
/* Don't do this recursively. Happens when the expression evaluation
* takes a long time and invokes something that checks for CTRL-C typed. */
if (recursive)
return;
recursive = TRUE;
#ifdef FEAT_EVAL
if (get_beval_info(beval, TRUE, &wp, &lnum, &text, &col) == OK)
{
bexpr = (*wp->w_buffer->b_p_bexpr == NUL) ? p_bexpr
: wp->w_buffer->b_p_bexpr;
if (*bexpr != NUL)
{
/* Convert window pointer to number. */
for (cw = firstwin; cw != wp; cw = cw->w_next)
++winnr;
set_vim_var_nr(VV_BEVAL_BUFNR, (long)wp->w_buffer->b_fnum);
set_vim_var_nr(VV_BEVAL_WINNR, winnr);
set_vim_var_nr(VV_BEVAL_WINID, wp->w_id);
set_vim_var_nr(VV_BEVAL_LNUM, (long)lnum);
set_vim_var_nr(VV_BEVAL_COL, (long)(col + 1));
set_vim_var_string(VV_BEVAL_TEXT, text, -1);
vim_free(text);
/*
* Temporarily change the curbuf, so that we can determine whether
* the buffer-local balloonexpr option was set insecurely.
*/
save_curbuf = curbuf;
curbuf = wp->w_buffer;
use_sandbox = was_set_insecurely((char_u *)"balloonexpr",
*curbuf->b_p_bexpr == NUL ? 0 : OPT_LOCAL);
curbuf = save_curbuf;
if (use_sandbox)
++sandbox;
++textlock;
vim_free(result);
result = eval_to_string(bexpr, NULL, TRUE);
/* Remove one trailing newline, it is added when the result was a
* list and it's hardly ever useful. If the user really wants a
* trailing newline he can add two and one remains. */
if (result != NULL)
{
len = STRLEN(result);
if (len > 0 && result[len - 1] == NL)
result[len - 1] = NUL;
}
if (use_sandbox)
--sandbox;
--textlock;
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
if (result != NULL && result[0] != NUL)
{
post_balloon(beval, result);
recursive = FALSE;
return;
}
}
}
#endif
#ifdef FEAT_NETBEANS_INTG
if (bevalServers & BEVAL_NETBEANS)
netbeans_beval_cb(beval, state);
#endif
#ifdef FEAT_SUN_WORKSHOP
if (bevalServers & BEVAL_WORKSHOP)
workshop_beval_cb(beval, state);
#endif
recursive = FALSE;
}
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
/* on Win32 only get_beval_info() is required */
#if !defined(FEAT_GUI_W32) || defined(PROTO)
@@ -149,8 +42,6 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
# endif
#endif
#include "gui_beval.h"
#ifndef FEAT_GUI_GTK
extern Widget vimShell;
@@ -192,8 +83,6 @@ static void drawBalloon(BalloonEval *);
static void undrawBalloon(BalloonEval *beval);
static void createBalloonEvalWindow(BalloonEval *);
/*
* Create a balloon-evaluation area for a Widget.
* There can be either a "mesg" for a fixed string or "mesgCB" to generate a
@@ -318,137 +207,6 @@ gui_mch_currently_showing_beval(void)
#if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
|| defined(FEAT_EVAL) || defined(PROTO)
/*
* Get the text and position to be evaluated for "beval".
* If "getword" is true the returned text is not the whole line but the
* relevant word in allocated memory.
* Returns OK or FAIL.
*/
int
get_beval_info(
BalloonEval *beval,
int getword,
win_T **winp,
linenr_T *lnump,
char_u **textp,
int *colp)
{
win_T *wp;
int row, col;
char_u *lbuf;
linenr_T lnum;
*textp = NULL;
# ifdef FEAT_BEVALTERM
if (!gui.in_use)
{
row = mouse_row;
col = mouse_col;
}
else
# endif
{
row = Y_2_ROW(beval->y);
col = X_2_COL(beval->x);
}
wp = mouse_find_win(&row, &col);
if (wp != NULL && row < wp->w_height && col < wp->w_width)
{
/* Found a window and the cursor is in the text. Now find the line
* number. */
if (!mouse_comp_pos(wp, &row, &col, &lnum))
{
/* Not past end of the file. */
lbuf = ml_get_buf(wp->w_buffer, lnum, FALSE);
if (col <= win_linetabsize(wp, lbuf, (colnr_T)MAXCOL))
{
/* Not past end of line. */
if (getword)
{
/* For Netbeans we get the relevant part of the line
* instead of the whole line. */
int len;
pos_T *spos = NULL, *epos = NULL;
if (VIsual_active)
{
if (LT_POS(VIsual, curwin->w_cursor))
{
spos = &VIsual;
epos = &curwin->w_cursor;
}
else
{
spos = &curwin->w_cursor;
epos = &VIsual;
}
}
col = vcol2col(wp, lnum, col);
if (VIsual_active
&& wp->w_buffer == curwin->w_buffer
&& (lnum == spos->lnum
? col >= (int)spos->col
: lnum > spos->lnum)
&& (lnum == epos->lnum
? col <= (int)epos->col
: lnum < epos->lnum))
{
/* Visual mode and pointing to the line with the
* Visual selection: return selected text, with a
* maximum of one line. */
if (spos->lnum != epos->lnum || spos->col == epos->col)
return FAIL;
lbuf = ml_get_buf(curwin->w_buffer, VIsual.lnum, FALSE);
len = epos->col - spos->col;
if (*p_sel != 'e')
len += MB_PTR2LEN(lbuf + epos->col);
lbuf = vim_strnsave(lbuf + spos->col, len);
lnum = spos->lnum;
col = spos->col;
}
else
{
/* Find the word under the cursor. */
++emsg_off;
len = find_ident_at_pos(wp, lnum, (colnr_T)col, &lbuf,
FIND_IDENT + FIND_STRING + FIND_EVAL);
--emsg_off;
if (len == 0)
return FAIL;
lbuf = vim_strnsave(lbuf, len);
}
}
*winp = wp;
*lnump = lnum;
*textp = lbuf;
*colp = col;
beval->ts = wp->w_buffer->b_p_ts;
return OK;
}
}
}
return FAIL;
}
/*
* Show a balloon with "mesg".
*/
void
post_balloon(BalloonEval *beval, char_u *mesg)
{
# ifdef FEAT_BEVALTERM
if (!gui.in_use)
ui_post_balloon(mesg);
else
# endif
gui_mch_post_balloon(beval, mesg);
}
# if !defined(FEAT_GUI_W32) || defined(PROTO)
/*
@@ -463,7 +221,7 @@ gui_mch_post_balloon(BalloonEval *beval, char_u *mesg)
else
undrawBalloon(beval);
}
# endif /* FEAT_GUI_W32 */
# endif /* !FEAT_GUI_W32 */
#endif /* FEAT_SUN_WORKSHOP || FEAT_NETBEANS_INTG || PROTO */
#if !defined(FEAT_GUI_W32) || defined(PROTO)
@@ -1519,4 +1277,4 @@ createBalloonEvalWindow(BalloonEval *beval)
#endif /* !FEAT_GUI_GTK */
#endif /* !FEAT_GUI_W32 */
#endif /* FEAT_BEVAL */
#endif /* FEAT_BEVAL_GUI */

View File

@@ -1360,7 +1360,7 @@ gui_mch_add_menu_item(vimmenu_T *menu, int idx)
if (xms != NULL)
XmStringFree(xms);
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
gui_mch_menu_set_tip(menu);
# endif
@@ -1509,7 +1509,7 @@ gui_mch_new_menu_font(void)
ui_new_shellsize();
}
#if defined(FEAT_BEVAL) || defined(PROTO)
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
void
gui_mch_new_tooltip_font(void)
{
@@ -1566,7 +1566,7 @@ submenu_change(
n = add_pixmap_args(mp, args, n);
XtSetValues(mp->id, args, n);
}
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
/* If we have a tooltip, then we need to change it's font */
if (mp->tip != NULL)
{
@@ -1584,7 +1584,7 @@ submenu_change(
else
{
gui_motif_menu_fontlist(mp->id);
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
/* If we have a tooltip, then we need to change it's font */
if (mp->tip != NULL)
{
@@ -1642,7 +1642,7 @@ gui_mch_destroy_menu(vimmenu_T *menu)
Widget parent;
parent = XtParent(menu->id);
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)
#if defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL_GUI)
if (parent == toolBar && menu->tip != NULL)
{
/* We try to destroy this before the actual menu, because there are
@@ -1703,7 +1703,7 @@ gui_mch_def_colors(void)
gui.menu_bg_pixel = gui.menu_def_bg_pixel;
gui.scroll_fg_pixel = gui.scroll_def_fg_pixel;
gui.scroll_bg_pixel = gui.scroll_def_bg_pixel;
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
gui.tooltip_fg_pixel =
gui_get_color((char_u *)gui.rsrc_tooltip_fg_name);
gui.tooltip_bg_pixel =

View File

@@ -197,7 +197,7 @@ gui_mch_set_rendering_options(char_u *s)
#ifndef __MINGW32__
# include <shellapi.h>
#endif
#if defined(FEAT_TOOLBAR) || defined(FEAT_BEVAL) || defined(FEAT_GUI_TABLINE)
#if defined(FEAT_TOOLBAR) || defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_TABLINE)
# include <commctrl.h>
#endif
#include <windowsx.h>
@@ -473,7 +473,7 @@ static UINT s_wait_timer = 0; /* Timer for get char from user */
static int s_timed_out = FALSE;
static int dead_key = 0; /* 0: no dead key, 1: dead key pressed */
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
/* balloon-eval WM_NOTIFY_HANDLER */
static void Handle_WM_Notify(HWND hwnd, LPNMHDR pnmh);
static void TrackUserActivity(UINT uMsg);
@@ -1216,7 +1216,7 @@ _TextAreaWndProc(
s_wParam = wParam;
s_lParam = lParam;
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
TrackUserActivity(uMsg);
#endif
@@ -1237,7 +1237,7 @@ _TextAreaWndProc(
HANDLE_MSG(hwnd, WM_XBUTTONDOWN,_OnMouseButtonDown);
HANDLE_MSG(hwnd, WM_XBUTTONUP, _OnMouseMoveOrRelease);
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam);
return TRUE;
#endif
@@ -4231,7 +4231,7 @@ done:
#endif
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
# define ID_BEVAL_TOOLTIP 200
# define BEVAL_TEXT_LEN MAXPATHL
@@ -4310,7 +4310,7 @@ typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
# define TTN_GETDISPINFO (TTN_FIRST - 0)
#endif
#endif /* defined(FEAT_BEVAL) */
#endif /* defined(FEAT_BEVAL_GUI) */
#if defined(FEAT_TOOLBAR) || defined(FEAT_GUI_TABLINE)
/* Older MSVC compilers don't have LPNMTTDISPINFO[AW] thus we need to define
@@ -8517,12 +8517,12 @@ gui_mch_destroy_sign(void *sign)
}
#endif
#if defined(FEAT_BEVAL) || defined(PROTO)
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
/* BALLOON-EVAL IMPLEMENTATION FOR WINDOWS.
* Added by Sergey Khorev <sergey.khorev@gmail.com>
*
* The only reused thing is gui_beval.h and get_beval_info()
* The only reused thing is beval.h and get_beval_info()
* from gui_beval.c (note it uses x and y of the BalloonEval struct
* to get current mouse position).
*
@@ -8847,7 +8847,7 @@ gui_mch_destroy_beval_area(BalloonEval *beval)
{
vim_free(beval);
}
#endif /* FEAT_BEVAL */
#endif /* FEAT_BEVAL_GUI */
#if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
/*

View File

@@ -50,10 +50,6 @@
# include <X11/Xmu/Editres.h>
#endif
#ifdef FEAT_BEVAL_TIP
# include "gui_beval.h"
#endif
#define VIM_NAME "vim"
#define VIM_CLASS "Vim"
@@ -446,7 +442,7 @@ static XtResource vim_resources[] =
XtRString,
DFLT_SCROLL_BG_COLOR
},
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
{
XtNtooltipForeground,
XtCTooltipForeground,
@@ -484,7 +480,7 @@ static XtResource vim_resources[] =
XtRImmediate,
(XtPointer)NOFONTSET
},
#endif /* FEAT_BEVAL */
#endif /* FEAT_BEVAL_GUI */
#ifdef FEAT_XIM
{
"preeditType",
@@ -1355,7 +1351,7 @@ gui_mch_init(void)
gui.menu_bg_pixel = gui_get_color((char_u *)gui.rsrc_menu_bg_name);
gui.scroll_fg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_fg_name);
gui.scroll_bg_pixel = gui_get_color((char_u *)gui.rsrc_scroll_bg_name);
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
gui.tooltip_fg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_fg_name);
gui.tooltip_bg_pixel = gui_get_color((char_u *)gui.rsrc_tooltip_bg_name);
#endif
@@ -1544,7 +1540,7 @@ gui_mch_init(void)
workshop_connect(app_context);
#endif
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
gui_init_tooltip_font();
#endif
#ifdef FEAT_MENU
@@ -1685,7 +1681,7 @@ gui_mch_open(void)
return OK;
}
#if defined(FEAT_BEVAL) || defined(PROTO)
#if defined(FEAT_BEVAL_GUI) || defined(PROTO)
/*
* Convert the tooltip fontset name to an XFontSet.
*/
@@ -3411,7 +3407,7 @@ mch_set_mouse_shape(int shape)
}
#endif
#if (defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL)) || defined(PROTO)
#if (defined(FEAT_TOOLBAR) && defined(FEAT_BEVAL_GUI)) || defined(PROTO)
/*
* Set the balloon-eval used for the tooltip of a toolbar menu item.
* The check for a non-toolbar item was added, because there is a crash when

View File

@@ -1077,7 +1077,7 @@ void workshop_perform_verb(char *verb, void *clientData)
}
/* Send a message to eserve */
#if defined(NOHANDS_SUPPORT_FUNCTIONS) || defined(FEAT_BEVAL)
#if defined(NOHANDS_SUPPORT_FUNCTIONS) || defined(FEAT_BEVAL_GUI)
void workshop_send_message(char *buf)
{
dummy = write(sd, buf, strlen(buf));

View File

@@ -815,7 +815,7 @@ add_menu_path(
}
}
#if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
&& (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
&& (defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_GTK))
/* Need to update the menu tip. */
if (modes & MENU_TIP_MODE)
gui_mch_menu_set_tip(menu);
@@ -1010,7 +1010,7 @@ remove_menu(
{
free_menu_string(menu, MENU_INDEX_TIP);
#if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
&& (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
&& (defined(FEAT_BEVAL_GUI) || defined(FEAT_GUI_GTK))
/* Need to update the menu tip. */
if (gui.in_use)
gui_mch_menu_set_tip(menu);

View File

@@ -107,7 +107,7 @@ netbeans_close(void)
nb_channel = NULL;
}
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
bevalServers &= ~BEVAL_NETBEANS;
#endif
@@ -220,7 +220,7 @@ netbeans_connect(char *params, int doabort)
if (nb_channel != NULL)
{
/* success */
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
bevalServers |= BEVAL_NETBEANS;
# endif
@@ -1788,7 +1788,7 @@ nb_do_cmd(
}
else if (streq((char *)cmd, "showBalloon"))
{
#if defined(FEAT_BEVAL)
#if defined(FEAT_BEVAL_GUI)
static char *text = NULL;
/*
@@ -2506,7 +2506,7 @@ netbeans_beval_cb(
/* Don't do anything when 'ballooneval' is off, messages scrolled the
* windows up or we have no connection. */
if (!p_beval || msg_scrolled > 0 || !NETBEANS_OPEN)
if (!can_use_beval() || !NETBEANS_OPEN)
return;
if (get_beval_info(beval, TRUE, &wp, &lnum, &text, &col) == OK)

View File

@@ -2400,7 +2400,7 @@ do_mouse(
if (c == K_MOUSEMOVE)
{
/* Mouse moved without a button pressed. */
#ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
ui_may_remove_balloon();
if (p_bevalterm && !VIsual_active)
{
@@ -4633,7 +4633,9 @@ nv_mousescroll(cmdarg_T *cap)
{
# ifdef FEAT_TERMINAL
if (term_use_loop())
send_keys_to_term(curbuf->b_term, cap->cmdchar, TRUE);
/* This window is a terminal window, send the mouse event there.
* Set "typed" to FALSE to avoid an endless loop. */
send_keys_to_term(curbuf->b_term, cap->cmdchar, FALSE);
else
# endif
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))

View File

@@ -634,7 +634,7 @@ static struct vimoption options[] =
#endif
SCRIPTID_INIT},
{"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC,
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
(char_u *)&p_beval, PV_NONE,
{(char_u *)FALSE, (char_u *)0L}
#else
@@ -643,7 +643,7 @@ static struct vimoption options[] =
#endif
SCRIPTID_INIT},
{"balloonevalterm", "bevalterm",P_BOOL|P_VI_DEF|P_NO_MKRC,
#ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
(char_u *)&p_bevalterm, PV_NONE,
{(char_u *)FALSE, (char_u *)0L}
#else
@@ -8429,7 +8429,7 @@ set_bool_option(
p_wiv = (*T_XS != NUL);
}
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
else if ((int *)varp == &p_beval)
{
if (!balloonEvalForTerm)
@@ -8441,12 +8441,12 @@ set_bool_option(
}
}
#endif
# ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
else if ((int *)varp == &p_bevalterm)
{
mch_bevalterm_changed();
}
# endif
#endif
#ifdef FEAT_AUTOCHDIR
else if ((int *)varp == &p_acd)

View File

@@ -376,15 +376,17 @@ EXTERN char_u *p_bsk; /* 'backupskip' */
EXTERN char_u *p_cm; /* 'cryptmethod' */
#endif
#ifdef FEAT_BEVAL
EXTERN long p_bdlay; /* 'balloondelay' */
# ifdef FEAT_BEVAL_GUI
EXTERN int p_beval; /* 'ballooneval' */
# endif
EXTERN long p_bdlay; /* 'balloondelay' */
# ifdef FEAT_EVAL
EXTERN char_u *p_bexpr;
# endif
#endif
# ifdef FEAT_BEVALTERM
# ifdef FEAT_BEVAL_TERM
EXTERN int p_bevalterm; /* 'balloonevalterm' */
# endif
#endif
#ifdef FEAT_BROWSE
EXTERN char_u *p_bsdir; /* 'browsedir' */
#endif

View File

@@ -14,7 +14,6 @@
*/
#define NO_X11_INCLUDES
typedef int BalloonEval; /* used in header files */
#include "vim.h"

View File

@@ -14,7 +14,6 @@
/* Avoid a conflict for the definition of Boolean between Mac header files and
* X11 header files. */
#define NO_X11_INCLUDES
#define BalloonEval int /* used in header files */
#include "vim.h"
#import <AppKit/AppKit.h>

View File

@@ -475,7 +475,7 @@ mch_inchar(
if ((wait_time < 0 || wait_time > 100L) && channel_any_readahead())
wait_time = 10L;
#endif
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
if (p_beval && wait_time > 100L)
/* The 'balloonexpr' may indirectly invoke a callback while waiting
* for a character, need to check often. */
@@ -3572,13 +3572,13 @@ static int mouse_ison = FALSE;
void
mch_setmouse(int on)
{
# ifdef FEAT_BEVALTERM
# ifdef FEAT_BEVAL_TERM
static int bevalterm_ison = FALSE;
# endif
int xterm_mouse_vers;
if (on == mouse_ison
# ifdef FEAT_BEVALTERM
# ifdef FEAT_BEVAL_TERM
&& p_bevalterm == bevalterm_ison
# endif
)
@@ -3610,7 +3610,7 @@ mch_setmouse(int on)
}
# endif
# ifdef FEAT_BEVALTERM
# ifdef FEAT_BEVAL_TERM
if (bevalterm_ison != (p_bevalterm && on))
{
bevalterm_ison = (p_bevalterm && on);
@@ -3627,7 +3627,7 @@ mch_setmouse(int on)
out_str_nf((char_u *)
(xterm_mouse_vers > 1
? (
# ifdef FEAT_BEVALTERM
# ifdef FEAT_BEVAL_TERM
bevalterm_ison
? IF_EB("\033[?1003h", ESC_STR "[?1003h") :
# endif
@@ -3735,7 +3735,7 @@ mch_setmouse(int on)
# endif
}
#if defined(FEAT_BEVALTERM) || defined(PROTO)
#if defined(FEAT_BEVAL_TERM) || defined(PROTO)
/*
* Called when 'balloonevalterm' changed.
*/

View File

@@ -1469,7 +1469,7 @@ WaitForChar(long msec, int ignore_input)
dwWaitTime = 10;
}
#endif
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
if (p_beval && dwWaitTime > 100)
/* The 'balloonexpr' may indirectly invoke a callback while
* waiting for a character, need to check often. */

View File

@@ -760,15 +760,153 @@ pum_get_height(void)
return pum_height;
}
# if defined(FEAT_BEVALTERM) || defined(PROTO)
# if defined(FEAT_BEVAL_TERM) || defined(PROTO)
static pumitem_T *balloon_array = NULL;
static int balloon_arraysize;
static int balloon_mouse_row = 0;
static int balloon_mouse_col = 0;
#define BALLOON_MIN_WIDTH 40
#define BALLOON_MIN_WIDTH 50
#define BALLOON_MIN_HEIGHT 10
typedef struct {
char_u *start;
int bytelen;
int cells;
int indent;
} balpart_T;
/*
* Split a string into parts to display in the balloon.
* Aimed at output from gdb. Attempts to split at white space, preserve quoted
* strings and make a struct look good.
* Resulting array is stored in "array" and returns the size of the array.
*/
int
split_message(char_u *mesg, pumitem_T **array)
{
garray_T ga;
char_u *p;
balpart_T *item;
int quoted = FALSE;
int height;
int line;
int item_idx;
int indent = 0;
int max_cells = 0;
int max_height = Rows / 2 - 2;
int long_item_count = 0;
int split_long_items = FALSE;
ga_init2(&ga, sizeof(balpart_T), 20);
p = mesg;
while (*p != NUL)
{
if (ga_grow(&ga, 1) == FAIL)
goto failed;
item = ((balpart_T *)ga.ga_data) + ga.ga_len;
item->start = p;
item->indent = indent;
item->cells = indent * 2;
++ga.ga_len;
while (*p != NUL)
{
if (*p == '"')
quoted = !quoted;
else if (*p == '\\' && p[1] != NUL)
++p;
else if (!quoted)
{
if ((*p == ',' && p[1] == ' ') || *p == '{' || *p == '}')
{
/* Looks like a good point to break. */
if (*p == '{')
++indent;
else if (*p == '}' && indent > 0)
--indent;
++item->cells;
p = skipwhite(p + 1);
break;
}
}
item->cells += ptr2cells(p);
p += MB_PTR2LEN(p);
}
item->bytelen = p - item->start;
if (item->cells > max_cells)
max_cells = item->cells;
long_item_count += item->cells / BALLOON_MIN_WIDTH;
}
height = 2 + ga.ga_len;
/* If there are long items and the height is below the limit: split lines */
if (long_item_count > 0 && height + long_item_count <= max_height)
{
split_long_items = TRUE;
height += long_item_count;
}
/* Limit to half the window height, it has to fit above or below the mouse
* position. */
if (height > max_height)
height = max_height;
*array = (pumitem_T *)alloc_clear((unsigned)sizeof(pumitem_T) * height);
if (*array == NULL)
goto failed;
/* Add an empty line above and below, looks better. */
(*array)->pum_text = vim_strsave((char_u *)"");
(*array + height - 1)->pum_text = vim_strsave((char_u *)"");
for (line = 1, item_idx = 0; line < height - 1; ++item_idx)
{
int skip;
int thislen;
int copylen;
int ind;
int cells;
item = ((balpart_T *)ga.ga_data) + item_idx;
for (skip = 0; skip < item->bytelen; skip += thislen)
{
if (split_long_items && item->cells >= BALLOON_MIN_WIDTH)
{
cells = item->indent * 2;
for (p = item->start + skip; p < item->start + item->bytelen;
p += MB_PTR2LEN(p))
if ((cells += ptr2cells(p)) > BALLOON_MIN_WIDTH)
break;
thislen = p - (item->start + skip);
}
else
thislen = item->bytelen;
/* put indent at the start */
p = alloc(thislen + item->indent * 2 + 1);
for (ind = 0; ind < item->indent * 2; ++ind)
p[ind] = ' ';
/* exclude spaces at the end of the string */
for (copylen = thislen; copylen > 0; --copylen)
if (item->start[skip + copylen - 1] != ' ')
break;
vim_strncpy(p + ind, item->start + skip, copylen);
(*array)[line].pum_text = p;
item->indent = 0; /* wrapped line has no indent */
++line;
}
}
ga_clear(&ga);
return height;
failed:
ga_clear(&ga);
return 0;
}
void
ui_remove_balloon(void)
{
@@ -786,28 +924,42 @@ ui_remove_balloon(void)
* Terminal version of a balloon, uses the popup menu code.
*/
void
ui_post_balloon(char_u *mesg)
ui_post_balloon(char_u *mesg, list_T *list)
{
ui_remove_balloon();
/* TODO: split the text in multiple lines. */
balloon_arraysize = 3;
balloon_array = (pumitem_T *)alloc_clear(
(unsigned)sizeof(pumitem_T) * balloon_arraysize);
if (balloon_array != NULL)
if (mesg == NULL && list == NULL)
return;
if (list != NULL)
{
/* Add an empty line above and below, looks better. */
balloon_array[0].pum_text = vim_strsave((char_u *)"");
balloon_array[1].pum_text = vim_strsave(mesg);
balloon_array[2].pum_text = vim_strsave((char_u *)"");
listitem_T *li;
int idx;
balloon_arraysize = list->lv_len;
balloon_array = (pumitem_T *)alloc_clear(
(unsigned)sizeof(pumitem_T) * list->lv_len);
if (balloon_array == NULL)
return;
for (idx = 0, li = list->lv_first; li != NULL; li = li->li_next, ++idx)
{
char_u *text = get_tv_string_chk(&li->li_tv);
balloon_array[idx].pum_text = vim_strsave(
text == NULL ? (char_u *)"" : text);
}
}
else
balloon_arraysize = split_message(mesg, &balloon_array);
if (balloon_arraysize > 0)
{
pum_array = balloon_array;
pum_size = balloon_arraysize;
pum_compute_size();
pum_scrollbar = 0;
pum_height = balloon_arraysize;
if (Rows - mouse_row > BALLOON_MIN_HEIGHT)
if (Rows - mouse_row > pum_size)
{
/* Enough space below the mouse row. */
pum_row = mouse_row + 1;
@@ -817,7 +969,7 @@ ui_post_balloon(char_u *mesg)
else
{
/* Show above the mouse row, reduce height if it does not fit. */
pum_row = mouse_row - 1 - pum_size;
pum_row = mouse_row - pum_size;
if (pum_row < 0)
{
pum_height += pum_row;

View File

@@ -201,7 +201,9 @@ void qsort(void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void
/* Ugly solution for "BalloonEval" not being defined while it's used in some
* .pro files. */
# ifndef FEAT_BEVAL
# ifdef FEAT_BEVAL
# include "beval.pro"
# else
# define BalloonEval int
# endif

6
src/proto/beval.pro Normal file
View File

@@ -0,0 +1,6 @@
/* beval.c */
int get_beval_info(BalloonEval *beval, int getword, win_T **winp, linenr_T *lnump, char_u **textp, int *colp);
void post_balloon(BalloonEval *beval, char_u *mesg, list_T *list);
int can_use_beval(void);
void general_beval_cb(BalloonEval *beval, int state);
/* vim: set ft=c : */

View File

@@ -1,12 +1,9 @@
/* gui_beval.c */
void general_beval_cb(BalloonEval *beval, int state);
BalloonEval *gui_mch_create_beval_area(void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData);
void gui_mch_destroy_beval_area(BalloonEval *beval);
void gui_mch_enable_beval_area(BalloonEval *beval);
void gui_mch_disable_beval_area(BalloonEval *beval);
BalloonEval *gui_mch_currently_showing_beval(void);
int get_beval_info(BalloonEval *beval, int getword, win_T **winp, linenr_T *lnump, char_u **textp, int *colp);
void post_balloon(BalloonEval *beval, char_u *mesg);
void gui_mch_post_balloon(BalloonEval *beval, char_u *mesg);
void gui_mch_unpost_balloon(BalloonEval *beval);
/* vim: set ft=c : */

View File

@@ -5,7 +5,8 @@ void pum_undisplay(void);
void pum_clear(void);
int pum_visible(void);
int pum_get_height(void);
int split_message(char_u *mesg, pumitem_T **array);
void ui_remove_balloon(void);
void ui_post_balloon(char_u *mesg);
void ui_post_balloon(char_u *mesg, list_T *list);
void ui_may_remove_balloon(void);
/* vim: set ft=c : */

View File

@@ -7561,7 +7561,7 @@ do_highlight(
if (gui.in_use)
{
gui_new_scrollbar_colors();
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
gui_mch_new_tooltip_colors();
# endif
# ifdef FEAT_MENU
@@ -8015,7 +8015,7 @@ do_highlight(
gui.scroll_fg_pixel = i;
do_colors = TRUE;
}
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
if (is_tooltip_group && gui.tooltip_fg_pixel != i)
{
gui.tooltip_fg_pixel = i;
@@ -8066,7 +8066,7 @@ do_highlight(
gui.scroll_bg_pixel = i;
do_colors = TRUE;
}
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
if (is_tooltip_group && gui.tooltip_bg_pixel != i)
{
gui.tooltip_bg_pixel = i;
@@ -8252,7 +8252,7 @@ do_highlight(
if (gui.in_use && do_colors)
gui_new_scrollbar_colors();
}
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
else if (is_tooltip_group)
{
if (gui.in_use && do_colors)
@@ -8431,7 +8431,7 @@ set_normal_colors(void)
# endif
must_redraw = CLEAR;
}
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
if (set_group_colors((char_u *)"Tooltip",
&gui.tooltip_fg_pixel, &gui.tooltip_bg_pixel,
FALSE, FALSE, TRUE))
@@ -8673,7 +8673,7 @@ hl_do_font(
# endif
gui_mch_new_menu_font();
}
# ifdef FEAT_BEVAL
# ifdef FEAT_BEVAL_GUI
if (do_tooltip)
{
/* The Athena widget set cannot currently handle switching between

View File

@@ -4980,6 +4980,8 @@ check_termcode(
* add 0x08 for ALT
* add 0x10 for CTRL
* add 0x20 for mouse drag (0x40 is drag with left button)
* add 0x40 for mouse move (0x80 is move, 0x81 too)
* 0x43 (drag + release) is also move
* c == column + ' ' + 1 == column + 33
* r == row + ' ' + 1 == row + 33
*
@@ -5121,9 +5123,15 @@ check_termcode(
# endif
)
{
/* Keep the mouse_code before it's changed, so that we
* remember that it was a mouse wheel click. */
wheel_code = mouse_code;
# if defined(UNIX) && defined(FEAT_MOUSE_TTY)
if (use_xterm_mouse() > 1 && mouse_code >= 0x80)
/* mouse-move event, using MOUSE_DRAG works */
mouse_code = MOUSE_DRAG;
else
# endif
/* Keep the mouse_code before it's changed, so that we
* remember that it was a mouse wheel click. */
wheel_code = mouse_code;
}
# ifdef FEAT_MOUSE_XTERM
else if (held_button == MOUSE_RELEASE

View File

@@ -1302,9 +1302,9 @@ send_keys_to_term(term_T *term, int c, int typed)
case K_MOUSELEFT:
case K_MOUSERIGHT:
if (mouse_row < W_WINROW(curwin)
|| mouse_row >= (W_WINROW(curwin) + curwin->w_height)
|| mouse_row > (W_WINROW(curwin) + curwin->w_height)
|| mouse_col < curwin->w_wincol
|| mouse_col >= W_ENDCOL(curwin)
|| mouse_col > W_ENDCOL(curwin)
|| dragging_outside)
{
/* click or scroll outside the current window */
@@ -3227,6 +3227,10 @@ f_term_wait(typval_T *argvars, typval_T *rettv UNUSED)
{
mch_check_messages();
parse_queued_messages();
if (!buf_valid(buf))
/* If the terminal is closed when the channel is closed the
* buffer disappears. */
break;
ui_delay(10L, FALSE);
}
mch_check_messages();

View File

@@ -163,6 +163,7 @@ NEW_TESTS = test_arabic.res \
test_tcl.res \
test_terminal.res \
test_terminal_fail.res \
test_textformat.res \
test_textobjects.res \
test_undo.res \
test_usercommands.res \

View File

@@ -703,4 +703,40 @@ func Test_popup_and_preview_autocommand()
bw!
endfunc
func Test_balloon_split()
if !exists('*balloon_split')
return
endif
call assert_equal([
\ 'one two three four one two three four one two thre',
\ 'e four',
\ ], balloon_split(
\ 'one two three four one two three four one two three four'))
call assert_equal([
\ 'struct = {',
\ ' one = 1,',
\ ' two = 2,',
\ ' three = 3}',
\ ], balloon_split(
\ 'struct = {one = 1, two = 2, three = 3}'))
call assert_equal([
\ 'struct = {',
\ ' one = 1,',
\ ' nested = {',
\ ' n1 = "yes",',
\ ' n2 = "no"}',
\ ' two = 2}',
\ ], balloon_split(
\ 'struct = {one = 1, nested = {n1 = "yes", n2 = "no"} two = 2}'))
call assert_equal([
\ 'struct = 0x234 {',
\ ' long = 2343 "\\"some long string that will be wr',
\ 'apped in two\\"",',
\ ' next = 123}',
\ ], balloon_split(
\ 'struct = 0x234 {long = 2343 "\\"some long string that will be wrapped in two\\"", next = 123}'))
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@@ -3208,7 +3208,11 @@ get_fpos_of_mouse(pos_T *mpos)
#endif
return IN_BUFFER;
}
#endif
#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MAC) \
|| defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MSWIN) \
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_BEVAL) || defined(PROTO)
/*
* Convert a virtual (screen) column to a character column.
* The first column is one.

View File

@@ -88,12 +88,12 @@ static char *(features[]) =
#else
"-autoservername",
#endif
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
"+balloon_eval",
#else
"-balloon_eval",
#endif
#ifdef FEAT_BEVALTERM
#ifdef FEAT_BEVAL_TERM
"+balloon_eval_term",
#else
"-balloon_eval_term",
@@ -771,6 +771,32 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1324,
/**/
1323,
/**/
1322,
/**/
1321,
/**/
1320,
/**/
1319,
/**/
1318,
/**/
1317,
/**/
1316,
/**/
1315,
/**/
1314,
/**/
1313,
/**/
1312,
/**/
1311,
/**/

View File

@@ -1809,11 +1809,13 @@ typedef int sock_T;
/* Include option.h before structs.h, because the number of window-local and
* buffer-local options is used there. */
#include "option.h" /* options and default values */
#include "option.h" /* options and default values */
#include "beval.h" /* BalloonEval */
/* Note that gui.h is included by structs.h */
#include "structs.h" /* file that defines many structures */
#include "structs.h" /* defines many structures */
#include "alloc.h"

View File

@@ -33,7 +33,6 @@
#include "vim.h"
#include "version.h"
#include "gui_beval.h"
#include "workshop.h"
void workshop_hotkeys(Boolean);
@@ -48,7 +47,7 @@ static char *append_selection(int, char *, int *, int *);
static void load_buffer_by_name(char *, int);
static void load_window(char *, int lnum);
static void warp_to_pc(int);
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
void workshop_beval_cb(BalloonEval *, int);
static int computeIndex(int, char_u *, int);
#endif
@@ -208,7 +207,7 @@ workshop_load_file(
wstrace("workshop_load_file(%s, %d)\n", filename, line);
#endif
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
bevalServers |= BEVAL_WORKSHOP;
#endif
@@ -1497,7 +1496,7 @@ fixAccelText(
return NULL;
}
#ifdef FEAT_BEVAL
#ifdef FEAT_BEVAL_GUI
void
workshop_beval_cb(
BalloonEval *beval,