summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.426
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.426')
-rw-r--r--source/ap/vim/patches/7.3.426279
1 files changed, 279 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.426 b/source/ap/vim/patches/7.3.426
new file mode 100644
index 00000000..76380af1
--- /dev/null
+++ b/source/ap/vim/patches/7.3.426
@@ -0,0 +1,279 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.426
+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.426
+Problem: With '$' in 'cpoptions' the $ is not displayed in the first
+ column.
+Solution: Use -1 instead of 0 as a special value. (Hideki Eiraku and
+ Hirohito Higashi)
+Files: src/edit.c, src/globals.h, src/move.c, src/screen.c, src/search.c
+
+
+*** ../vim-7.3.425/src/edit.c 2012-01-26 18:58:25.000000000 +0100
+--- src/edit.c 2012-02-04 23:23:45.000000000 +0100
+***************
+*** 1763,1771 ****
+ static void
+ undisplay_dollar()
+ {
+! if (dollar_vcol)
+ {
+! dollar_vcol = 0;
+ redrawWinline(curwin->w_cursor.lnum, FALSE);
+ }
+ }
+--- 1763,1771 ----
+ static void
+ undisplay_dollar()
+ {
+! if (dollar_vcol >= 0)
+ {
+! dollar_vcol = -1;
+ redrawWinline(curwin->w_cursor.lnum, FALSE);
+ }
+ }
+***************
+*** 5441,5447 ****
+ compl_curr_match->cp_number);
+ edit_submode_extra = match_ref;
+ edit_submode_highl = HLF_R;
+! if (dollar_vcol)
+ curs_columns(FALSE);
+ }
+ }
+--- 5441,5447 ----
+ compl_curr_match->cp_number);
+ edit_submode_extra = match_ref;
+ edit_submode_highl = HLF_R;
+! if (dollar_vcol >= 0)
+ curs_columns(FALSE);
+ }
+ }
+***************
+*** 8961,8967 ****
+ * We can emulate the vi behaviour by pretending there is a dollar
+ * displayed even when there isn't.
+ * --pkv Sun Jan 19 01:56:40 EST 2003 */
+! if (vim_strchr(p_cpo, CPO_BACKSPACE) != NULL && dollar_vcol == 0)
+ dollar_vcol = curwin->w_virtcol;
+
+ #ifdef FEAT_FOLDING
+--- 8961,8967 ----
+ * We can emulate the vi behaviour by pretending there is a dollar
+ * displayed even when there isn't.
+ * --pkv Sun Jan 19 01:56:40 EST 2003 */
+! if (vim_strchr(p_cpo, CPO_BACKSPACE) != NULL && dollar_vcol == -1)
+ dollar_vcol = curwin->w_virtcol;
+
+ #ifdef FEAT_FOLDING
+*** ../vim-7.3.425/src/globals.h 2011-05-10 16:41:13.000000000 +0200
+--- src/globals.h 2012-02-04 23:24:07.000000000 +0100
+***************
+*** 113,121 ****
+ * When '$' is included in 'cpoptions' option set:
+ * When a change command is given that deletes only part of a line, a dollar
+ * is put at the end of the changed text. dollar_vcol is set to the virtual
+! * column of this '$'.
+ */
+! EXTERN colnr_T dollar_vcol INIT(= 0);
+
+ #ifdef FEAT_INS_EXPAND
+ /*
+--- 113,121 ----
+ * When '$' is included in 'cpoptions' option set:
+ * When a change command is given that deletes only part of a line, a dollar
+ * is put at the end of the changed text. dollar_vcol is set to the virtual
+! * column of this '$'. -1 is used to indicate no $ is being displayed.
+ */
+! EXTERN colnr_T dollar_vcol INIT(= -1);
+
+ #ifdef FEAT_INS_EXPAND
+ /*
+*** ../vim-7.3.425/src/move.c 2012-01-10 22:26:12.000000000 +0100
+--- src/move.c 2012-02-04 23:21:08.000000000 +0100
+***************
+*** 362,368 ****
+ #endif
+ )
+ {
+! dollar_vcol = 0;
+ if (curwin->w_skipcol != 0)
+ {
+ curwin->w_skipcol = 0;
+--- 362,368 ----
+ #endif
+ )
+ {
+! dollar_vcol = -1;
+ if (curwin->w_skipcol != 0)
+ {
+ curwin->w_skipcol = 0;
+***************
+*** 966,972 ****
+
+ /* remove '$' from change command when cursor moves onto it */
+ if (startcol > dollar_vcol)
+! dollar_vcol = 0;
+
+ extra = curwin_col_off();
+ curwin->w_wcol = curwin->w_virtcol + extra;
+--- 966,972 ----
+
+ /* remove '$' from change command when cursor moves onto it */
+ if (startcol > dollar_vcol)
+! dollar_vcol = -1;
+
+ extra = curwin_col_off();
+ curwin->w_wcol = curwin->w_virtcol + extra;
+*** ../vim-7.3.425/src/screen.c 2012-01-10 22:26:12.000000000 +0100
+--- src/screen.c 2012-02-04 23:22:44.000000000 +0100
+***************
+*** 1637,1647 ****
+ * When at start of changed lines: May scroll following lines
+ * up or down to minimize redrawing.
+ * Don't do this when the change continues until the end.
+! * Don't scroll when dollar_vcol is non-zero, keep the "$".
+ */
+ if (lnum == mod_top
+ && mod_bot != MAXLNUM
+! && !(dollar_vcol != 0 && mod_bot == mod_top + 1))
+ {
+ int old_rows = 0;
+ int new_rows = 0;
+--- 1637,1647 ----
+ * When at start of changed lines: May scroll following lines
+ * up or down to minimize redrawing.
+ * Don't do this when the change continues until the end.
+! * Don't scroll when dollar_vcol >= 0, keep the "$".
+ */
+ if (lnum == mod_top
+ && mod_bot != MAXLNUM
+! && !(dollar_vcol >= 0 && mod_bot == mod_top + 1))
+ {
+ int old_rows = 0;
+ int new_rows = 0;
+***************
+*** 1868,1879 ****
+ if (row > wp->w_height) /* past end of screen */
+ {
+ /* we may need the size of that too long line later on */
+! if (dollar_vcol == 0)
+ wp->w_lines[idx].wl_size = plines_win(wp, lnum, TRUE);
+ ++idx;
+ break;
+ }
+! if (dollar_vcol == 0)
+ wp->w_lines[idx].wl_size = row - srow;
+ ++idx;
+ #ifdef FEAT_FOLDING
+--- 1868,1879 ----
+ if (row > wp->w_height) /* past end of screen */
+ {
+ /* we may need the size of that too long line later on */
+! if (dollar_vcol == -1)
+ wp->w_lines[idx].wl_size = plines_win(wp, lnum, TRUE);
+ ++idx;
+ break;
+ }
+! if (dollar_vcol == -1)
+ wp->w_lines[idx].wl_size = row - srow;
+ ++idx;
+ #ifdef FEAT_FOLDING
+***************
+*** 1990,1996 ****
+ }
+ #endif
+ }
+! else if (dollar_vcol == 0)
+ wp->w_botline = lnum;
+
+ /* make sure the rest of the screen is blank */
+--- 1990,1996 ----
+ }
+ #endif
+ }
+! else if (dollar_vcol == -1)
+ wp->w_botline = lnum;
+
+ /* make sure the rest of the screen is blank */
+***************
+*** 2005,2011 ****
+ wp->w_old_botfill = wp->w_botfill;
+ #endif
+
+! if (dollar_vcol == 0)
+ {
+ /*
+ * There is a trick with w_botline. If we invalidate it on each
+--- 2005,2011 ----
+ wp->w_old_botfill = wp->w_botfill;
+ #endif
+
+! if (dollar_vcol == -1)
+ {
+ /*
+ * There is a trick with w_botline. If we invalidate it on each
+***************
+*** 3564,3570 ****
+ }
+
+ /* When still displaying '$' of change command, stop at cursor */
+! if (dollar_vcol != 0 && wp == curwin
+ && lnum == wp->w_cursor.lnum && vcol >= (long)wp->w_virtcol
+ #ifdef FEAT_DIFF
+ && filler_todo <= 0
+--- 3564,3570 ----
+ }
+
+ /* When still displaying '$' of change command, stop at cursor */
+! if (dollar_vcol >= 0 && wp == curwin
+ && lnum == wp->w_cursor.lnum && vcol >= (long)wp->w_virtcol
+ #ifdef FEAT_DIFF
+ && filler_todo <= 0
+*** ../vim-7.3.425/src/search.c 2012-01-26 20:58:21.000000000 +0100
+--- src/search.c 2012-02-04 23:23:10.000000000 +0100
+***************
+*** 2501,2508 ****
+ save_siso = p_siso;
+ /* Handle "$" in 'cpo': If the ')' is typed on top of the "$",
+ * stop displaying the "$". */
+! if (dollar_vcol > 0 && dollar_vcol == curwin->w_virtcol)
+! dollar_vcol = 0;
+ ++curwin->w_virtcol; /* do display ')' just before "$" */
+ update_screen(VALID); /* show the new char first */
+
+--- 2501,2508 ----
+ save_siso = p_siso;
+ /* Handle "$" in 'cpo': If the ')' is typed on top of the "$",
+ * stop displaying the "$". */
+! if (dollar_vcol >= 0 && dollar_vcol == curwin->w_virtcol)
+! dollar_vcol = -1;
+ ++curwin->w_virtcol; /* do display ')' just before "$" */
+ update_screen(VALID); /* show the new char first */
+
+*** ../vim-7.3.425/src/version.c 2012-02-04 22:44:27.000000000 +0100
+--- src/version.c 2012-02-04 23:32:55.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 426,
+ /**/
+
+
+--
+I am also told that there is a logical proof out there somewhere
+that demonstrates that there is no task which duct tape cannot handle.
+ -- Paul Brannan
+
+ /// 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 ///