Merge branch 'vim'

This commit is contained in:
Bjorn Winckler
2011-01-29 15:08:23 +01:00
33 changed files with 101 additions and 45 deletions
+8
View File
@@ -42,3 +42,11 @@ gvimext.lib
*.mo
*.swp
*~
# Generated by "make test"
src/po/*.ck
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
+7 -2
View File
@@ -9324,7 +9324,7 @@ f_confirm(argvars, rettv)
if (!error)
rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
def, NULL);
def, NULL, FALSE);
#endif
}
@@ -10867,6 +10867,11 @@ f_getbufvar(argvars, rettv)
if (*varname == '&') /* buffer-local-option */
get_option_tv(&varname, rettv, TRUE);
else if (STRCMP(varname, "changedtick") == 0)
{
rettv->v_type = VAR_NUMBER;
rettv->vval.v_number = curbuf->b_changedtick;
}
else
{
if (*varname == NUL)
@@ -12764,7 +12769,7 @@ f_inputdialog(argvars, rettv)
IObuff[0] = NUL;
if (message != NULL && defstr != NULL
&& do_dialog(VIM_QUESTION, NULL, message,
(char_u *)_("&OK\n&Cancel"), 1, IObuff) == 1)
(char_u *)_("&OK\n&Cancel"), 1, IObuff, FALSE) == 1)
rettv->vval.v_string = vim_strsave(IObuff);
else
{
+1 -1
View File
@@ -9330,7 +9330,7 @@ exec_normal_cmd(cmd, remap, silent)
&& !got_int)
{
update_topline_cursor();
normal_cmd(&oa, FALSE); /* execute a Normal mode cmd */
normal_cmd(&oa, TRUE); /* execute a Normal mode cmd */
}
}
#endif
+1 -1
View File
@@ -7045,7 +7045,7 @@ buf_check_timestamp(buf, focus)
}
# else
if (do_dialog(VIM_WARNING, (char_u *)_("Warning"), tbuf,
(char_u *)_("&OK\n&Load File"), 1, NULL) == 2)
(char_u *)_("&OK\n&Load File"), 1, NULL, TRUE) == 2)
reload = TRUE;
# endif
}
+1 -1
View File
@@ -4969,7 +4969,7 @@ display_errors()
if (STRLEN(p) > 2000)
STRCPY(p + 2000 - 14, "...(truncated)");
(void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
p, (char_u *)_("&Ok"), 1, NULL);
p, (char_u *)_("&Ok"), 1, NULL, FALSE);
break;
}
ga_clear(&error_ga);
+2 -1
View File
@@ -2117,13 +2117,14 @@ dialog_wm_handler(w, client_data, event, dum)
}
int
gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield)
gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
int type UNUSED;
char_u *title;
char_u *message;
char_u *buttons;
int dfltbutton UNUSED;
char_u *textfield;
int ex_cmd UNUSED;
{
char_u *buts;
char_u *p, *next;
+2 -1
View File
@@ -1268,7 +1268,8 @@ gui_mch_dialog(int type, /* type of dialog */
char_u *message, /* message text */
char_u *buttons, /* names of buttons */
int def_but, /* default button */
char_u *textfield) /* text for textfield or NULL */
char_u *textfield, /* text for textfield or NULL */
int ex_cmd UNUSED)
{
GtkWidget *dialog;
GtkWidget *entry = NULL;
+2 -1
View File
@@ -5583,7 +5583,8 @@ gui_mch_dialog(
char_u *message,
char_u *buttons,
int dfltbutton,
char_u *textfield)
char_u *textfield,
int ex_cmd)
{
Handle buttonDITL;
Handle iconDITL;
+2 -1
View File
@@ -2549,13 +2549,14 @@ create_pixmap_label(parent, name, data, args, arg)
#endif
int
gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield)
gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield, ex_cmd)
int type UNUSED;
char_u *title;
char_u *message;
char_u *button_names;
int dfltbutton;
char_u *textfield; /* buffer of size IOSIZE */
int ex_cmd UNUSED;
{
char_u *buts;
char_u *p, *next;
+2 -1
View File
@@ -1502,7 +1502,8 @@ gui_mch_dialog(
char_u *message,
char_u *buttons,
int default_button,
char_u *textfield)
char_u *textfield,
int ex_cmd)
{
char_u *str;
char_u **button_array;
+2 -1
View File
@@ -1098,7 +1098,8 @@ gui_mch_dialog(
char_u *message,
char_u *buttons,
int dfltbutton,
char_u *textfield)
char_u *textfield,
int ex_cmd)
{
FARPROC dp;
LPWORD p, pnumitems;
+2 -1
View File
@@ -3005,7 +3005,8 @@ gui_mch_dialog(
char_u *message,
char_u *buttons,
int dfltbutton,
char_u *textfield)
char_u *textfield,
int ex_cmd)
{
WORD *p, *pdlgtemplate, *pnumitems;
DWORD *dwp;
+2 -2
View File
@@ -688,7 +688,7 @@ do_choice(Widget w,
do_dialog(VIM_ERROR,
(char_u *)_("Error"),
(char_u *)_("Invalid font specification"),
(char_u *)_("&Dismiss"), 1, NULL);
(char_u *)_("&Dismiss"), 1, NULL, FALSE);
return True;
}
@@ -807,7 +807,7 @@ ok_callback(Widget w UNUSED,
do_dialog(VIM_ERROR,
(char_u *)_("Error"),
(char_u *)_("Invalid font specification"),
(char_u *)_("&Dismiss"), 1, NULL);
(char_u *)_("&Dismiss"), 1, NULL, FALSE);
XFreeFontNames(name);
}
else
+2 -3
View File
@@ -9,12 +9,11 @@
* See README.txt for an overview of the Vim source code.
*/
#include <stdio.h>
#include <string.h>
#include "vim.h"
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
#include "vim.h"
/* Only do the following when the feature is enabled. Needed for "make
* depend". */
+3 -3
View File
@@ -11,13 +11,13 @@
* See README.txt for an overview of the Vim source code.
*/
#include <stdio.h>
#include <string.h>
#ifdef HAVE_CONFIG_H
# include "auto/config.h"
#endif
#include <stdio.h>
#include <string.h>
#ifdef _WIN32
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
# define NT
+1 -1
View File
@@ -4516,7 +4516,7 @@ findswapname(buf, dirp, old_fname)
process_still_running
? (char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Quit\n&Abort") :
# endif
(char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL);
(char_u *)_("&Open Read-Only\n&Edit anyway\n&Recover\n&Delete it\n&Quit\n&Abort"), 1, NULL, FALSE);
# if defined(UNIX) || defined(__EMX__) || defined(VMS)
if (process_still_running && choice >= 4)
+14 -5
View File
@@ -3319,7 +3319,7 @@ msg_advance(col)
* different letter.
*/
int
do_dialog(type, title, message, buttons, dfltbutton, textfield)
do_dialog(type, title, message, buttons, dfltbutton, textfield, ex_cmd)
int type UNUSED;
char_u *title UNUSED;
char_u *message;
@@ -3327,6 +3327,8 @@ do_dialog(type, title, message, buttons, dfltbutton, textfield)
int dfltbutton;
char_u *textfield UNUSED; /* IObuff for inputdialog(), NULL
otherwise */
int ex_cmd; /* when TRUE pressing : accepts default and starts
Ex command */
{
int oldState;
int retval = 0;
@@ -3345,7 +3347,7 @@ do_dialog(type, title, message, buttons, dfltbutton, textfield)
if (gui.in_use && vim_strchr(p_go, GO_CONDIALOG) == NULL)
{
c = gui_mch_dialog(type, title, message, buttons, dfltbutton,
textfield);
textfield, ex_cmd);
/* avoid a hit-enter prompt without clearing the cmdline */
need_wait_return = FALSE;
emsg_on_display = FALSE;
@@ -3392,6 +3394,13 @@ do_dialog(type, title, message, buttons, dfltbutton, textfield)
default: /* Could be a hotkey? */
if (c < 0) /* special keys are ignored here */
continue;
if (c == ':' && ex_cmd)
{
retval = dfltbutton;
ins_char_typebuf(':');
break;
}
/* Make the character lowercase, as chars in "hotkeys" are. */
c = MB_TOLOWER(c);
retval = 1;
@@ -3665,7 +3674,7 @@ vim_dialog_yesno(type, title, message, dflt)
if (do_dialog(type,
title == NULL ? (char_u *)_("Question") : title,
message,
(char_u *)_("&Yes\n&No"), dflt, NULL) == 1)
(char_u *)_("&Yes\n&No"), dflt, NULL, FALSE) == 1)
return VIM_YES;
return VIM_NO;
}
@@ -3680,7 +3689,7 @@ vim_dialog_yesnocancel(type, title, message, dflt)
switch (do_dialog(type,
title == NULL ? (char_u *)_("Question") : title,
message,
(char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL))
(char_u *)_("&Yes\n&No\n&Cancel"), dflt, NULL, FALSE))
{
case 1: return VIM_YES;
case 2: return VIM_NO;
@@ -3699,7 +3708,7 @@ vim_dialog_yesnoallcancel(type, title, message, dflt)
title == NULL ? (char_u *)"Question" : title,
message,
(char_u *)_("&Yes\n&No\nSave &All\n&Discard All\n&Cancel"),
dflt, NULL))
dflt, NULL, FALSE))
{
case 1: return VIM_YES;
case 2: return VIM_NO;
+1 -1
View File
@@ -2919,7 +2919,7 @@ unchanged(buf, ff)
buf_T *buf;
int ff; /* also reset 'fileformat' */
{
if (buf->b_changed || (ff && file_ff_differs(buf)))
if (buf->b_changed || (ff && file_ff_differs(buf, FALSE)))
{
buf->b_changed = 0;
ml_setflags(buf);
+4 -2
View File
@@ -2882,9 +2882,11 @@ do_check_cursorbind()
if (has_mbyte)
mb_adjust_cursor();
# endif
redraw_later(VALID);
update_topline();
/* Only scroll when 'scrollbind' hasn't done this. */
if (!curwin->w_p_scb)
update_topline();
# ifdef FEAT_WINDOWS
curwin->w_redr_status = TRUE;
# endif
+6 -3
View File
@@ -11438,16 +11438,19 @@ save_file_ff(buf)
* from when editing started (save_file_ff() called).
* Also when 'endofline' was changed and 'binary' is set, or when 'bomb' was
* changed and 'binary' is not set.
* Don't consider a new, empty buffer to be changed.
* When "ignore_empty" is true don't consider a new, empty buffer to be
* changed.
*/
int
file_ff_differs(buf)
file_ff_differs(buf, ignore_empty)
buf_T *buf;
int ignore_empty;
{
/* In a buffer that was never loaded the options are not valid. */
if (buf->b_flags & BF_NEVERLOADED)
return FALSE;
if ((buf->b_flags & BF_NEW)
if (ignore_empty
&& (buf->b_flags & BF_NEW)
&& buf->b_ml.ml_line_count == 1
&& *ml_get_buf(buf, (linenr_T)1, FALSE) == NUL)
return FALSE;
+1 -1
View File
@@ -593,7 +593,7 @@ display_errors()
gui.starting ? (char_u *)_("Message") :
#endif
(char_u *)_("Error"),
p, (char_u *)_("&Ok"), 1, NULL);
p, (char_u *)_("&Ok"), 1, NULL, FALSE);
break;
}
ga_clear(&error_ga);
+1 -1
View File
@@ -27,5 +27,5 @@ void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
Window gui_x11_get_wid __ARGS((void));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
/* vim: set ft=c : */
+1 -1
View File
@@ -13,7 +13,7 @@ void gui_mch_create_scrollbar __ARGS((scrollbar_T *sb, int orient));
void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
char_u *gui_mch_browsedir __ARGS((char_u *title, char_u *initdir));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int def_but, char_u *textfield, int ex_cmd));
void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
void gui_mch_find_dialog __ARGS((exarg_T *eap));
+1 -1
View File
@@ -81,7 +81,7 @@ int gui_mch_get_mouse_x __ARGS((void));
int gui_mch_get_mouse_y __ARGS((void));
void gui_mch_setmouse __ARGS((int x, int y));
void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
void gui_mch_set_foreground __ARGS((void));
void gui_mch_show_tabline __ARGS((int showit));
+1 -1
View File
@@ -29,7 +29,7 @@ void gui_mch_destroy_scrollbar __ARGS((scrollbar_T *sb));
void gui_mch_set_scrollbar_colors __ARGS((scrollbar_T *sb));
Window gui_x11_get_wid __ARGS((void));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *button_names, int dfltbutton, char_u *textfield, int ex_cmd));
void gui_mch_enable_footer __ARGS((int showit));
void gui_mch_set_footer __ARGS((char_u *s));
void gui_mch_show_toolbar __ARGS((int showit));
+1 -1
View File
@@ -8,7 +8,7 @@ void gui_mch_exit __ARGS((int rc));
void gui_mch_update __ARGS((void));
int gui_mch_wait_for_chars __ARGS((int wtime));
char_u *gui_mch_browse __ARGS((int saving, char_u *title, char_u *default_name, char_u *ext, char_u *initdir, char_u *filter));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int default_button, char_u *textfield, int ex_cmd));
int gui_mch_get_winpos __ARGS((int *x, int *y));
void gui_mch_set_winpos __ARGS((int x, int y));
void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
+1 -1
View File
@@ -74,6 +74,6 @@ void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
void gui_mch_set_foreground __ARGS((void));
/* vim: set ft=c : */
+1 -1
View File
@@ -81,7 +81,7 @@ void gui_make_tearoff __ARGS((char_u *path_name));
void gui_mch_add_menu_item __ARGS((vimmenu_T *menu, int idx));
void gui_mch_destroy_menu __ARGS((vimmenu_T *menu));
void gui_mch_menu_grey __ARGS((vimmenu_T *menu, int grey));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
int gui_mch_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
void gui_mch_set_foreground __ARGS((void));
void gui_mch_drawsign __ARGS((int row, int col, int typenr));
void *gui_mch_register_sign __ARGS((char_u *signfile));
+1 -1
View File
@@ -64,7 +64,7 @@ void verbose_stop __ARGS((void));
int verbose_open __ARGS((void));
void give_warning __ARGS((char_u *message, int hl));
void msg_advance __ARGS((int col));
int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd));
void display_confirm_msg __ARGS((void));
int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
+1 -1
View File
@@ -54,6 +54,6 @@ void change_compatible __ARGS((int on));
int option_was_set __ARGS((char_u *name));
int can_bs __ARGS((int what));
void save_file_ff __ARGS((buf_T *buf));
int file_ff_differs __ARGS((buf_T *buf));
int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
int check_ff_value __ARGS((char_u *p));
/* vim: set ft=c : */
+7
View File
@@ -4537,6 +4537,13 @@ get_syn_options(arg, opt, conceal_char)
;
#endif
}
#ifdef FEAT_CONCEAL
if (!vim_isprintc_strict(*conceal_char))
{
EMSG(_("E844: invalid cchar value"));
return NULL;
}
#endif
arg = skipwhite(arg + 7);
}
else
+3 -3
View File
@@ -2884,7 +2884,7 @@ u_add_time(buf, buflen, tt)
(void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
else
/* long ago */
(void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime);
(void)strftime((char *)buf, buflen, "%Y/%m/%d %H:%M:%S", curtime);
}
else
#endif
@@ -3304,7 +3304,7 @@ bufIsChanged(buf)
#ifdef FEAT_QUICKFIX
!bt_dontwrite(buf) &&
#endif
(buf->b_changed || file_ff_differs(buf));
(buf->b_changed || file_ff_differs(buf, TRUE));
}
int
@@ -3314,7 +3314,7 @@ curbufIsChanged()
#ifdef FEAT_QUICKFIX
!bt_dontwrite(curbuf) &&
#endif
(curbuf->b_changed || file_ff_differs(curbuf));
(curbuf->b_changed || file_ff_differs(curbuf, TRUE));
}
#if defined(FEAT_EVAL) || defined(PROTO)
+16
View File
@@ -729,6 +729,22 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
107,
/**/
106,
/**/
105,
/**/
104,
/**/
103,
/**/
102,
/**/
101,
/**/
100,
/**/
99,
/**/