diff options
Diffstat (limited to 'data/vim/patches/8.1.0933')
-rw-r--r-- | data/vim/patches/8.1.0933 | 473 |
1 files changed, 0 insertions, 473 deletions
diff --git a/data/vim/patches/8.1.0933 b/data/vim/patches/8.1.0933 deleted file mode 100644 index 693c17933..000000000 --- a/data/vim/patches/8.1.0933 +++ /dev/null @@ -1,473 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0933 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 8.1.0933 -Problem: When using VTP scroll region isn't used properly. -Solution: Make better use of the scroll region. (Nobuhiro Takasaki, - closes #3974) -Files: src/os_win32.c, src/term.c - - -*** ../vim-8.1.0932/src/os_win32.c 2019-02-16 14:07:34.326138106 +0100 ---- src/os_win32.c 2019-02-16 16:44:59.511679299 +0100 -*************** -*** 171,176 **** ---- 171,179 ---- - static void scroll(unsigned cLines); - static void set_scroll_region(unsigned left, unsigned top, - unsigned right, unsigned bottom); -+ static void set_scroll_region_tb(unsigned top, unsigned bottom); -+ static void set_scroll_region_lr(unsigned left, unsigned right); -+ static void insert_lines(unsigned cLines); - static void delete_lines(unsigned cLines); - static void gotoxy(unsigned x, unsigned y); - static void standout(void); -*************** -*** 5392,5398 **** - - if (handles[0] == INVALID_HANDLE_VALUE) - { -! CloseHandle(handles[1]); - return FALSE; - } - ---- 5395,5401 ---- - - if (handles[0] == INVALID_HANDLE_VALUE) - { -! CloseHandle(handles[1]); - return FALSE; - } - -*************** -*** 5976,5984 **** - g_srScrollRegion.Top = top; - g_srScrollRegion.Right = right; - g_srScrollRegion.Bottom = bottom; - -! if (USE_VTP) -! vtp_printf("\033[%d;%dr", top + 1, bottom + 1); - } - - ---- 5979,6008 ---- - g_srScrollRegion.Top = top; - g_srScrollRegion.Right = right; - g_srScrollRegion.Bottom = bottom; -+ } -+ -+ static void -+ set_scroll_region_tb( -+ unsigned top, -+ unsigned bottom) -+ { -+ if (top >= bottom || bottom > (unsigned)Rows - 1) -+ return; - -! g_srScrollRegion.Top = top; -! g_srScrollRegion.Bottom = bottom; -! } -! -! static void -! set_scroll_region_lr( -! unsigned left, -! unsigned right) -! { -! if (left >= right || right > (unsigned)Columns - 1) -! return; -! -! g_srScrollRegion.Left = left; -! g_srScrollRegion.Right = right; - } - - -*************** -*** 5988,6034 **** - static void - insert_lines(unsigned cLines) - { -! SMALL_RECT source; - COORD dest; - CHAR_INFO fill; - -! dest.X = 0; - dest.Y = g_coord.Y + cLines; - -! source.Left = 0; - source.Top = g_coord.Y; - source.Right = g_srScrollRegion.Right; - source.Bottom = g_srScrollRegion.Bottom - cLines; - -! if (!USE_VTP) - { - fill.Char.AsciiChar = ' '; -! fill.Attributes = g_attrCurrent; - -- ScrollConsoleScreenBuffer(g_hConOut, &source, NULL, dest, &fill); -- } -- else -- { - set_console_color_rgb(); - -! gotoxy(1, source.Top + 1); -! vtp_printf("\033[%dT", cLines); - } -! -! /* Here we have to deal with a win32 console flake: If the scroll -! * region looks like abc and we scroll c to a and fill with d we get -! * cbd... if we scroll block c one line at a time to a, we get cdd... -! * vim expects cdd consistently... So we have to deal with that -! * here... (this also occurs scrolling the same way in the other -! * direction). */ - - if (source.Bottom < dest.Y) - { - COORD coord; - -! coord.X = 0; -! coord.Y = source.Bottom; -! clear_chars(coord, Columns * (dest.Y - source.Bottom)); - } - } - ---- 6012,6060 ---- - static void - insert_lines(unsigned cLines) - { -! SMALL_RECT source, clip; - COORD dest; - CHAR_INFO fill; - -! dest.X = g_srScrollRegion.Left; - dest.Y = g_coord.Y + cLines; - -! source.Left = g_srScrollRegion.Left; - source.Top = g_coord.Y; - source.Right = g_srScrollRegion.Right; - source.Bottom = g_srScrollRegion.Bottom - cLines; - -! clip.Left = g_srScrollRegion.Left; -! clip.Top = g_coord.Y; -! clip.Right = g_srScrollRegion.Right; -! clip.Bottom = g_srScrollRegion.Bottom; -! - { - fill.Char.AsciiChar = ' '; -! fill.Attributes = g_attrDefault; - - set_console_color_rgb(); - -! ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill); - } -! // Here we have to deal with a win32 console flake: If the scroll -! // region looks like abc and we scroll c to a and fill with d we get -! // cbd... if we scroll block c one line at a time to a, we get cdd... -! // vim expects cdd consistently... So we have to deal with that -! // here... (this also occurs scrolling the same way in the other -! // direction). - - if (source.Bottom < dest.Y) - { - COORD coord; -+ int i; - -! coord.X = source.Left; -! for (i = clip.Top; i < dest.Y; ++i) -! { -! coord.Y = i; -! clear_chars(coord, source.Right - source.Left + 1); -! } - } - } - -*************** -*** 6039,6088 **** - static void - delete_lines(unsigned cLines) - { -! SMALL_RECT source; - COORD dest; - CHAR_INFO fill; - int nb; - -! dest.X = 0; - dest.Y = g_coord.Y; - -! source.Left = 0; - source.Top = g_coord.Y + cLines; - source.Right = g_srScrollRegion.Right; - source.Bottom = g_srScrollRegion.Bottom; - -! if (!USE_VTP) - { - fill.Char.AsciiChar = ' '; -! fill.Attributes = g_attrCurrent; - -- ScrollConsoleScreenBuffer(g_hConOut, &source, NULL, dest, &fill); -- } -- else -- { - set_console_color_rgb(); - -! gotoxy(1, source.Top + 1); -! vtp_printf("\033[%dS", cLines); - } -! -! /* Here we have to deal with a win32 console flake: If the scroll -! * region looks like abc and we scroll c to a and fill with d we get -! * cbd... if we scroll block c one line at a time to a, we get cdd... -! * vim expects cdd consistently... So we have to deal with that -! * here... (this also occurs scrolling the same way in the other -! * direction). */ - - nb = dest.Y + (source.Bottom - source.Top) + 1; - - if (nb < source.Top) - { - COORD coord; - -! coord.X = 0; -! coord.Y = nb; -! clear_chars(coord, Columns * (source.Top - nb)); - } - } - ---- 6065,6112 ---- - static void - delete_lines(unsigned cLines) - { -! SMALL_RECT source, clip; - COORD dest; - CHAR_INFO fill; - int nb; - -! dest.X = g_srScrollRegion.Left; - dest.Y = g_coord.Y; - -! source.Left = g_srScrollRegion.Left; - source.Top = g_coord.Y + cLines; - source.Right = g_srScrollRegion.Right; - source.Bottom = g_srScrollRegion.Bottom; - -! clip.Left = g_srScrollRegion.Left; -! clip.Top = g_coord.Y; -! clip.Right = g_srScrollRegion.Right; -! clip.Bottom = g_srScrollRegion.Bottom; -! - { - fill.Char.AsciiChar = ' '; -! fill.Attributes = g_attrDefault; - - set_console_color_rgb(); - -! ScrollConsoleScreenBuffer(g_hConOut, &source, &clip, dest, &fill); - } -! // Here we have to deal with a win32 console flake; See insert_lines() -! // above. - - nb = dest.Y + (source.Bottom - source.Top) + 1; - - if (nb < source.Top) - { - COORD coord; -+ int i; - -! coord.X = source.Left; -! for (i = nb; i < clip.Bottom; ++i) -! { -! coord.Y = i; -! clear_chars(coord, source.Right - source.Left + 1); -! } - } - } - -*************** -*** 6508,6513 **** ---- 6532,6545 ---- - { - set_scroll_region(0, arg1 - 1, Columns - 1, arg2 - 1); - } -+ else if (argc == 2 && *p == 'R') -+ { -+ set_scroll_region_tb(arg1, arg2); -+ } -+ else if (argc == 2 && *p == 'V') -+ { -+ set_scroll_region_lr(arg1, arg2); -+ } - else if (argc == 1 && *p == 'A') - { - gotoxy(g_coord.X + 1, -*** ../vim-8.1.0932/src/term.c 2019-02-12 20:46:45.247272511 +0100 ---- src/term.c 2019-02-16 16:46:22.787339791 +0100 -*************** -*** 540,602 **** - * are also translated in os_win32.c. - */ - {(int)KS_NAME, "win32"}, -! {(int)KS_CE, "\033|K"}, /* clear to end of line */ -! {(int)KS_AL, "\033|L"}, /* add new blank line */ - # ifdef TERMINFO -! {(int)KS_CAL, "\033|%p1%dL"}, /* add number of new blank lines */ - # else -! {(int)KS_CAL, "\033|%dL"}, /* add number of new blank lines */ - # endif -! {(int)KS_DL, "\033|M"}, /* delete line */ - # ifdef TERMINFO -! {(int)KS_CDL, "\033|%p1%dM"}, /* delete number of lines */ - # else -! {(int)KS_CDL, "\033|%dM"}, /* delete number of lines */ - # endif -! {(int)KS_CL, "\033|J"}, /* clear screen */ -! {(int)KS_CD, "\033|j"}, /* clear to end of display */ -! {(int)KS_VI, "\033|v"}, /* cursor invisible */ -! {(int)KS_VE, "\033|V"}, /* cursor visible */ -! -! {(int)KS_ME, "\033|0m"}, /* normal */ -! {(int)KS_MR, "\033|112m"}, /* reverse: black on lightgray */ -! {(int)KS_MD, "\033|15m"}, /* bold: white on black */ - #if 1 -! {(int)KS_SO, "\033|31m"}, /* standout: white on blue */ -! {(int)KS_SE, "\033|0m"}, /* standout end */ - #else -! {(int)KS_SO, "\033|F"}, /* standout: high intensity */ -! {(int)KS_SE, "\033|f"}, /* standout end */ - #endif -! {(int)KS_CZH, "\033|225m"}, /* italic: blue text on yellow */ -! {(int)KS_CZR, "\033|0m"}, /* italic end */ -! {(int)KS_US, "\033|67m"}, /* underscore: cyan text on red */ -! {(int)KS_UE, "\033|0m"}, /* underscore end */ -! {(int)KS_CCO, "16"}, /* allow 16 colors */ - # ifdef TERMINFO -! {(int)KS_CAB, "\033|%p1%db"}, /* set background color */ -! {(int)KS_CAF, "\033|%p1%df"}, /* set foreground color */ - # else -! {(int)KS_CAB, "\033|%db"}, /* set background color */ -! {(int)KS_CAF, "\033|%df"}, /* set foreground color */ - # endif - -! {(int)KS_MS, "y"}, /* save to move cur in reverse mode */ - {(int)KS_UT, "y"}, - {(int)KS_XN, "y"}, - {(int)KS_LE, "\b"}, - # ifdef TERMINFO -! {(int)KS_CM, "\033|%i%p1%d;%p2%dH"},/* cursor motion */ - # else -! {(int)KS_CM, "\033|%i%d;%dH"},/* cursor motion */ - # endif -! {(int)KS_VB, "\033|B"}, /* visual bell */ -! {(int)KS_TI, "\033|S"}, /* put terminal in termcap mode */ -! {(int)KS_TE, "\033|E"}, /* out of termcap mode */ - # ifdef TERMINFO -! {(int)KS_CS, "\033|%i%p1%d;%p2%dr"},/* scroll region */ - # else -! {(int)KS_CS, "\033|%i%d;%dr"},/* scroll region */ - # endif - # ifdef FEAT_TERMGUICOLORS - {(int)KS_8F, "\033|38;2;%lu;%lu;%lum"}, ---- 540,604 ---- - * are also translated in os_win32.c. - */ - {(int)KS_NAME, "win32"}, -! {(int)KS_CE, "\033|K"}, // clear to end of line -! {(int)KS_AL, "\033|L"}, // add new blank line - # ifdef TERMINFO -! {(int)KS_CAL, "\033|%p1%dL"}, // add number of new blank lines - # else -! {(int)KS_CAL, "\033|%dL"}, // add number of new blank lines - # endif -! {(int)KS_DL, "\033|M"}, // delete line - # ifdef TERMINFO -! {(int)KS_CDL, "\033|%p1%dM"}, // delete number of lines -! {(int)KS_CSV, "\033|%p1%d;%p2%dV"}, - # else -! {(int)KS_CDL, "\033|%dM"}, // delete number of lines -! {(int)KS_CSV, "\033|%d;%dV"}, - # endif -! {(int)KS_CL, "\033|J"}, // clear screen -! {(int)KS_CD, "\033|j"}, // clear to end of display -! {(int)KS_VI, "\033|v"}, // cursor invisible -! {(int)KS_VE, "\033|V"}, // cursor visible -! -! {(int)KS_ME, "\033|0m"}, // normal -! {(int)KS_MR, "\033|112m"}, // reverse: black on lightgray -! {(int)KS_MD, "\033|15m"}, // bold: white on black - #if 1 -! {(int)KS_SO, "\033|31m"}, // standout: white on blue -! {(int)KS_SE, "\033|0m"}, // standout end - #else -! {(int)KS_SO, "\033|F"}, // standout: high intensity -! {(int)KS_SE, "\033|f"}, // standout end - #endif -! {(int)KS_CZH, "\033|225m"}, // italic: blue text on yellow -! {(int)KS_CZR, "\033|0m"}, // italic end -! {(int)KS_US, "\033|67m"}, // underscore: cyan text on red -! {(int)KS_UE, "\033|0m"}, // underscore end -! {(int)KS_CCO, "16"}, // allow 16 colors - # ifdef TERMINFO -! {(int)KS_CAB, "\033|%p1%db"}, // set background color -! {(int)KS_CAF, "\033|%p1%df"}, // set foreground color - # else -! {(int)KS_CAB, "\033|%db"}, // set background color -! {(int)KS_CAF, "\033|%df"}, // set foreground color - # endif - -! {(int)KS_MS, "y"}, // save to move cur in reverse mode - {(int)KS_UT, "y"}, - {(int)KS_XN, "y"}, - {(int)KS_LE, "\b"}, - # ifdef TERMINFO -! {(int)KS_CM, "\033|%i%p1%d;%p2%dH"}, // cursor motion - # else -! {(int)KS_CM, "\033|%i%d;%dH"}, // cursor motion - # endif -! {(int)KS_VB, "\033|B"}, // visual bell -! {(int)KS_TI, "\033|S"}, // put terminal in termcap mode -! {(int)KS_TE, "\033|E"}, // out of termcap mode - # ifdef TERMINFO -! {(int)KS_CS, "\033|%i%p1%d;%p2%dr"}, // scroll region - # else -! {(int)KS_CS, "\033|%i%d;%dr"}, // scroll region - # endif - # ifdef FEAT_TERMGUICOLORS - {(int)KS_8F, "\033|38;2;%lu;%lu;%lum"}, -*************** -*** 6778,6786 **** ---- 6780,6792 ---- - # ifdef TERMINFO - {(int)KS_CAB, "\033|%p1%db", "\033|%p14%dm"}, // set background color - {(int)KS_CAF, "\033|%p1%df", "\033|%p13%dm"}, // set foreground color -+ {(int)KS_CS, "\033|%p1%d;%p2%dR", "\033|%p1%d;%p2%dR"}, -+ {(int)KS_CSV, "\033|%p1%d;%p2%dV", "\033|%p1%d;%p2%dV"}, - # else - {(int)KS_CAB, "\033|%db", "\033|4%dm"}, // set background color - {(int)KS_CAF, "\033|%df", "\033|3%dm"}, // set foreground color -+ {(int)KS_CS, "\033|%d;%dR", "\033|%d;%dR"}, -+ {(int)KS_CSV, "\033|%d;%dV", "\033|%d;%dV"}, - # endif - {(int)KS_CCO, "256", "256"}, // colors - {(int)KS_NAME} // terminator -*** ../vim-8.1.0932/src/version.c 2019-02-16 15:09:21.225946157 +0100 ---- src/version.c 2019-02-16 16:46:41.599260036 +0100 -*************** -*** 781,782 **** ---- 781,784 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 933, - /**/ - --- -FIRST VILLAGER: We have found a witch. May we burn her? - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// 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 /// |