# HG changeset patch # User vimboss # Date 1110236999 0 # Node ID 041a413d626d9860dfd764d61080be4912a4ab44 # Parent c757ec217a093fe583a31a876ccc006e4a73044f updated for version 7.0057 diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt --- a/runtime/doc/debugger.txt +++ b/runtime/doc/debugger.txt @@ -1,4 +1,4 @@ -*debugger.txt* For Vim version 7.0aa. Last change: 2005 Feb 23 +*debugger.txt* For Vim version 7.0aa. Last change: 2005 Mar 07 VIM REFERENCE MANUAL by Gordon Prieur @@ -98,12 +98,15 @@ balloon. The 'ballooneval' option needs to be set to switch it on. Balloon evaluation is only available when compiled with the |+balloon_eval| -and |+sun_workshop| features. +feature. The Balloon evaluation functions are also used to show a tooltip for the toolbar. The 'ballooneval' option does not need to be set for this. But the other settings apply. +Another way to use the balloon is with the 'balloonexpr' option. This is +completely user definable. + ============================================================================== 2. Vim Compile Options *debugger-compilation* diff --git a/src/Make_ming.mak b/src/Make_ming.mak --- a/src/Make_ming.mak +++ b/src/Make_ming.mak @@ -355,7 +355,7 @@ CFLAGS += -s endif LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/os_w32exe.o +GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o OBJ = \ $(OUTDIR)/buffer.o \ $(OUTDIR)/charset.o \ @@ -423,7 +423,7 @@ endif ifeq ($(NETBEANS),yes) # Only allow NETBEANS for a GUI build. ifeq (yes, $(GUI)) -OBJ += $(OUTDIR)/netbeans.o $(OUTDIR)/gui_beval.o +OBJ += $(OUTDIR)/netbeans.o LIB += -lwsock32 endif endif diff --git a/src/feature.h b/src/feature.h --- a/src/feature.h +++ b/src/feature.h @@ -1179,7 +1179,7 @@ && ( (defined(FEAT_TOOLBAR) \ && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \ || defined(FEAT_SUN_WORKSHOP) \ - || defined(FEAT_NETBEANS_INTG)) + || defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL)) # define FEAT_BEVAL # if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK) \ && !defined(FEAT_GUI_KDE) && !defined(FEAT_GUI_W32) diff --git a/src/fileio.c b/src/fileio.c --- a/src/fileio.c +++ b/src/fileio.c @@ -5905,7 +5905,7 @@ buf_check_timestamp(buf, focus) char_u *path; char_u *tbuf; char *mesg = NULL; - char *mesg2; + char *mesg2 = ""; int helpmesg = FALSE; int reload = FALSE; #if defined(FEAT_CON_DIALOG) || defined(FEAT_GUI_DIALOG) diff --git a/src/os_mswin.c b/src/os_mswin.c --- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -1411,6 +1411,7 @@ acp_to_enc(str, str_size, out, outlen) MultiByteToWideChar_alloc(GetACP(), 0, str, str_size, &widestr, outlen); if (widestr != NULL) { + ++*outlen; /* Include the 0 after the string */ *out = ucs2_to_enc((short_u *)widestr, outlen); vim_free(widestr); } diff --git a/src/os_unix.c b/src/os_unix.c --- a/src/os_unix.c +++ b/src/os_unix.c @@ -841,7 +841,10 @@ sig_alarm SIGDEFARG(sigarg) } #endif -#if defined(HAVE_SETJMP_H) || defined(PROTO) +#if (defined(HAVE_SETJMP_H) \ + && ((defined(FEAT_X11) && defined(FEAT_XCLIPBOARD)) \ + || defined(FEAT_LIBCALL))) \ + || defined(PROTO) /* * A simplistic version of setjmp() that only allows one level of using. * Don't call twice before calling mch_endjmp()!. diff --git a/src/tag.c b/src/tag.c --- a/src/tag.c +++ b/src/tag.c @@ -3551,12 +3551,15 @@ add_tag_field(dict, field_name, start, e char_u *end; { char_u buf[MAXPATHL]; - int len; + int len = 0; - len = end - start; - if (len > sizeof(buf) - 1) - len = sizeof(buf) - 1; - STRNCPY(buf, start, len); + if (start != NULL) + { + len = end - start; + if (len > sizeof(buf) - 1) + len = sizeof(buf) - 1; + STRNCPY(buf, start, len); + } buf[len] = NUL; return dict_add_nr_str(dict, field_name, 0L, buf); } @@ -3575,8 +3578,6 @@ get_tags(list, pat) dict_T *dict; tagptrs_T tp; long is_static; - char_u buf[200]; - char_u *bp; ret = find_tags(pat, &num_matches, &matches, TAG_REGEXP | TAG_NOIC, (int)MAXCOL, NULL); @@ -3584,14 +3585,18 @@ get_tags(list, pat) { for (i = 0; i < num_matches; ++i) { + parse_match(matches[i], &tp); + is_static = test_for_static(&tp); + + /* Skip pseudo-tag lines. */ + if (STRNCMP(tp.tagname, "!_TAG_", 6) == 0) + continue; + if ((dict = dict_alloc()) == NULL) ret = FAIL; if (list_append_dict(list, dict) == FAIL) ret = FAIL; - parse_match(matches[i], &tp); - is_static = test_for_static(&tp); - if (add_tag_field(dict, "name", tp.tagname, tp.tagname_end) == FAIL || add_tag_field(dict, "filename", tp.fname, tp.fname_end) == FAIL @@ -3602,8 +3607,6 @@ get_tags(list, pat) || dict_add_nr_str(dict, "static", is_static, NULL) == FAIL) ret = FAIL; - bp = buf; - if (tp.command_end != NULL) { for (p = tp.command_end + 3; @@ -3616,41 +3619,28 @@ get_tags(list, pat) else if (STRNCMP(p, "file:", 5) == 0) /* skip "file:" (static tag) */ p += 4; - else if (STRNCMP(p, "struct:", 7) == 0 - || STRNCMP(p, "enum:", 5) == 0 - || STRNCMP(p, "class:", 6) == 0) + else if (!vim_iswhite(*p)) { char_u *s, *n; + int len; - /* Field we recognize, add as a dict entry. */ + /* Add extra field as a dict entry. */ n = p; - if (*n == 's') - p += 7; - else if (*n == 'e') - p += 5; - else - p += 6; - s = p; - while (*p != NUL && *p != '\n' && *p != '\r') + while (*p != NUL && *p > ' ' && *p < 127 && *p != ':') ++p; - if (add_tag_field(dict, - *n == 's' ? "struct" - : *n == 'e' ? "enum" : "class", - s, p) == FAIL) - ret = FAIL; + len = p - n; + if (*p == ':' && len > 0) + { + s = ++p; + while (*p != NUL && *p > ' ' && *p < 127) + ++p; + n[len] = NUL; + if (add_tag_field(dict, (char *)n, s, p) == FAIL) + ret = FAIL; + n[len] = ':'; + } --p; } - else if ((bp - buf) < sizeof(buf) - 1 - && (bp > buf || !vim_iswhite(*p))) - /* Field not recognized, add to "extra" dict entry. */ - *bp++ = *p; - } - - if (bp > buf) - { - *bp = NUL; - if (dict_add_nr_str(dict, "extra", 0L, buf) == FAIL) - ret = FAIL; } }