| To: vim-dev@vim.org |
| Subject: Patch 7.1.276 |
| 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.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 |
| |
| |
| |
| |
| |
| *** 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 */ |
| |
| |
| |
| *** 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; |
| |
| |
| |
| |
| *** 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; |
| |
| |
| |
| *** 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)); |
| |
| |
| |
| *** 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 /// |