On 8/12/07, Bram Moolenaar <[EMAIL PROTECTED]> wrote:
>
>
> Patch 7.1.066
> Problem: When 'bomb' is set or reset the file should be considered
> modified. (Tony Mechelynck)
> Solution: Handle like 'endofline'. (Martin Toft)
Wow! Thanks very much for your wonderful work, Martin! I'm waiting for
this for months! Incredible fixing!
> Files: src/buffer.c, src/fileio.c, src/option.c, src/structs.h
>
>
> *** ../vim-7.1.065/src/buffer.c Mon Aug 6 22:27:12 2007
> --- src/buffer.c Sat Aug 11 16:56:57 2007
> ***************
> *** 502,507 ****
> --- 502,508 ----
> 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 */
> *** ../vim-7.1.065/src/fileio.c Tue Jul 10 17:09:51 2007
> --- src/fileio.c Sat Aug 11 16:56:57 2007
> ***************
> *** 654,659 ****
> --- 654,660 ----
> curbuf->b_start_eol = TRUE;
> #ifdef FEAT_MBYTE
> curbuf->b_p_bomb = FALSE;
> + curbuf->b_start_bomb = FALSE;
> #endif
> }
>
> ***************
> *** 912,918 ****
> --- 913,922 ----
> file_rewind = FALSE;
> #ifdef FEAT_MBYTE
> if (set_options)
> + {
> curbuf->b_p_bomb = FALSE;
> + curbuf->b_start_bomb = FALSE;
> + }
> conv_error = 0;
> #endif
> }
> ***************
> *** 1361,1367 ****
> --- 1365,1374 ----
> 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)
> *** ../vim-7.1.065/src/option.c Tue Jul 24 14:57:16 2007
> --- src/option.c Sat Aug 11 16:56:57 2007
> ***************
> *** 7118,7123 ****
> --- 7118,7128 ----
> /* 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,10609 ****
> --- 10609,10616 ----
> 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,10623 ****
> /*
> * 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.
> * Don't consider a new, empty buffer to be changed.
> */
> int
> --- 10624,10631 ----
> /*
> * 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, or when 'bomb' was
> ! * changed and 'binary' is not set.
> * Don't consider a new, empty buffer to be changed.
> */
> int
> ***************
> *** 10636,10641 ****
> --- 10644,10651 ----
> 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);
> *** ../vim-7.1.065/src/structs.h Thu Jul 26 22:55:11 2007
> --- src/structs.h Sat Aug 11 16:56:57 2007
> ***************
> *** 1453,1458 ****
> --- 1453,1459 ----
> #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
> *** ../vim-7.1.065/src/version.c Sun Aug 12 15:24:05 2007
> --- src/version.c Sun Aug 12 15:48:34 2007
> ***************
> *** 668,669 ****
> --- 668,671 ----
> { /* Add new patch number below this line */
> + /**/
> + 66,
> /**/
>
> --
> hundred-and-one symptoms of being an internet addict:
> 127. You bring your laptop and cellular phone to church.
>
> /// Bram Moolenaar -- [EMAIL PROTECTED] -- 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 ///
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---