home *** CD-ROM | disk | FTP | other *** search
- To: vim_dev@googlegroups.com
- Subject: Patch 7.3.103
- Fcc: outbox
- From: Bram Moolenaar <Bram@moolenaar.net>
- Mime-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- ------------
-
- Patch 7.3.103
- Problem: Changing 'fileformat' and then using ":w" in an empty file sets
- the 'modified' option.
- Solution: In unchanged() don't ignore 'ff' for an empty file.
- Files: src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c
-
-
- *** ../vim-7.3.102/src/misc1.c 2010-12-30 12:30:26.000000000 +0100
- --- src/misc1.c 2011-01-22 00:00:24.000000000 +0100
- ***************
- *** 2919,2925 ****
- buf_T *buf;
- int ff; /* also reset 'fileformat' */
- {
- ! if (buf->b_changed || (ff && file_ff_differs(buf)))
- {
- buf->b_changed = 0;
- ml_setflags(buf);
- --- 2919,2925 ----
- buf_T *buf;
- int ff; /* also reset 'fileformat' */
- {
- ! if (buf->b_changed || (ff && file_ff_differs(buf, FALSE)))
- {
- buf->b_changed = 0;
- ml_setflags(buf);
- *** ../vim-7.3.102/src/option.c 2010-12-02 21:43:10.000000000 +0100
- --- src/option.c 2011-01-22 00:03:40.000000000 +0100
- ***************
- *** 11296,11311 ****
- * 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
- ! file_ff_differs(buf)
- buf_T *buf;
- {
- /* In a buffer that was never loaded the options are not valid. */
- if (buf->b_flags & BF_NEVERLOADED)
- return FALSE;
- ! if ((buf->b_flags & BF_NEW)
- && buf->b_ml.ml_line_count == 1
- && *ml_get_buf(buf, (linenr_T)1, FALSE) == NUL)
- return FALSE;
- --- 11296,11314 ----
- * 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.
- ! * When "ignore_empty" is true don't consider a new, empty buffer to be
- ! * changed.
- */
- int
- ! file_ff_differs(buf, ignore_empty)
- buf_T *buf;
- + int ignore_empty;
- {
- /* In a buffer that was never loaded the options are not valid. */
- if (buf->b_flags & BF_NEVERLOADED)
- return FALSE;
- ! if (ignore_empty
- ! && (buf->b_flags & BF_NEW)
- && buf->b_ml.ml_line_count == 1
- && *ml_get_buf(buf, (linenr_T)1, FALSE) == NUL)
- return FALSE;
- *** ../vim-7.3.102/src/proto/option.pro 2010-08-15 21:57:28.000000000 +0200
- --- src/proto/option.pro 2011-01-22 00:04:35.000000000 +0100
- ***************
- *** 54,59 ****
- int option_was_set __ARGS((char_u *name));
- int can_bs __ARGS((int what));
- void save_file_ff __ARGS((buf_T *buf));
- ! int file_ff_differs __ARGS((buf_T *buf));
- int check_ff_value __ARGS((char_u *p));
- /* vim: set ft=c : */
- --- 54,59 ----
- int option_was_set __ARGS((char_u *name));
- int can_bs __ARGS((int what));
- void save_file_ff __ARGS((buf_T *buf));
- ! int file_ff_differs __ARGS((buf_T *buf, int ignore_empty));
- int check_ff_value __ARGS((char_u *p));
- /* vim: set ft=c : */
- *** ../vim-7.3.102/src/undo.c 2010-12-17 18:06:00.000000000 +0100
- --- src/undo.c 2011-01-22 00:03:58.000000000 +0100
- ***************
- *** 3304,3310 ****
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(buf) &&
- #endif
- ! (buf->b_changed || file_ff_differs(buf));
- }
-
- int
- --- 3304,3310 ----
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(buf) &&
- #endif
- ! (buf->b_changed || file_ff_differs(buf, TRUE));
- }
-
- int
- ***************
- *** 3314,3320 ****
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(curbuf) &&
- #endif
- ! (curbuf->b_changed || file_ff_differs(curbuf));
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
- --- 3314,3320 ----
- #ifdef FEAT_QUICKFIX
- !bt_dontwrite(curbuf) &&
- #endif
- ! (curbuf->b_changed || file_ff_differs(curbuf, TRUE));
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
- *** ../vim-7.3.102/src/version.c 2011-01-17 20:08:03.000000000 +0100
- --- src/version.c 2011-01-22 00:07:56.000000000 +0100
- ***************
- *** 716,717 ****
- --- 716,719 ----
- { /* Add new patch number below this line */
- + /**/
- + 103,
- /**/
-
- --
- In a world without fences, who needs Gates and Windows?
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
- /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
- \\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
-