0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

Avoid use of the GTK mail_loop() so that the GtkFileChooser can be used.

(James Vega)
This commit is contained in:
Bram Moolenaar
2010-07-11 19:01:06 +02:00
parent cabf20199a
commit a3f4166286
6 changed files with 67 additions and 101 deletions

View File

@@ -4919,7 +4919,7 @@ A jump table for the options with a short description can be found at |Q_op|.
respectively; see |CTRL-A| for more info on these commands. respectively; see |CTRL-A| for more info on these commands.
alpha If included, single alphabetical characters will be alpha If included, single alphabetical characters will be
incremented or decremented. This is useful for a list with a incremented or decremented. This is useful for a list with a
letter index a), b), etc. *octal* letter index a), b), etc. *octal-number*
octal If included, numbers that start with a zero will be considered octal If included, numbers that start with a zero will be considered
to be octal. Example: Using CTRL-A on "007" results in "010". to be octal. Example: Using CTRL-A on "007" results in "010".
hex If included, numbers starting with "0x" or "0X" will be hex If included, numbers starting with "0x" or "0X" will be

View File

@@ -4193,6 +4193,7 @@ E83 message.txt /*E83*
E830 undo.txt /*E830* E830 undo.txt /*E830*
E831 editing.txt /*E831* E831 editing.txt /*E831*
E832 undo.txt /*E832* E832 undo.txt /*E832*
E833 editing.txt /*E833*
E84 windows.txt /*E84* E84 windows.txt /*E84*
E85 options.txt /*E85* E85 options.txt /*E85*
E86 windows.txt /*E86* E86 windows.txt /*E86*
@@ -4651,6 +4652,7 @@ aquote motion.txt /*aquote*
arabic.txt arabic.txt /*arabic.txt* arabic.txt arabic.txt /*arabic.txt*
arabicfonts arabic.txt /*arabicfonts* arabicfonts arabic.txt /*arabicfonts*
arabickeymap arabic.txt /*arabickeymap* arabickeymap arabic.txt /*arabickeymap*
arg-functions usr_41.txt /*arg-functions*
argc() eval.txt /*argc()* argc() eval.txt /*argc()*
argidx() eval.txt /*argidx()* argidx() eval.txt /*argidx()*
arglist editing.txt /*arglist* arglist editing.txt /*arglist*
@@ -4758,6 +4760,7 @@ browse() eval.txt /*browse()*
browsedir() eval.txt /*browsedir()* browsedir() eval.txt /*browsedir()*
browsefilter editing.txt /*browsefilter* browsefilter editing.txt /*browsefilter*
bufexists() eval.txt /*bufexists()* bufexists() eval.txt /*bufexists()*
buffer-functions usr_41.txt /*buffer-functions*
buffer-hidden windows.txt /*buffer-hidden* buffer-hidden windows.txt /*buffer-hidden*
buffer-list windows.txt /*buffer-list* buffer-list windows.txt /*buffer-list*
buffer-variable eval.txt /*buffer-variable* buffer-variable eval.txt /*buffer-variable*
@@ -4935,6 +4938,7 @@ collapse tips.txt /*collapse*
color-xterm syntax.txt /*color-xterm* color-xterm syntax.txt /*color-xterm*
coloring syntax.txt /*coloring* coloring syntax.txt /*coloring*
colortest.vim syntax.txt /*colortest.vim* colortest.vim syntax.txt /*colortest.vim*
command-line-functions usr_41.txt /*command-line-functions*
command-line-window cmdline.txt /*command-line-window* command-line-window cmdline.txt /*command-line-window*
command-mode intro.txt /*command-mode* command-mode intro.txt /*command-mode*
compatible-default starting.txt /*compatible-default* compatible-default starting.txt /*compatible-default*
@@ -4972,6 +4976,7 @@ complete_CTRL-E insert.txt /*complete_CTRL-E*
complete_CTRL-Y insert.txt /*complete_CTRL-Y* complete_CTRL-Y insert.txt /*complete_CTRL-Y*
complete_add() eval.txt /*complete_add()* complete_add() eval.txt /*complete_add()*
complete_check() eval.txt /*complete_check()* complete_check() eval.txt /*complete_check()*
completion-functions usr_41.txt /*completion-functions*
complex-change change.txt /*complex-change* complex-change change.txt /*complex-change*
complex-repeat repeat.txt /*complex-repeat* complex-repeat repeat.txt /*complex-repeat*
compress pi_gzip.txt /*compress* compress pi_gzip.txt /*compress*
@@ -5100,6 +5105,7 @@ current_compiler quickfix.txt /*current_compiler*
cursor() eval.txt /*cursor()* cursor() eval.txt /*cursor()*
cursor-blinking options.txt /*cursor-blinking* cursor-blinking options.txt /*cursor-blinking*
cursor-down intro.txt /*cursor-down* cursor-down intro.txt /*cursor-down*
cursor-functions usr_41.txt /*cursor-functions*
cursor-left intro.txt /*cursor-left* cursor-left intro.txt /*cursor-left*
cursor-motions motion.txt /*cursor-motions* cursor-motions motion.txt /*cursor-motions*
cursor-position pattern.txt /*cursor-position* cursor-position pattern.txt /*cursor-position*
@@ -5118,6 +5124,7 @@ daW motion.txt /*daW*
dab motion.txt /*dab* dab motion.txt /*dab*
dap motion.txt /*dap* dap motion.txt /*dap*
das motion.txt /*das* das motion.txt /*das*
date-functions usr_41.txt /*date-functions*
dav pi_netrw.txt /*dav* dav pi_netrw.txt /*dav*
davs pi_netrw.txt /*davs* davs pi_netrw.txt /*davs*
daw motion.txt /*daw* daw motion.txt /*daw*
@@ -5170,6 +5177,7 @@ diW motion.txt /*diW*
dialog gui_w32.txt /*dialog* dialog gui_w32.txt /*dialog*
dialogs-added version5.txt /*dialogs-added* dialogs-added version5.txt /*dialogs-added*
dib motion.txt /*dib* dib motion.txt /*dib*
dict-functions usr_41.txt /*dict-functions*
dict-identity eval.txt /*dict-identity* dict-identity eval.txt /*dict-identity*
dict-modification eval.txt /*dict-modification* dict-modification eval.txt /*dict-modification*
did_filetype() eval.txt /*did_filetype()* did_filetype() eval.txt /*did_filetype()*
@@ -5394,6 +5402,7 @@ feedkeys() eval.txt /*feedkeys()*
fetch pi_netrw.txt /*fetch* fetch pi_netrw.txt /*fetch*
file-browser-5.2 version5.txt /*file-browser-5.2* file-browser-5.2 version5.txt /*file-browser-5.2*
file-formats editing.txt /*file-formats* file-formats editing.txt /*file-formats*
file-functions usr_41.txt /*file-functions*
file-pattern autocmd.txt /*file-pattern* file-pattern autocmd.txt /*file-pattern*
file-read insert.txt /*file-read* file-read insert.txt /*file-read*
file-searching editing.txt /*file-searching* file-searching editing.txt /*file-searching*
@@ -5437,6 +5446,7 @@ fixed-7.2 version7.txt /*fixed-7.2*
fixed-7.3 version7.txt /*fixed-7.3* fixed-7.3 version7.txt /*fixed-7.3*
flexwiki.vim syntax.txt /*flexwiki.vim* flexwiki.vim syntax.txt /*flexwiki.vim*
float-e eval.txt /*float-e* float-e eval.txt /*float-e*
float-functions usr_41.txt /*float-functions*
float-pi eval.txt /*float-pi* float-pi eval.txt /*float-pi*
float2nr() eval.txt /*float2nr()* float2nr() eval.txt /*float2nr()*
floating-point-format eval.txt /*floating-point-format* floating-point-format eval.txt /*floating-point-format*
@@ -5472,6 +5482,7 @@ foldclosedend() eval.txt /*foldclosedend()*
folddashes-variable eval.txt /*folddashes-variable* folddashes-variable eval.txt /*folddashes-variable*
foldend-variable eval.txt /*foldend-variable* foldend-variable eval.txt /*foldend-variable*
folding fold.txt /*folding* folding fold.txt /*folding*
folding-functions usr_41.txt /*folding-functions*
foldlevel() eval.txt /*foldlevel()* foldlevel() eval.txt /*foldlevel()*
foldlevel-variable eval.txt /*foldlevel-variable* foldlevel-variable eval.txt /*foldlevel-variable*
folds fold.txt /*folds* folds fold.txt /*folds*
@@ -5915,6 +5926,7 @@ gui-colors syntax.txt /*gui-colors*
gui-extras gui.txt /*gui-extras* gui-extras gui.txt /*gui-extras*
gui-footer debugger.txt /*gui-footer* gui-footer debugger.txt /*gui-footer*
gui-fork gui_x11.txt /*gui-fork* gui-fork gui_x11.txt /*gui-fork*
gui-functions usr_41.txt /*gui-functions*
gui-gnome gui_x11.txt /*gui-gnome* gui-gnome gui_x11.txt /*gui-gnome*
gui-gnome-session gui_x11.txt /*gui-gnome-session* gui-gnome-session gui_x11.txt /*gui-gnome-session*
gui-gtk gui_x11.txt /*gui-gtk* gui-gtk gui_x11.txt /*gui-gtk*
@@ -6028,12 +6040,14 @@ highlight-stop syntax.txt /*highlight-stop*
highlight-term syntax.txt /*highlight-term* highlight-term syntax.txt /*highlight-term*
highlightID() eval.txt /*highlightID()* highlightID() eval.txt /*highlightID()*
highlight_exists() eval.txt /*highlight_exists()* highlight_exists() eval.txt /*highlight_exists()*
highlighting-functions usr_41.txt /*highlighting-functions*
hist-names eval.txt /*hist-names* hist-names eval.txt /*hist-names*
histadd() eval.txt /*histadd()* histadd() eval.txt /*histadd()*
histdel() eval.txt /*histdel()* histdel() eval.txt /*histdel()*
histget() eval.txt /*histget()* histget() eval.txt /*histget()*
histnr() eval.txt /*histnr()* histnr() eval.txt /*histnr()*
history cmdline.txt /*history* history cmdline.txt /*history*
history-functions usr_41.txt /*history-functions*
hit-enter message.txt /*hit-enter* hit-enter message.txt /*hit-enter*
hit-enter-prompt message.txt /*hit-enter-prompt* hit-enter-prompt message.txt /*hit-enter-prompt*
hit-return message.txt /*hit-return* hit-return message.txt /*hit-return*
@@ -6294,6 +6308,7 @@ install-home usr_90.txt /*install-home*
install-registry gui_w32.txt /*install-registry* install-registry gui_w32.txt /*install-registry*
intel-itanium syntax.txt /*intel-itanium* intel-itanium syntax.txt /*intel-itanium*
intellimouse-wheel-problems gui_w32.txt /*intellimouse-wheel-problems* intellimouse-wheel-problems gui_w32.txt /*intellimouse-wheel-problems*
interactive-functions usr_41.txt /*interactive-functions*
interfaces-5.2 version5.txt /*interfaces-5.2* interfaces-5.2 version5.txt /*interfaces-5.2*
internal-variables eval.txt /*internal-variables* internal-variables eval.txt /*internal-variables*
internal-wordlist spell.txt /*internal-wordlist* internal-wordlist spell.txt /*internal-wordlist*
@@ -6316,6 +6331,8 @@ j motion.txt /*j*
java-cinoptions indent.txt /*java-cinoptions* java-cinoptions indent.txt /*java-cinoptions*
java-indenting indent.txt /*java-indenting* java-indenting indent.txt /*java-indenting*
java.vim syntax.txt /*java.vim* java.vim syntax.txt /*java.vim*
javascript-cinoptions indent.txt /*javascript-cinoptions*
javascript-indenting indent.txt /*javascript-indenting*
join() eval.txt /*join()* join() eval.txt /*join()*
jsbterm-mouse options.txt /*jsbterm-mouse* jsbterm-mouse options.txt /*jsbterm-mouse*
jtags tagsrch.txt /*jtags* jtags tagsrch.txt /*jtags*
@@ -6379,6 +6396,7 @@ linewise-register change.txt /*linewise-register*
linewise-visual visual.txt /*linewise-visual* linewise-visual visual.txt /*linewise-visual*
lisp.vim syntax.txt /*lisp.vim* lisp.vim syntax.txt /*lisp.vim*
lispindent() eval.txt /*lispindent()* lispindent() eval.txt /*lispindent()*
list-functions usr_41.txt /*list-functions*
list-identity eval.txt /*list-identity* list-identity eval.txt /*list-identity*
list-index eval.txt /*list-index* list-index eval.txt /*list-index*
list-modification eval.txt /*list-modification* list-modification eval.txt /*list-modification*
@@ -6464,6 +6482,7 @@ mapmode-v map.txt /*mapmode-v*
mapmode-x map.txt /*mapmode-x* mapmode-x map.txt /*mapmode-x*
mapping map.txt /*mapping* mapping map.txt /*mapping*
mark motion.txt /*mark* mark motion.txt /*mark*
mark-functions usr_41.txt /*mark-functions*
mark-motions motion.txt /*mark-motions* mark-motions motion.txt /*mark-motions*
markfilelist pi_netrw.txt /*markfilelist* markfilelist pi_netrw.txt /*markfilelist*
masm.vim syntax.txt /*masm.vim* masm.vim syntax.txt /*masm.vim*
@@ -6876,6 +6895,7 @@ objects index.txt /*objects*
obtaining-exted netbeans.txt /*obtaining-exted* obtaining-exted netbeans.txt /*obtaining-exted*
ocaml.vim syntax.txt /*ocaml.vim* ocaml.vim syntax.txt /*ocaml.vim*
octal eval.txt /*octal* octal eval.txt /*octal*
octal-number options.txt /*octal-number*
oldfiles-variable eval.txt /*oldfiles-variable* oldfiles-variable eval.txt /*oldfiles-variable*
ole-activation if_ole.txt /*ole-activation* ole-activation if_ole.txt /*ole-activation*
ole-eval if_ole.txt /*ole-eval* ole-eval if_ole.txt /*ole-eval*
@@ -7073,6 +7093,7 @@ quickfix quickfix.txt /*quickfix*
quickfix-6 version6.txt /*quickfix-6* quickfix-6 version6.txt /*quickfix-6*
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack* quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
quickfix-error-lists quickfix.txt /*quickfix-error-lists* quickfix-error-lists quickfix.txt /*quickfix-error-lists*
quickfix-functions usr_41.txt /*quickfix-functions*
quickfix-gcc quickfix.txt /*quickfix-gcc* quickfix-gcc quickfix.txt /*quickfix-gcc*
quickfix-manx quickfix.txt /*quickfix-manx* quickfix-manx quickfix.txt /*quickfix-manx*
quickfix-perl quickfix.txt /*quickfix-perl* quickfix-perl quickfix.txt /*quickfix-perl*
@@ -7279,6 +7300,7 @@ send-money sponsor.txt /*send-money*
send-to-menu gui_w32.txt /*send-to-menu* send-to-menu gui_w32.txt /*send-to-menu*
sendto gui_w32.txt /*sendto* sendto gui_w32.txt /*sendto*
sentence motion.txt /*sentence* sentence motion.txt /*sentence*
server-functions usr_41.txt /*server-functions*
server2client() eval.txt /*server2client()* server2client() eval.txt /*server2client()*
serverlist() eval.txt /*serverlist()* serverlist() eval.txt /*serverlist()*
servername-variable eval.txt /*servername-variable* servername-variable eval.txt /*servername-variable*
@@ -7422,6 +7444,7 @@ spell-compound spell.txt /*spell-compound*
spell-dic-format spell.txt /*spell-dic-format* spell-dic-format spell.txt /*spell-dic-format*
spell-double-scoring spell.txt /*spell-double-scoring* spell-double-scoring spell.txt /*spell-double-scoring*
spell-file-format spell.txt /*spell-file-format* spell-file-format spell.txt /*spell-file-format*
spell-functions usr_41.txt /*spell-functions*
spell-german spell.txt /*spell-german* spell-german spell.txt /*spell-german*
spell-load spell.txt /*spell-load* spell-load spell.txt /*spell-load*
spell-midword spell.txt /*spell-midword* spell-midword spell.txt /*spell-midword*
@@ -7502,6 +7525,7 @@ strcspn() eval.txt /*strcspn()*
strftime() eval.txt /*strftime()* strftime() eval.txt /*strftime()*
stridx() eval.txt /*stridx()* stridx() eval.txt /*stridx()*
string() eval.txt /*string()* string() eval.txt /*string()*
string-functions usr_41.txt /*string-functions*
string-match eval.txt /*string-match* string-match eval.txt /*string-match*
strlen() eval.txt /*strlen()* strlen() eval.txt /*strlen()*
strpart() eval.txt /*strpart()* strpart() eval.txt /*strpart()*
@@ -7551,6 +7575,7 @@ synload-5 syntax.txt /*synload-5*
synload-6 syntax.txt /*synload-6* synload-6 syntax.txt /*synload-6*
synstack() eval.txt /*synstack()* synstack() eval.txt /*synstack()*
syntax syntax.txt /*syntax* syntax syntax.txt /*syntax*
syntax-functions usr_41.txt /*syntax-functions*
syntax-highlighting syntax.txt /*syntax-highlighting* syntax-highlighting syntax.txt /*syntax-highlighting*
syntax-loading syntax.txt /*syntax-loading* syntax-loading syntax.txt /*syntax-loading*
syntax-printing usr_06.txt /*syntax-printing* syntax-printing usr_06.txt /*syntax-printing*
@@ -7559,6 +7584,7 @@ syntax_cmd syntax.txt /*syntax_cmd*
sys-file-list help.txt /*sys-file-list* sys-file-list help.txt /*sys-file-list*
sysmouse term.txt /*sysmouse* sysmouse term.txt /*sysmouse*
system() eval.txt /*system()* system() eval.txt /*system()*
system-functions usr_41.txt /*system-functions*
system-vimrc starting.txt /*system-vimrc* system-vimrc starting.txt /*system-vimrc*
s~ change.txt /*s~* s~ change.txt /*s~*
t motion.txt /*t* t motion.txt /*t*
@@ -7839,6 +7865,7 @@ tex-runon syntax.txt /*tex-runon*
tex-slow syntax.txt /*tex-slow* tex-slow syntax.txt /*tex-slow*
tex-style syntax.txt /*tex-style* tex-style syntax.txt /*tex-style*
tex.vim syntax.txt /*tex.vim* tex.vim syntax.txt /*tex.vim*
text-functions usr_41.txt /*text-functions*
text-objects motion.txt /*text-objects* text-objects motion.txt /*text-objects*
text-objects-changed version5.txt /*text-objects-changed* text-objects-changed version5.txt /*text-objects-changed*
textlock eval.txt /*textlock* textlock eval.txt /*textlock*
@@ -7849,6 +7876,7 @@ throw-expression eval.txt /*throw-expression*
throw-from-catch eval.txt /*throw-from-catch* throw-from-catch eval.txt /*throw-from-catch*
throw-variables eval.txt /*throw-variables* throw-variables eval.txt /*throw-variables*
throwpoint-variable eval.txt /*throwpoint-variable* throwpoint-variable eval.txt /*throwpoint-variable*
time-functions usr_41.txt /*time-functions*
timestamp editing.txt /*timestamp* timestamp editing.txt /*timestamp*
timestamps editing.txt /*timestamps* timestamps editing.txt /*timestamps*
tips tips.txt /*tips* tips tips.txt /*tips*
@@ -8110,9 +8138,11 @@ v_~ change.txt /*v_~*
val-variable eval.txt /*val-variable* val-variable eval.txt /*val-variable*
valgrind debug.txt /*valgrind* valgrind debug.txt /*valgrind*
values() eval.txt /*values()* values() eval.txt /*values()*
var-functions usr_41.txt /*var-functions*
variables eval.txt /*variables* variables eval.txt /*variables*
various various.txt /*various* various various.txt /*various*
various-cmds various.txt /*various-cmds* various-cmds various.txt /*various-cmds*
various-functions usr_41.txt /*various-functions*
various-motions motion.txt /*various-motions* various-motions motion.txt /*various-motions*
various.txt various.txt /*various.txt* various.txt various.txt /*various.txt*
vb.vim syntax.txt /*vb.vim* vb.vim syntax.txt /*vb.vim*
@@ -8267,10 +8297,12 @@ wincol() eval.txt /*wincol()*
window windows.txt /*window* window windows.txt /*window*
window-contents intro.txt /*window-contents* window-contents intro.txt /*window-contents*
window-exit editing.txt /*window-exit* window-exit editing.txt /*window-exit*
window-functions usr_41.txt /*window-functions*
window-move-cursor windows.txt /*window-move-cursor* window-move-cursor windows.txt /*window-move-cursor*
window-moving windows.txt /*window-moving* window-moving windows.txt /*window-moving*
window-resize windows.txt /*window-resize* window-resize windows.txt /*window-resize*
window-size term.txt /*window-size* window-size term.txt /*window-size*
window-size-functions usr_41.txt /*window-size-functions*
window-tag windows.txt /*window-tag* window-tag windows.txt /*window-tag*
window-variable eval.txt /*window-variable* window-variable eval.txt /*window-variable*
windows windows.txt /*windows* windows windows.txt /*windows*

View File

@@ -1136,6 +1136,7 @@ Patches to possibly include:
10.4. 10.4.
- Patch for adding "J" flag to 'cinoptions': placement of jump label. (Manuel - Patch for adding "J" flag to 'cinoptions': placement of jump label. (Manuel
Konig, 2010 Feb 19) Update by Lech Lorens, Feb 22. Konig, 2010 Feb 19) Update by Lech Lorens, Feb 22.
Need another name, "J" is now used for Javascript.
- Add Lua interface? (Wolfgang Oertl) patch by Luis Carvalho, 2008 Sep 5 - Add Lua interface? (Wolfgang Oertl) patch by Luis Carvalho, 2008 Sep 5
Patch for Make_ming.mak from Paul Moore (2008 Sep 1) Patch for Make_ming.mak from Paul Moore (2008 Sep 1)
http://code.google.com/p/vim-iflua/ Download vim72-lua-0.7.patch.gz http://code.google.com/p/vim-iflua/ Download vim72-lua-0.7.patch.gz

View File

@@ -576,7 +576,7 @@ There are many functions. We will mention them here, grouped by what they are
used for. You can find an alphabetical list here: |functions|. Use CTRL-] on used for. You can find an alphabetical list here: |functions|. Use CTRL-] on
the function name to jump to detailed help on it. the function name to jump to detailed help on it.
String manipulation: String manipulation: *string-functions*
nr2char() get a character by its ASCII value nr2char() get a character by its ASCII value
char2nr() get ASCII value of a character char2nr() get ASCII value of a character
str2nr() convert a string to a Number str2nr() convert a string to a Number
@@ -605,7 +605,7 @@ String manipulation:
repeat() repeat a string multiple times repeat() repeat a string multiple times
eval() evaluate a string expression eval() evaluate a string expression
List manipulation: List manipulation: *list-functions*
get() get an item without error for wrong index get() get an item without error for wrong index
len() number of items in a List len() number of items in a List
empty() check if List is empty empty() check if List is empty
@@ -630,7 +630,7 @@ List manipulation:
count() count number of times a value appears in a List count() count number of times a value appears in a List
repeat() repeat a List multiple times repeat() repeat a List multiple times
Dictionary manipulation: Dictionary manipulation: *dict-functions*
get() get an entry without an error for a wrong key get() get an entry without an error for a wrong key
len() number of entries in a Dictionary len() number of entries in a Dictionary
has_key() check whether a key appears in a Dictionary has_key() check whether a key appears in a Dictionary
@@ -649,7 +649,7 @@ Dictionary manipulation:
min() minimum value in a Dictionary min() minimum value in a Dictionary
count() count number of times a value appears count() count number of times a value appears
Floating point computation: Floating point computation: *float-functions*
float2nr() convert Float to Number float2nr() convert Float to Number
abs() absolute value (also works for Number) abs() absolute value (also works for Number)
round() round off round() round off
@@ -663,7 +663,7 @@ Floating point computation:
cos() cosine cos() cosine
atan() arc tangent atan() arc tangent
Variables: Variables: *var-functions*
type() type of a variable type() type of a variable
islocked() check if a variable is locked islocked() check if a variable is locked
function() get a Funcref for a function name function() get a Funcref for a function name
@@ -677,7 +677,7 @@ Variables:
settabwinvar() set a variable in a specific window & tab page settabwinvar() set a variable in a specific window & tab page
garbagecollect() possibly free memory garbagecollect() possibly free memory
Cursor and mark position: Cursor and mark position: *cursor-functions* *mark-functions*
col() column number of the cursor or a mark col() column number of the cursor or a mark
virtcol() screen column of the cursor or a mark virtcol() screen column of the cursor or a mark
line() line number of the cursor or mark line() line number of the cursor or mark
@@ -690,7 +690,7 @@ Cursor and mark position:
line2byte() byte count at a specific line line2byte() byte count at a specific line
diff_filler() get the number of filler lines above a line diff_filler() get the number of filler lines above a line
Working with text in the current buffer: Working with text in the current buffer: *text-functions*
getline() get a line or list of lines from the buffer getline() get a line or list of lines from the buffer
setline() replace a line in the buffer setline() replace a line in the buffer
append() append line or list of lines in the buffer append() append line or list of lines in the buffer
@@ -705,6 +705,7 @@ Working with text in the current buffer:
searchpairpos() find the other end of a start/skip/end searchpairpos() find the other end of a start/skip/end
searchdecl() search for the declaration of a name searchdecl() search for the declaration of a name
*system-functions* *file-functions*
System functions and manipulation of files: System functions and manipulation of files:
glob() expand wildcards glob() expand wildcards
globpath() expand wildcards in a number of directories globpath() expand wildcards in a number of directories
@@ -732,13 +733,14 @@ System functions and manipulation of files:
readfile() read a file into a List of lines readfile() read a file into a List of lines
writefile() write a List of lines into a file writefile() write a List of lines into a file
Date and Time: Date and Time: *date-functions* *time-functions*
getftime() get last modification time of a file getftime() get last modification time of a file
localtime() get current time in seconds localtime() get current time in seconds
strftime() convert time to a string strftime() convert time to a string
reltime() get the current or elapsed time accurately reltime() get the current or elapsed time accurately
reltimestr() convert reltime() result to a string reltimestr() convert reltime() result to a string
*buffer-functions* *window-functions* *arg-functions*
Buffers, windows and the argument list: Buffers, windows and the argument list:
argc() number of entries in the argument list argc() number of entries in the argument list
argidx() current position in the argument list argidx() current position in the argument list
@@ -756,32 +758,32 @@ Buffers, windows and the argument list:
winbufnr() get the buffer number of a specific window winbufnr() get the buffer number of a specific window
getbufline() get a list of lines from the specified buffer getbufline() get a list of lines from the specified buffer
Command line: Command line: *command-line-functions*
getcmdline() get the current command line getcmdline() get the current command line
getcmdpos() get position of the cursor in the command line getcmdpos() get position of the cursor in the command line
setcmdpos() set position of the cursor in the command line setcmdpos() set position of the cursor in the command line
getcmdtype() return the current command-line type getcmdtype() return the current command-line type
Quickfix and location lists: Quickfix and location lists: *quickfix-functions*
getqflist() list of quickfix errors getqflist() list of quickfix errors
setqflist() modify a quickfix list setqflist() modify a quickfix list
getloclist() list of location list items getloclist() list of location list items
setloclist() modify a location list setloclist() modify a location list
Insert mode completion: Insert mode completion: *completion-functions*
complete() set found matches complete() set found matches
complete_add() add to found matches complete_add() add to found matches
complete_check() check if completion should be aborted complete_check() check if completion should be aborted
pumvisible() check if the popup menu is displayed pumvisible() check if the popup menu is displayed
Folding: Folding: *folding-functions*
foldclosed() check for a closed fold at a specific line foldclosed() check for a closed fold at a specific line
foldclosedend() like foldclosed() but return the last line foldclosedend() like foldclosed() but return the last line
foldlevel() check for the fold level at a specific line foldlevel() check for the fold level at a specific line
foldtext() generate the line displayed for a closed fold foldtext() generate the line displayed for a closed fold
foldtextresult() get the text displayed for a closed fold foldtextresult() get the text displayed for a closed fold
Syntax and highlighting: Syntax and highlighting: *syntax-functions* *highlighting-functions*
clearmatches() clear all matches defined by |matchadd()| and clearmatches() clear all matches defined by |matchadd()| and
the |:match| commands the |:match| commands
getmatches() get all matches defined by |matchadd()| and getmatches() get all matches defined by |matchadd()| and
@@ -799,18 +801,18 @@ Syntax and highlighting:
setmatches() restore a list of matches saved by setmatches() restore a list of matches saved by
|getmatches()| |getmatches()|
Spelling: Spelling: *spell-functions*
spellbadword() locate badly spelled word at or after cursor spellbadword() locate badly spelled word at or after cursor
spellsuggest() return suggested spelling corrections spellsuggest() return suggested spelling corrections
soundfold() return the sound-a-like equivalent of a word soundfold() return the sound-a-like equivalent of a word
History: History: *history-functions*
histadd() add an item to a history histadd() add an item to a history
histdel() delete an item from a history histdel() delete an item from a history
histget() get an item from a history histget() get an item from a history
histnr() get highest index of a history list histnr() get highest index of a history list
Interactive: Interactive: *interactive-functions*
browse() put up a file requester browse() put up a file requester
browsedir() put up a directory requester browsedir() put up a directory requester
confirm() let the user make a choice confirm() let the user make a choice
@@ -824,12 +826,12 @@ Interactive:
inputsave() save and clear typeahead inputsave() save and clear typeahead
inputrestore() restore typeahead inputrestore() restore typeahead
GUI: GUI: *gui-functions*
getfontname() get name of current font being used getfontname() get name of current font being used
getwinposx() X position of the GUI Vim window getwinposx() X position of the GUI Vim window
getwinposy() Y position of the GUI Vim window getwinposy() Y position of the GUI Vim window
Vim server: Vim server: *server-functions*
serverlist() return the list of server names serverlist() return the list of server names
remote_send() send command characters to a Vim server remote_send() send command characters to a Vim server
remote_expr() evaluate an expression in a Vim server remote_expr() evaluate an expression in a Vim server
@@ -839,14 +841,14 @@ Vim server:
foreground() move the Vim window to the foreground foreground() move the Vim window to the foreground
remote_foreground() move the Vim server window to the foreground remote_foreground() move the Vim server window to the foreground
Window size and position: Window size and position: *window-size-functions*
winheight() get height of a specific window winheight() get height of a specific window
winwidth() get width of a specific window winwidth() get width of a specific window
winrestcmd() return command to restore window sizes winrestcmd() return command to restore window sizes
winsaveview() get view of current window winsaveview() get view of current window
winrestview() restore saved view of current window winrestview() restore saved view of current window
Various: Various: *various-functions*
mode() get current editing mode mode() get current editing mode
visualmode() last visual mode used visualmode() last visual mode used
hasmapto() check if a mapping exists hasmapto() check if a mapping exists

View File

@@ -420,10 +420,6 @@ gui_mch_add_menu(vimmenu_T *menu, int idx)
menu_item_activate(GtkWidget *widget UNUSED, gpointer data) menu_item_activate(GtkWidget *widget UNUSED, gpointer data)
{ {
gui_menu_cb((vimmenu_T *)data); gui_menu_cb((vimmenu_T *)data);
/* make sure the menu action is taken immediately */
if (gtk_main_level() > 0)
gtk_main_quit();
} }
void void
@@ -731,9 +727,6 @@ adjustment_value_changed(GtkAdjustment *adjustment, gpointer data)
} }
gui_drag_scrollbar(sb, value, dragging); gui_drag_scrollbar(sb, value, dragging);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
/* SBAR_VERT or SBAR_HORIZ */ /* SBAR_VERT or SBAR_HORIZ */
@@ -780,10 +773,7 @@ gui_mch_destroy_scrollbar(scrollbar_T *sb)
* Implementation of the file selector related stuff * Implementation of the file selector related stuff
*/ */
#if GTK_CHECK_VERSION(2,4,0) #if GTK_CHECK_VERSION(2,4,0)
/* This has been disabled, because the GTK library rewrites # define USE_FILE_CHOOSER
* ~/.recently-used.xbel every time the main loop is quit. For Vim that means
* on just about any event. */
/* # define USE_FILE_CHOOSER */
#endif #endif
#ifndef USE_FILE_CHOOSER #ifndef USE_FILE_CHOOSER
@@ -798,8 +788,6 @@ browse_ok_cb(GtkWidget *widget UNUSED, gpointer cbdata)
vw->browse_fname = (char_u *)g_strdup(gtk_file_selection_get_filename( vw->browse_fname = (char_u *)g_strdup(gtk_file_selection_get_filename(
GTK_FILE_SELECTION(vw->filedlg))); GTK_FILE_SELECTION(vw->filedlg)));
gtk_widget_hide(vw->filedlg); gtk_widget_hide(vw->filedlg);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
static void static void
@@ -813,8 +801,6 @@ browse_cancel_cb(GtkWidget *widget UNUSED, gpointer cbdata)
vw->browse_fname = NULL; vw->browse_fname = NULL;
} }
gtk_widget_hide(vw->filedlg); gtk_widget_hide(vw->filedlg);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
static gboolean static gboolean
@@ -826,10 +812,7 @@ browse_destroy_cb(GtkWidget *widget UNUSED)
gui.browse_fname = NULL; gui.browse_fname = NULL;
} }
gui.filedlg = NULL; gui.filedlg = NULL;
if (gtk_main_level() > 0)
gtk_main_quit(); gtk_main_quit();
return FALSE; return FALSE;
} }
#endif #endif
@@ -882,6 +865,8 @@ gui_mch_browse(int saving UNUSED,
NULL); NULL);
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fc), gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fc),
(const gchar *)dirbuf); (const gchar *)dirbuf);
if (saving && dflt != NULL && *dflt != NUL)
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(fc), (char *)dflt);
gui.browse_fname = NULL; gui.browse_fname = NULL;
if (gtk_dialog_run(GTK_DIALOG(fc)) == GTK_RESPONSE_ACCEPT) if (gtk_dialog_run(GTK_DIALOG(fc)) == GTK_RESPONSE_ACCEPT)
@@ -929,8 +914,7 @@ gui_mch_browse(int saving UNUSED,
(const gchar *)dirbuf); (const gchar *)dirbuf);
gtk_widget_show(gui.filedlg); gtk_widget_show(gui.filedlg);
while (gui.filedlg && GTK_WIDGET_DRAWABLE(gui.filedlg)) gtk_main();
gtk_main_iteration_do(TRUE);
#endif #endif
CONVERT_TO_UTF8_FREE(title); CONVERT_TO_UTF8_FREE(title);
@@ -1840,9 +1824,6 @@ find_replace_cb(GtkWidget *widget UNUSED, gpointer data)
rc = gui_do_findrepl(flags, find_text, repl_text, direction_down); rc = gui_do_findrepl(flags, find_text, repl_text, direction_down);
CONVERT_FROM_UTF8_FREE(repl_text); CONVERT_FROM_UTF8_FREE(repl_text);
CONVERT_FROM_UTF8_FREE(find_text); CONVERT_FROM_UTF8_FREE(find_text);
if (rc && gtk_main_level() > 0)
gtk_main_quit(); /* make sure cmd will be handled immediately */
} }
/* our usual callback function */ /* our usual callback function */

