To: vim-dev@vim.org
Subject: Patch 7.1.313
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.313
Problem: When the netbeans interface setModified call is used the status
lines and window title are not updated.
Solution: Redraw the status lines and title. (Philippe Fremy)
Files: src/netbeans.c
*** ../vim-7.1.312/src/netbeans.c Sun Mar 16 16:02:47 2008
--- src/netbeans.c Wed May 28 15:12:13 2008
***************
*** 16,21 ****
--- 16,25 ----
* See ":help netbeans-protocol" for explanation.
*/
+ #if defined(MSDOS) || defined(MSWIN)
+ # include "vimio.h" /* for mch_open(), must be before vim.h */
+ #endif
+
#include "vim.h"
#if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
***************
*** 1974,1986 ****
}
else if (streq((char *)cmd, "setModified"))
{
if (buf == NULL || buf->bufp == NULL)
{
/* EMSG("E646: null bufp in setModified"); */
return FAIL;
}
if (streq((char *)args, "T"))
! buf->bufp->b_changed = 1;
else
{
struct stat st;
--- 1978,1993 ----
}
else if (streq((char *)cmd, "setModified"))
{
+ int prev_b_changed;
+
if (buf == NULL || buf->bufp == NULL)
{
/* EMSG("E646: null bufp in setModified"); */
return FAIL;
}
+ prev_b_changed = buf->bufp->b_changed;
if (streq((char *)args, "T"))
! buf->bufp->b_changed = TRUE;
else
{
struct stat st;
***************
*** 1990,1998 ****
if (buf->bufp->b_ffname != NULL
&& mch_stat((char *)buf->bufp->b_ffname, &st) >= 0)
buf_store_time(buf->bufp, &st, buf->bufp->b_ffname);
! buf->bufp->b_changed = 0;
}
buf->modified = buf->bufp->b_changed;
/* =====================================================================*/
}
else if (streq((char *)cmd, "setModtime"))
--- 1997,2016 ----
if (buf->bufp->b_ffname != NULL
&& mch_stat((char *)buf->bufp->b_ffname, &st) >= 0)
buf_store_time(buf->bufp, &st, buf->bufp->b_ffname);
! buf->bufp->b_changed = FALSE;
}
buf->modified = buf->bufp->b_changed;
+ if (prev_b_changed != buf->bufp->b_changed)
+ {
+ #ifdef FEAT_WINDOWS
+ check_status(buf->bufp);
+ redraw_tabline = TRUE;
+ #endif
+ #ifdef FEAT_TITLE
+ maketitle();
+ #endif
+ update_screen(0);
+ }
/* =====================================================================*/
}
else if (streq((char *)cmd, "setModtime"))
*** ../vim-7.1.312/src/version.c Mon Jun 9 14:45:17 2008
--- src/version.c Mon Jun 9 15:08:40 2008
***************
*** 668,669 ****
--- 673,676 ----
{ /* Add new patch number below this line */
+ /**/
+ 313,
/**/
--
Q: What is the difference betwee open-source and commercial software?
A: If you have a problem with commercial software you can call a phone
number and they will tell you it might be solved in a future version.
For open-source software there isn't a phone number to call, but you
get the solution within a day.
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///