]> granicus.if.org Git - vim/commitdiff
updated for version 7.1-066 v7.1.066
authorBram Moolenaar <Bram@vim.org>
Sun, 12 Aug 2007 13:51:26 +0000 (13:51 +0000)
committerBram Moolenaar <Bram@vim.org>
Sun, 12 Aug 2007 13:51:26 +0000 (13:51 +0000)
src/buffer.c
src/fileio.c
src/option.c
src/structs.h
src/version.c

index 6d44fa74d6bb36f2662da33cd0563b5746d6b6e5..c94790154b8e253c3bbf89cd2e78f66edd4d015c 100644 (file)
@@ -502,6 +502,7 @@ buf_clear_file(buf)
     buf->b_start_eol = TRUE;
 #ifdef FEAT_MBYTE
     buf->b_p_bomb = FALSE;
+    buf->b_start_bomb = FALSE;
 #endif
     buf->b_ml.ml_mfp = NULL;
     buf->b_ml.ml_flags = ML_EMPTY;             /* empty buffer */
index 3f094d4ef1ea022808aad340823c6b44b379bfe1..801caba96bcf0ebbbdf7095c1a2ec5f27cd9a083 100644 (file)
@@ -654,6 +654,7 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
        curbuf->b_start_eol = TRUE;
 #ifdef FEAT_MBYTE
        curbuf->b_p_bomb = FALSE;
+       curbuf->b_start_bomb = FALSE;
 #endif
     }
 
@@ -912,7 +913,10 @@ retry:
        file_rewind = FALSE;
 #ifdef FEAT_MBYTE
        if (set_options)
+       {
            curbuf->b_p_bomb = FALSE;
+           curbuf->b_start_bomb = FALSE;
+       }
        conv_error = 0;
 #endif
     }
@@ -1361,7 +1365,10 @@ retry:
                    size -= blen;
                    mch_memmove(ptr, ptr + blen, (size_t)size);
                    if (set_options)
+                   {
                        curbuf->b_p_bomb = TRUE;
+                       curbuf->b_start_bomb = TRUE;
+                   }
                }
 
                if (fio_flags == FIO_UCSBOM)
index 68a779fd035cba20dbda3ae9d8185b4c95ae05de..d02605ccf618cde921d945362dc95165d0379f10 100644 (file)
@@ -7118,6 +7118,11 @@ set_bool_option(opt_idx, varp, value, opt_flags)
     /* when 'endofline' is changed, redraw the window title */
     else if ((int *)varp == &curbuf->b_p_eol)
        need_maketitle = TRUE;
+#ifdef FEAT_MBYTE
+    /* when 'bomb' is changed, redraw the window title */
+    else if ((int *)varp == &curbuf->b_p_bomb)
+       need_maketitle = TRUE;
+#endif
 #endif
 
     /* when 'bin' is set also set some other options */
@@ -10604,6 +10609,8 @@ save_file_ff(buf)
     buf->b_start_ffc = *buf->b_p_ff;
     buf->b_start_eol = buf->b_p_eol;
 #ifdef FEAT_MBYTE
+    buf->b_start_bomb = buf->b_p_bomb;
+
     /* Only use free/alloc when necessary, they take time. */
     if (buf->b_start_fenc == NULL
                             || STRCMP(buf->b_start_fenc, buf->b_p_fenc) != 0)
@@ -10617,7 +10624,8 @@ save_file_ff(buf)
 /*
  * Return TRUE if 'fileformat' and/or 'fileencoding' has a different value
  * from when editing started (save_file_ff() called).
- * Also when 'endofline' was changed and 'binary' is set.
+ * 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.
  */
     int
@@ -10636,6 +10644,8 @@ file_ff_differs(buf)
     if (buf->b_p_bin && buf->b_start_eol != buf->b_p_eol)
        return TRUE;
 #ifdef FEAT_MBYTE
+    if (!buf->b_p_bin && buf->b_start_bomb != buf->b_p_bomb)
+       return TRUE;
     if (buf->b_start_fenc == NULL)
        return (*buf->b_p_fenc != NUL);
     return (STRCMP(buf->b_start_fenc, buf->b_p_fenc) != 0);
index c85fc05e582545b79c1807d99f2b267e644ef8c5..880f0b0230280c1844683d5b380cb7c349724e79 100644 (file)
@@ -1453,6 +1453,7 @@ struct file_buffer
 #ifdef FEAT_MBYTE
     char_u     *b_start_fenc;  /* 'fileencoding' when edit started or NULL */
     int                b_bad_char;     /* "++bad=" argument when edit started or 0 */
+    int                b_start_bomb;   /* 'bomb' when it was read */
 #endif
 
 #ifdef FEAT_EVAL
index 4bbf44a1e232e14cdb26c4fe410d1210139456b1..7933223530ef5517bcb062460359646c97d30f0a 100644 (file)
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    66,
 /**/
     65,
 /**/