View File

@@ -652,9 +652,6 @@ property_event(GtkWidget *widget,
xev.xproperty.window = commWindow; xev.xproperty.window = commWindow;
xev.xproperty.state = PropertyNewValue; xev.xproperty.state = PropertyNewValue;
serverEventProc(GDK_WINDOW_XDISPLAY(widget->window), &xev); serverEventProc(GDK_WINDOW_XDISPLAY(widget->window), &xev);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
return FALSE; return FALSE;
} }
@@ -788,10 +785,6 @@ focus_in_event(GtkWidget *widget,
if (widget != gui.drawarea) if (widget != gui.drawarea)
gtk_widget_grab_focus(gui.drawarea); gtk_widget_grab_focus(gui.drawarea);
/* make sure the input buffer is read */
if (gtk_main_level() > 0)
gtk_main_quit();
return TRUE; return TRUE;
} }
@@ -805,10 +798,6 @@ focus_out_event(GtkWidget *widget UNUSED,
if (blink_state != BLINK_NONE) if (blink_state != BLINK_NONE)
gui_mch_stop_blink(); gui_mch_stop_blink();
/* make sure the input buffer is read */
if (gtk_main_level() > 0)
gtk_main_quit();
return TRUE; return TRUE;
} }
@@ -1130,9 +1119,6 @@ key_press_event(GtkWidget *widget UNUSED,
if (p_mh) if (p_mh)
gui_mch_mousehide(TRUE); gui_mch_mousehide(TRUE);
if (gtk_main_level() > 0)
gtk_main_quit();
return TRUE; return TRUE;
} }
@@ -1167,9 +1153,6 @@ selection_clear_event(GtkWidget *widget UNUSED,
else else
clip_lose_selection(&clip_star); clip_lose_selection(&clip_star);
if (gtk_main_level() > 0)
gtk_main_quit();
return TRUE; return TRUE;
} }
@@ -1205,9 +1188,6 @@ selection_received_cb(GtkWidget *widget UNUSED,
received_selection = RS_FAIL; received_selection = RS_FAIL;
/* clip_free_selection(cbd); ??? */ /* clip_free_selection(cbd); ??? */
if (gtk_main_level() > 0)
gtk_main_quit();
return; return;
} }
@@ -1287,9 +1267,6 @@ selection_received_cb(GtkWidget *widget UNUSED,
received_selection = RS_OK; received_selection = RS_OK;
vim_free(tmpbuf); vim_free(tmpbuf);
g_free(tmpbuf_utf8); g_free(tmpbuf_utf8);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
/* /*
@@ -1515,9 +1492,6 @@ process_motion_notify(int x, int y, GdkModifierType state)
/* inform the editor engine about the occurrence of this event */ /* inform the editor engine about the occurrence of this event */
gui_send_mouse_event(button, x, y, FALSE, vim_modifiers); gui_send_mouse_event(button, x, y, FALSE, vim_modifiers);
if (gtk_main_level() > 0)
gtk_main_quit();
/* /*
* Auto repeat timer handling. * Auto repeat timer handling.
*/ */
@@ -1700,8 +1674,6 @@ button_press_event(GtkWidget *widget,
vim_modifiers = modifiers_gdk2mouse(event->state); vim_modifiers = modifiers_gdk2mouse(event->state);
gui_send_mouse_event(button, x, y, repeated_click, vim_modifiers); gui_send_mouse_event(button, x, y, repeated_click, vim_modifiers);
if (gtk_main_level() > 0)
gtk_main_quit(); /* make sure the above will be handled immediately */
return TRUE; return TRUE;
} }
@@ -1743,9 +1715,6 @@ scroll_event(GtkWidget *widget,
gui_send_mouse_event(button, (int)event->x, (int)event->y, gui_send_mouse_event(button, (int)event->x, (int)event->y,
FALSE, vim_modifiers); FALSE, vim_modifiers);
if (gtk_main_level() > 0)
gtk_main_quit(); /* make sure the above will be handled immediately */
return TRUE; return TRUE;
} }
@@ -1775,8 +1744,6 @@ button_release_event(GtkWidget *widget UNUSED,
vim_modifiers = modifiers_gdk2mouse(event->state); vim_modifiers = modifiers_gdk2mouse(event->state);
gui_send_mouse_event(MOUSE_RELEASE, x, y, FALSE, vim_modifiers); gui_send_mouse_event(MOUSE_RELEASE, x, y, FALSE, vim_modifiers);
if (gtk_main_level() > 0)
gtk_main_quit(); /* make sure it will be handled immediately */
return TRUE; return TRUE;
} }
@@ -1930,9 +1897,6 @@ drag_handle_text(GdkDragContext *context,
add_to_input_buf(dropkey, (int)sizeof(dropkey)); add_to_input_buf(dropkey, (int)sizeof(dropkey));
else else
add_to_input_buf(dropkey + 3, (int)(sizeof(dropkey) - 3)); add_to_input_buf(dropkey + 3, (int)(sizeof(dropkey) - 3));
if (gtk_main_level() > 0)
gtk_main_quit();
} }
/* /*
@@ -2846,9 +2810,6 @@ tabline_menu_handler(GtkMenuItem *item UNUSED, gpointer user_data)
{ {
/* Add the string cmd into input buffer */ /* Add the string cmd into input buffer */
send_tabline_menu_event(clicked_page, (int)(long)user_data); send_tabline_menu_event(clicked_page, (int)(long)user_data);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
static void static void
@@ -2924,8 +2885,7 @@ on_tabline_menu(GtkWidget *widget, GdkEvent *event)
{ {
/* Click after all tabs moves to next tab page. When "x" is /* Click after all tabs moves to next tab page. When "x" is
* small guess it's the left button. */ * small guess it's the left button. */
if (send_tabline_event(x < 50 ? -1 : 0) && gtk_main_level() > 0) send_tabline_event(x < 50 ? -1 : 0);
gtk_main_quit();
} }
} }
} }
@@ -2946,8 +2906,7 @@ on_select_tab(
{ {
if (!ignore_tabline_evt) if (!ignore_tabline_evt)
{ {
if (send_tabline_event(idx + 1) && gtk_main_level() > 0) send_tabline_event(idx + 1);
gtk_main_quit();
} }
} }
@@ -3855,9 +3814,6 @@ gui_mch_exit(int rc UNUSED)
{ {
if (gui.mainwin != NULL) if (gui.mainwin != NULL)
gtk_widget_destroy(gui.mainwin); gtk_widget_destroy(gui.mainwin);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
/* /*
@@ -5407,8 +5363,8 @@ gui_mch_draw_part_cursor(int w, int h, guicolor_T color)
void void
gui_mch_update(void) gui_mch_update(void)
{ {
while (gtk_events_pending() && !vim_is_input_buf_full()) while (g_main_context_pending(NULL) && !vim_is_input_buf_full())
gtk_main_iteration_do(FALSE); g_main_context_iteration(NULL, TRUE);
} }
static gint static gint
@@ -5419,9 +5375,6 @@ input_timer_cb(gpointer data)
/* Just inform the caller about the occurrence of it */ /* Just inform the caller about the occurrence of it */
*timed_out = TRUE; *timed_out = TRUE;
if (gtk_main_level() > 0)
gtk_main_quit();
return FALSE; /* don't happen again */ return FALSE; /* don't happen again */
} }
@@ -5438,9 +5391,6 @@ sniff_request_cb(
static char_u bytes[3] = {CSI, (int)KS_EXTRA, (int)KE_SNIFF}; static char_u bytes[3] = {CSI, (int)KS_EXTRA, (int)KE_SNIFF};
add_to_input_buf(bytes, 3); add_to_input_buf(bytes, 3);
if (gtk_main_level() > 0)
gtk_main_quit();
} }
#endif #endif
@@ -5515,7 +5465,7 @@ gui_mch_wait_for_chars(long wtime)
* situations, sort of race condition). * situations, sort of race condition).
*/ */
if (!input_available()) if (!input_available())
gtk_main(); g_main_context_iteration(NULL, TRUE);
/* Got char, return immediately */ /* Got char, return immediately */
if (input_available()) if (input_available())
@@ -5707,7 +5657,7 @@ clip_mch_request_selection(VimClipboard *cbd)
* during the FocusGained event. */ * during the FocusGained event. */
start = time(NULL); start = time(NULL);
while (received_selection == RS_NONE && time(NULL) < start + 3) while (received_selection == RS_NONE && time(NULL) < start + 3)
gtk_main(); /* wait for selection_received_cb */ g_main_context_iteration(NULL, TRUE); /* wait for selection_received_cb */
if (received_selection != RS_FAIL) if (received_selection != RS_FAIL)
return; return;