-*diff.txt* For Vim version 7.3c. Last change: 2009 Sep 15
+*diff.txt* For Vim version 7.3c. Last change: 2010 Jul 31
VIM REFERENCE MANUAL by Bram Moolenaar
'diff' on
'scrollbind' on
+ 'cursorbind' on
'scrollopt' includes "hor"
'wrap' off
'foldmethod' "diff"
'diff' off
'scrollbind' off
+ 'cursorbind' off
'scrollopt' without "hor"
'wrap' on
'foldmethod' "manual"
*known-bugs*
-------------------- Known bugs and current work -----------------------
-After ":diffoff" scroll binding doesn't stop completely.
-
Windows 7: "Open with..." menu starts Vim without a file.
Need to use other registry methods in if_ole.cpp?
Move more common code from if_python.c and if_python3.c to if_py_both.h
-Add filetype completion to user commands. (Christian Brabandt, 2010 Jul 26)
-But call it "filetype" instead of "syntax"?
-
Uninspected issues on http://scan.coverity.com/rung2.html
Before release 7.3:
{
/* Set 'diff', 'scrollbind' off and 'wrap' on. */
wp->w_p_diff = FALSE;
+#ifdef FEAT_CURSORBIND
+ wp->w_p_crb = FALSE;
+#endif
wp->w_p_scb = FALSE;
wp->w_p_wrap = TRUE;
#ifdef FEAT_FOLDING
}
/* restore curwin/curbuf and a few other things */
- if (idx_other == idx_to)
+ if (eap->cmdidx != CMD_diffget)
{
/* Syncing undo only works for the current buffer, but we change
* another buffer. Sync undo if the command was typed. This isn't
/* '>' and '+' are special at the start of some commands, e.g. ":edit" and
* ":write". "cd -" has a special meaning. */
- if (*p == '>' || *p == '+' || (*p == '-' && p[1] == NUL))
+ if (p != NULL && (*p == '>' || *p == '+' || (*p == '-' && p[1] == NUL)))
escape_fname(&p);
return p;
fclose(fd_resource);
return FALSE;
}
+ fclose(fd_resource);
prt_resfile.line_end = -1;
prt_resfile.line_start = 0;
{
EMSG2(_("E618: file \"%s\" is not a PostScript resource file"),
resource->filename);
- fclose(fd_resource);
return FALSE;
}
{
EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"),
resource->filename);
- fclose(fd_resource);
return FALSE;
}
offset += (int)STRLEN(PRT_RESOURCE_RESOURCE);
{
EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"),
resource->filename);
- fclose(fd_resource);
return FALSE;
}
{
EMSG2(_("E619: file \"%s\" is not a supported PostScript resource file"),
resource->filename);
- fclose(fd_resource);
return FALSE;
}
- fclose(fd_resource);
-
return TRUE;
}
* This is needed if the parameter path is fully qualified.
*/
search_ctx->ffsc_start_dir = vim_strsave(search_ctx->ffsc_fix_path);
- if (search_ctx->ffsc_start_dir)
- search_ctx->ffsc_fix_path[0] = NUL;
+ if (search_ctx->ffsc_start_dir == NULL)
+ goto error_return;
+ search_ctx->ffsc_fix_path[0] = NUL;
}
/* create an absolute path */
if (buf->signmaplen == 0) /* first allocation */
{
buf->signmaplen = 5;
- buf->signmap = (int *)alloc_clear(buf->signmaplen * sizeof(int *));
+ buf->signmap = (int *)alloc_clear(buf->signmaplen * sizeof(int));
}
else /* grow it */
{
int incr;
int oldlen = buf->signmaplen;
+
buf->signmaplen *= 2;
incr = buf->signmaplen - oldlen;
buf->signmap = (int *)vim_realloc(buf->signmap,
- buf->signmaplen*sizeof(int *));
- vim_memset(buf->signmap + oldlen, 0, incr * sizeof(int *));
+ buf->signmaplen * sizeof(int));
+ vim_memset(buf->signmap + oldlen, 0, incr * sizeof(int));
}
}
nv_brackets(cap)
cmdarg_T *cap;
{
- pos_T new_pos;
+ pos_T new_pos = INIT_POS_T(0, 0, 0);
pos_T prev_pos;
pos_T *pos = NULL; /* init for GCC */
pos_T old_pos; /* cursor position before command */
{
if (cap->nchar == '*')
cap->nchar = '/';
- new_pos.lnum = 0;
prev_pos.lnum = 0;
if (cap->nchar == 'm' || cap->nchar == 'M')
{
options[opt_idx].def_val[VI_DEFAULT] = buf;
options[opt_idx].flags |= P_DEF_ALLOCED;
}
+ else
+ vim_free(buf); /* cannot happen */
}
if (mustfree)
vim_free(cdpath);
* 'foldmethod' becomes "marker" instead of "diff" and that
* "wrap" gets set. */
if (curwin->w_p_diff
+ && opt_idx >= 0 /* shut up coverity warning */
&& (options[opt_idx].indir == PV_FDM
|| options[opt_idx].indir == PV_WRAP))
goto skip;
fseek(fd, fpos_next, SEEK_SET);
}
}
- fclose(fd);
+ if (fd != NULL)
+ fclose(fd);
}
}
if (mpos->col > 0)
--mpos->col;
+#ifdef FEAT_VIRTUALEDIT
+ mpos->coladd = 0;
+#endif
return IN_BUFFER;
}