diff --git a/7.1.276 b/7.1.276 new file mode 100644 index 0000000..5af780b --- /dev/null +++ b/7.1.276 @@ -0,0 +1,156 @@ +To: vim-dev@vim.org +Subject: Patch 7.1.276 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.1.276 +Problem: "gw" uses 'formatexpr', even though the docs say it doesn't. +Solution: Don't use 'formatexpr' for "gw". +Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro + + +*** ../vim-7.1.275/src/vim.h Wed Mar 12 14:38:51 2008 +--- src/vim.h Wed Mar 12 16:31:44 2008 +*************** +*** 949,954 **** +--- 952,958 ---- + #define INSCHAR_FORMAT 1 /* force formatting */ + #define INSCHAR_DO_COM 2 /* format comments */ + #define INSCHAR_CTRLV 4 /* char typed just after CTRL-V */ ++ #define INSCHAR_NO_FEX 8 /* don't use 'formatexpr' */ + + /* flags for open_line() */ + #define OPENLINE_DELSPACES 1 /* delete spaces after cursor */ +*** ../vim-7.1.275/src/edit.c Tue Jan 22 17:49:17 2008 +--- src/edit.c Wed Mar 12 16:35:44 2008 +*************** +*** 5491,5497 **** + #if defined(FEAT_EVAL) + int do_internal = TRUE; + +! if (*curbuf->b_p_fex != NUL) + { + do_internal = (fex_format(curwin->w_cursor.lnum, 1L, c) != 0); + /* It may be required to save for undo again, e.g. when setline() +--- 5491,5497 ---- + #if defined(FEAT_EVAL) + int do_internal = TRUE; + +! if (*curbuf->b_p_fex != NUL && (flags & INSCHAR_NO_FEX) == 0) + { + do_internal = (fex_format(curwin->w_cursor.lnum, 1L, c) != 0); + /* It may be required to save for undo again, e.g. when setline() +*************** +*** 6057,6063 **** + * be adjusted for the text formatting. + */ + saved_cursor = pos; +! format_lines((linenr_T)-1); + curwin->w_cursor = saved_cursor; + saved_cursor.lnum = 0; + +--- 6057,6063 ---- + * be adjusted for the text formatting. + */ + saved_cursor = pos; +! format_lines((linenr_T)-1, FALSE); + curwin->w_cursor = saved_cursor; + saved_cursor.lnum = 0; + +*** ../vim-7.1.275/src/ops.c Mon Feb 25 21:54:23 2008 +--- src/ops.c Wed Mar 12 16:37:29 2008 +*************** +*** 4380,4386 **** + if (keep_cursor) + saved_cursor = oap->cursor_start; + +! format_lines(oap->line_count); + + /* + * Leave the cursor at the first non-blank of the last formatted line. +--- 4380,4386 ---- + if (keep_cursor) + saved_cursor = oap->cursor_start; + +! format_lines(oap->line_count, keep_cursor); + + /* + * Leave the cursor at the first non-blank of the last formatted line. +*************** +*** 4495,4502 **** + * first line. + */ + void +! format_lines(line_count) + linenr_T line_count; + { + int max_len; + int is_not_par; /* current line not part of parag. */ +--- 4495,4503 ---- + * first line. + */ + void +! format_lines(line_count, avoid_fex) + linenr_T line_count; ++ int avoid_fex; /* don't use 'formatexpr' */ + { + int max_len; + int is_not_par; /* current line not part of parag. */ +*************** +*** 4666,4672 **** + #ifdef FEAT_COMMENTS + + (do_comments ? INSCHAR_DO_COM : 0) + #endif +! , second_indent); + State = old_State; + p_smd = smd_save; + second_indent = -1; +--- 4667,4673 ---- + #ifdef FEAT_COMMENTS + + (do_comments ? INSCHAR_DO_COM : 0) + #endif +! + (avoid_fex ? INSCHAR_NO_FEX : 0), second_indent); + State = old_State; + p_smd = smd_save; + second_indent = -1; +*** ../vim-7.1.275/src/proto/ops.pro Wed Jan 16 20:01:14 2008 +--- src/proto/ops.pro Wed Mar 12 16:38:39 2008 +*************** +*** 41,47 **** + void op_format __ARGS((oparg_T *oap, int keep_cursor)); + void op_formatexpr __ARGS((oparg_T *oap)); + int fex_format __ARGS((linenr_T lnum, long count, int c)); +! void format_lines __ARGS((linenr_T line_count)); + int paragraph_start __ARGS((linenr_T lnum)); + int do_addsub __ARGS((int command, linenr_T Prenum1)); + int read_viminfo_register __ARGS((vir_T *virp, int force)); +--- 41,47 ---- + void op_format __ARGS((oparg_T *oap, int keep_cursor)); + void op_formatexpr __ARGS((oparg_T *oap)); + int fex_format __ARGS((linenr_T lnum, long count, int c)); +! void format_lines __ARGS((linenr_T line_count, int avoid_fex)); + int paragraph_start __ARGS((linenr_T lnum)); + int do_addsub __ARGS((int command, linenr_T Prenum1)); + int read_viminfo_register __ARGS((vir_T *virp, int force)); +*** ../vim-7.1.275/src/version.c Wed Mar 12 14:38:51 2008 +--- src/version.c Wed Mar 12 17:23:43 2008 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 276, + /**/ + +-- +An actual excerpt from a classified section of a city newspaper: +"Illiterate? Write today for free help!" + + /// 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 ///