diff options
author | Sam Bingner <sam@bingner.com> | 2019-11-15 18:11:36 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2019-11-15 18:11:36 -1000 |
commit | 978d9cd248490cda55c924e66a407bb793aff400 (patch) | |
tree | f14836ff8440840ad821abe8fc86148ec2ea7f5c /data/vim/patches/8.1.1315 | |
parent | bbc833a503b148701c64ed5be79f298b7911e340 (diff) |
Update to vim_8.1.1948 and stop using patches
I mean... 1948...
Diffstat (limited to 'data/vim/patches/8.1.1315')
-rw-r--r-- | data/vim/patches/8.1.1315 | 737 |
1 files changed, 0 insertions, 737 deletions
diff --git a/data/vim/patches/8.1.1315 b/data/vim/patches/8.1.1315 deleted file mode 100644 index c0f637c7f..000000000 --- a/data/vim/patches/8.1.1315 +++ /dev/null @@ -1,737 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.1315 -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.1315 -Problem: There is always a delay if a termrequest is never answered. -Solution: When the response is not received within two seconds consider the - request to have failed. -Files: src/term.c - - -*** ../vim-8.1.1314/src/term.c 2019-05-08 16:40:57.753592725 +0200 ---- src/term.c 2019-05-10 23:05:59.609307792 +0200 -*************** -*** 110,128 **** - # define LOG_TR(msg) do { /**/ } while (0) - # endif - -! # define STATUS_GET 1 /* send request when switching to RAW mode */ -! # define STATUS_SENT 2 /* did send request, waiting for response */ -! # define STATUS_GOT 3 /* received response */ - -! /* Request Terminal Version status: */ -! static int crv_status = STATUS_GET; - -! /* Request Cursor position report: */ -! static int u7_status = STATUS_GET; - - # ifdef FEAT_TERMINAL -! /* Request foreground color report: */ -! static int rfg_status = STATUS_GET; - static int fg_r = 0; - static int fg_g = 0; - static int fg_b = 0; ---- 110,138 ---- - # define LOG_TR(msg) do { /**/ } while (0) - # endif - -! typedef enum { -! STATUS_GET, // send request when switching to RAW mode -! STATUS_SENT, // did send request, checking for response -! STATUS_GOT, // received response -! STATUS_FAIL // timed out -! } request_progress_T; -! -! typedef struct { -! request_progress_T tr_progress; -! time_t tr_start; // when request was sent, -1 for never -! } termrequest_T; - -! # define TERMREQUEST_INIT {STATUS_GET, -1} - -! // Request Terminal Version status: -! static termrequest_T crv_status = TERMREQUEST_INIT; -! -! // Request Cursor position report: -! static termrequest_T u7_status = TERMREQUEST_INIT; - - # ifdef FEAT_TERMINAL -! // Request foreground color report: -! static termrequest_T rfg_status = TERMREQUEST_INIT; - static int fg_r = 0; - static int fg_g = 0; - static int fg_b = 0; -*************** -*** 132,147 **** - # endif - - /* Request background color report: */ -! static int rbg_status = STATUS_GET; - - /* Request cursor blinking mode report: */ -! static int rbm_status = STATUS_GET; - - /* Request cursor style report: */ -! static int rcs_status = STATUS_GET; - - /* Request windos position report: */ -! static int winpos_status = STATUS_GET; - # endif - - /* ---- 142,170 ---- - # endif - - /* Request background color report: */ -! static termrequest_T rbg_status = TERMREQUEST_INIT; - - /* Request cursor blinking mode report: */ -! static termrequest_T rbm_status = TERMREQUEST_INIT; - - /* Request cursor style report: */ -! static termrequest_T rcs_status = TERMREQUEST_INIT; - - /* Request windos position report: */ -! static termrequest_T winpos_status = TERMREQUEST_INIT; -! -! static termrequest_T *all_termrequests[] = { -! &crv_status, -! &u7_status, -! # ifdef FEAT_TERMINAL -! &rfg_status, -! # endif -! &rbg_status, -! &rbm_status, -! &rcs_status, -! &winpos_status, -! NULL -! }; - # endif - - /* -*************** -*** 2011,2017 **** - set_term_defaults(); /* use current values as defaults */ - #ifdef FEAT_TERMRESPONSE - LOG_TR(("setting crv_status to STATUS_GET")); -! crv_status = STATUS_GET; /* Get terminal version later */ - #endif - - /* ---- 2034,2040 ---- - set_term_defaults(); /* use current values as defaults */ - #ifdef FEAT_TERMRESPONSE - LOG_TR(("setting crv_status to STATUS_GET")); -! crv_status.tr_progress = STATUS_GET; // Get terminal version later - #endif - - /* -*************** -*** 2833,2844 **** - { - return cur_tmode == TMODE_RAW - && termcap_active -! # ifdef UNIX - && (is_not_a_term() || (isatty(1) && isatty(read_cmd_fd))) -! # endif - && p_ek; - } - - static int winpos_x = -1; - static int winpos_y = -1; - static int did_request_winpos = 0; ---- 2856,2902 ---- - { - return cur_tmode == TMODE_RAW - && termcap_active -! # ifdef UNIX - && (is_not_a_term() || (isatty(1) && isatty(read_cmd_fd))) -! # endif - && p_ek; - } - -+ /* -+ * Set "status" to STATUS_SENT. -+ */ -+ static void -+ termrequest_sent(termrequest_T *status) -+ { -+ status->tr_progress = STATUS_SENT; -+ status->tr_start = time(NULL); -+ } -+ -+ /* -+ * Return TRUE if any of the requests are in STATUS_SENT. -+ */ -+ static int -+ termrequest_any_pending() -+ { -+ int i; -+ time_t now = time(NULL); -+ -+ for (i = 0; all_termrequests[i] != NULL; ++i) -+ { -+ if (all_termrequests[i]->tr_progress == STATUS_SENT) -+ { -+ if (all_termrequests[i]->tr_start > 0 && now > 0 -+ && all_termrequests[i]->tr_start + 2 < now) -+ // Sent the request more than 2 seconds ago and didn't get a -+ // response, assume it failed. -+ all_termrequests[i]->tr_progress = STATUS_FAIL; -+ else -+ return TRUE; -+ } -+ } -+ return FALSE; -+ } -+ - static int winpos_x = -1; - static int winpos_y = -1; - static int did_request_winpos = 0; -*************** -*** 2860,2866 **** - winpos_x = -1; - winpos_y = -1; - ++did_request_winpos; -! winpos_status = STATUS_SENT; - OUT_STR(T_CGP); - out_flush(); - ---- 2918,2924 ---- - winpos_x = -1; - winpos_y = -1; - ++did_request_winpos; -! termrequest_sent(&winpos_status); - OUT_STR(T_CGP); - out_flush(); - -*************** -*** 3478,3495 **** - if (!gui.in_use && !gui.starting) - # endif - { -! /* May need to check for T_CRV response and termcodes, it -! * doesn't work in Cooked mode, an external program may get -! * them. */ -! if (tmode != TMODE_RAW && (crv_status == STATUS_SENT -! || u7_status == STATUS_SENT -! #ifdef FEAT_TERMINAL -! || rfg_status == STATUS_SENT -! #endif -! || rbg_status == STATUS_SENT -! || rbm_status == STATUS_SENT -! || rcs_status == STATUS_SENT -! || winpos_status == STATUS_SENT)) - (void)vpeekc_nomap(); - check_for_codes_from_term(); - } ---- 3536,3545 ---- - if (!gui.in_use && !gui.starting) - # endif - { -! // May need to check for T_CRV response and termcodes, it -! // doesn't work in Cooked mode, an external program may get -! // them. -! if (tmode != TMODE_RAW && termrequest_any_pending()) - (void)vpeekc_nomap(); - check_for_codes_from_term(); - } -*************** -*** 3540,3546 **** - may_req_termresponse(); - /* Immediately check for a response. If t_Co changes, we don't - * want to redraw with wrong colors first. */ -! if (crv_status == STATUS_SENT) - check_for_codes_from_term(); - } - #endif ---- 3590,3596 ---- - may_req_termresponse(); - /* Immediately check for a response. If t_Co changes, we don't - * want to redraw with wrong colors first. */ -! if (crv_status.tr_progress == STATUS_SENT) - check_for_codes_from_term(); - } - #endif -*************** -*** 3559,3581 **** - if (!gui.in_use && !gui.starting) - # endif - { -! /* May need to discard T_CRV, T_U7 or T_RBG response. */ -! if (crv_status == STATUS_SENT -! || u7_status == STATUS_SENT -! # ifdef FEAT_TERMINAL -! || rfg_status == STATUS_SENT -! # endif -! || rbg_status == STATUS_SENT -! || rbm_status == STATUS_SENT -! || rcs_status == STATUS_SENT -! || winpos_status == STATUS_SENT) - { - # ifdef UNIX -! /* Give the terminal a chance to respond. */ - mch_delay(100L, FALSE); - # endif - # ifdef TCIFLUSH -! /* Discard data received but not read. */ - if (exiting) - tcflush(fileno(stdin), TCIFLUSH); - # endif ---- 3609,3623 ---- - if (!gui.in_use && !gui.starting) - # endif - { -! // May need to discard T_CRV, T_U7 or T_RBG response. -! if (termrequest_any_pending()) - { - # ifdef UNIX -! // Give the terminal a chance to respond. - mch_delay(100L, FALSE); - # endif - # ifdef TCIFLUSH -! // Discard data received but not read. - if (exiting) - tcflush(fileno(stdin), TCIFLUSH); - # endif -*************** -*** 3614,3627 **** - void - may_req_termresponse(void) - { -! if (crv_status == STATUS_GET - && can_get_termresponse() - && starting == 0 - && *T_CRV != NUL) - { - LOG_TR(("Sending CRV request")); - out_str(T_CRV); -! crv_status = STATUS_SENT; - /* check for the characters now, otherwise they might be eaten by - * get_keystroke() */ - out_flush(); ---- 3656,3669 ---- - void - may_req_termresponse(void) - { -! if (crv_status.tr_progress == STATUS_GET - && can_get_termresponse() - && starting == 0 - && *T_CRV != NUL) - { - LOG_TR(("Sending CRV request")); - out_str(T_CRV); -! termrequest_sent(&crv_status); - /* check for the characters now, otherwise they might be eaten by - * get_keystroke() */ - out_flush(); -*************** -*** 3641,3677 **** - void - may_req_ambiguous_char_width(void) - { -! if (u7_status == STATUS_GET - && can_get_termresponse() - && starting == 0 - && *T_U7 != NUL - && !option_was_set((char_u *)"ambiwidth")) - { -! char_u buf[16]; - -! LOG_TR(("Sending U7 request")); -! /* Do this in the second row. In the first row the returned sequence -! * may be CSI 1;2R, which is the same as <S-F3>. */ -! term_windgoto(1, 0); -! buf[mb_char2bytes(0x25bd, buf)] = 0; -! out_str(buf); -! out_str(T_U7); -! u7_status = STATUS_SENT; -! out_flush(); -! -! /* This overwrites a few characters on the screen, a redraw is needed -! * after this. Clear them out for now. */ -! term_windgoto(1, 0); -! out_str((char_u *)" "); -! term_windgoto(0, 0); -! -! /* Need to reset the known cursor position. */ -! screen_start(); -! -! /* check for the characters now, otherwise they might be eaten by -! * get_keystroke() */ -! out_flush(); -! (void)vpeekc_nomap(); - } - } - ---- 3683,3719 ---- - void - may_req_ambiguous_char_width(void) - { -! if (u7_status.tr_progress == STATUS_GET - && can_get_termresponse() - && starting == 0 - && *T_U7 != NUL - && !option_was_set((char_u *)"ambiwidth")) - { -! char_u buf[16]; -! -! LOG_TR(("Sending U7 request")); -! /* Do this in the second row. In the first row the returned sequence -! * may be CSI 1;2R, which is the same as <S-F3>. */ -! term_windgoto(1, 0); -! buf[mb_char2bytes(0x25bd, buf)] = 0; -! out_str(buf); -! out_str(T_U7); -! termrequest_sent(&u7_status); -! out_flush(); -! -! /* This overwrites a few characters on the screen, a redraw is needed -! * after this. Clear them out for now. */ -! term_windgoto(1, 0); -! out_str((char_u *)" "); -! term_windgoto(0, 0); -! -! /* Need to reset the known cursor position. */ -! screen_start(); - -! /* check for the characters now, otherwise they might be eaten by -! * get_keystroke() */ -! out_flush(); -! (void)vpeekc_nomap(); - } - } - -*************** -*** 3688,3708 **** - - # ifdef FEAT_TERMINAL - /* Only request foreground if t_RF is set. */ -! if (rfg_status == STATUS_GET && *T_RFG != NUL) - { - LOG_TR(("Sending FG request")); - out_str(T_RFG); -! rfg_status = STATUS_SENT; - didit = TRUE; - } - # endif - - /* Only request background if t_RB is set. */ -! if (rbg_status == STATUS_GET && *T_RBG != NUL) - { - LOG_TR(("Sending BG request")); - out_str(T_RBG); -! rbg_status = STATUS_SENT; - didit = TRUE; - } - ---- 3730,3750 ---- - - # ifdef FEAT_TERMINAL - /* Only request foreground if t_RF is set. */ -! if (rfg_status.tr_progress == STATUS_GET && *T_RFG != NUL) - { - LOG_TR(("Sending FG request")); - out_str(T_RFG); -! termrequest_sent(&rfg_status); - didit = TRUE; - } - # endif - - /* Only request background if t_RB is set. */ -! if (rbg_status.tr_progress == STATUS_GET && *T_RBG != NUL) - { - LOG_TR(("Sending BG request")); - out_str(T_RBG); -! termrequest_sent(&rbg_status); - didit = TRUE; - } - -*************** -*** 3962,3968 **** - blink_state_is_inverted() - { - #ifdef FEAT_TERMRESPONSE -! return rbm_status == STATUS_GOT && rcs_status == STATUS_GOT - && initial_cursor_blink != initial_cursor_shape_blink; - #else - return FALSE; ---- 4004,4010 ---- - blink_state_is_inverted() - { - #ifdef FEAT_TERMRESPONSE -! return rbm_status.tr_progress == STATUS_GOT && rcs_status.tr_progress == STATUS_GOT - && initial_cursor_blink != initial_cursor_shape_blink; - #else - return FALSE; -*************** -*** 4651,4657 **** - char *aw = NULL; - - LOG_TR(("Received U7 status: %s", tp)); -! u7_status = STATUS_GOT; - did_cursorhold = TRUE; - if (col == 2) - aw = "single"; ---- 4693,4699 ---- - char *aw = NULL; - - LOG_TR(("Received U7 status: %s", tp)); -! u7_status.tr_progress = STATUS_GOT; - did_cursorhold = TRUE; - if (col == 2) - aw = "single"; -*************** -*** 4689,4695 **** - int version = col; - - LOG_TR(("Received CRV response: %s", tp)); -! crv_status = STATUS_GOT; - did_cursorhold = TRUE; - - /* If this code starts with CSI, you can bet that the ---- 4731,4737 ---- - int version = col; - - LOG_TR(("Received CRV response: %s", tp)); -! crv_status.tr_progress = STATUS_GOT; - did_cursorhold = TRUE; - - /* If this code starts with CSI, you can bet that the -*************** -*** 4804,4810 **** - * 279 (otherwise it returns 0x18). - * Not for Terminal.app, it can't handle t_RS, it - * echoes the characters to the screen. */ -! if (rcs_status == STATUS_GET - && version >= 279 - && !is_not_xterm - && *T_CSH != NUL ---- 4846,4852 ---- - * 279 (otherwise it returns 0x18). - * Not for Terminal.app, it can't handle t_RS, it - * echoes the characters to the screen. */ -! if (rcs_status.tr_progress == STATUS_GET - && version >= 279 - && !is_not_xterm - && *T_CSH != NUL -*************** -*** 4812,4831 **** - { - LOG_TR(("Sending cursor style request")); - out_str(T_CRS); -! rcs_status = STATUS_SENT; - need_flush = TRUE; - } - - /* Only request the cursor blink mode if t_RC set. Not - * for Gnome terminal, it can't handle t_RC, it - * echoes the characters to the screen. */ -! if (rbm_status == STATUS_GET - && !is_not_xterm - && *T_CRC != NUL) - { - LOG_TR(("Sending cursor blink mode request")); - out_str(T_CRC); -! rbm_status = STATUS_SENT; - need_flush = TRUE; - } - ---- 4854,4873 ---- - { - LOG_TR(("Sending cursor style request")); - out_str(T_CRS); -! termrequest_sent(&rcs_status); - need_flush = TRUE; - } - - /* Only request the cursor blink mode if t_RC set. Not - * for Gnome terminal, it can't handle t_RC, it - * echoes the characters to the screen. */ -! if (rbm_status.tr_progress == STATUS_GET - && !is_not_xterm - && *T_CRC != NUL) - { - LOG_TR(("Sending cursor blink mode request")); - out_str(T_CRC); -! termrequest_sent(&rbm_status); - need_flush = TRUE; - } - -*************** -*** 4848,4854 **** - * - * {lead} can be <Esc>[ or CSI - */ -! else if (rbm_status == STATUS_SENT - && tp[(j = 1 + (tp[0] == ESC))] == '?' - && i == j + 6 - && tp[j + 1] == '1' ---- 4890,4896 ---- - * - * {lead} can be <Esc>[ or CSI - */ -! else if (rbm_status.tr_progress == STATUS_SENT - && tp[(j = 1 + (tp[0] == ESC))] == '?' - && i == j + 6 - && tp[j + 1] == '1' -*************** -*** 4858,4864 **** - && tp[i] == 'y') - { - initial_cursor_blink = (tp[j + 4] == '1'); -! rbm_status = STATUS_GOT; - LOG_TR(("Received cursor blinking mode response: %s", tp)); - key_name[0] = (int)KS_EXTRA; - key_name[1] = (int)KE_IGNORE; ---- 4900,4906 ---- - && tp[i] == 'y') - { - initial_cursor_blink = (tp[j + 4] == '1'); -! rbm_status.tr_progress = STATUS_GOT; - LOG_TR(("Received cursor blinking mode response: %s", tp)); - key_name[0] = (int)KS_EXTRA; - key_name[1] = (int)KE_IGNORE; -*************** -*** 4896,4902 **** - slen = i + 1; - - if (--did_request_winpos <= 0) -! winpos_status = STATUS_GOT; - } - } - if (i == len) ---- 4938,4944 ---- - slen = i + 1; - - if (--did_request_winpos <= 0) -! winpos_status.tr_progress = STATUS_GOT; - } - } - if (i == len) -*************** -*** 4948,4954 **** - + tp[j+17]) ? "light" : "dark"; - - LOG_TR(("Received RBG response: %s", tp)); -! rbg_status = STATUS_GOT; - # ifdef FEAT_TERMINAL - bg_r = rval; - bg_g = gval; ---- 4990,4996 ---- - + tp[j+17]) ? "light" : "dark"; - - LOG_TR(("Received RBG response: %s", tp)); -! rbg_status.tr_progress = STATUS_GOT; - # ifdef FEAT_TERMINAL - bg_r = rval; - bg_g = gval; -*************** -*** 4968,4974 **** - else - { - LOG_TR(("Received RFG response: %s", tp)); -! rfg_status = STATUS_GOT; - fg_r = rval; - fg_g = gval; - fg_b = bval; ---- 5010,5016 ---- - else - { - LOG_TR(("Received RFG response: %s", tp)); -! rfg_status.tr_progress = STATUS_GOT; - fg_r = rval; - fg_g = gval; - fg_b = bval; -*************** -*** 5008,5014 **** - * - * Consume any code that starts with "{lead}.+r" or "{lead}.$r". - */ -! else if ((check_for_codes || rcs_status == STATUS_SENT) - && ((tp[0] == ESC && len >= 2 && tp[1] == 'P') - || tp[0] == DCS)) - { ---- 5050,5056 ---- - * - * Consume any code that starts with "{lead}.+r" or "{lead}.$r". - */ -! else if ((check_for_codes || rcs_status.tr_progress == STATUS_SENT) - && ((tp[0] == ESC && len >= 2 && tp[1] == 'P') - || tp[0] == DCS)) - { -*************** -*** 5061,5067 **** - * the value set with T_SH. */ - initial_cursor_shape_blink = - (number & 1) ? FALSE : TRUE; -! rcs_status = STATUS_GOT; - LOG_TR(("Received cursor shape response: %s", tp)); - - key_name[0] = (int)KS_EXTRA; ---- 5103,5109 ---- - * the value set with T_SH. */ - initial_cursor_shape_blink = - (number & 1) ? FALSE : TRUE; -! rcs_status.tr_progress = STATUS_GOT; - LOG_TR(("Received cursor shape response: %s", tp)); - - key_name[0] = (int)KS_EXTRA; -*************** -*** 6045,6051 **** - void - term_get_fg_color(char_u *r, char_u *g, char_u *b) - { -! if (rfg_status == STATUS_GOT) - { - *r = fg_r; - *g = fg_g; ---- 6087,6093 ---- - void - term_get_fg_color(char_u *r, char_u *g, char_u *b) - { -! if (rfg_status.tr_progress == STATUS_GOT) - { - *r = fg_r; - *g = fg_g; -*************** -*** 6059,6065 **** - void - term_get_bg_color(char_u *r, char_u *g, char_u *b) - { -! if (rbg_status == STATUS_GOT) - { - *r = bg_r; - *g = bg_g; ---- 6101,6107 ---- - void - term_get_bg_color(char_u *r, char_u *g, char_u *b) - { -! if (rbg_status.tr_progress == STATUS_GOT) - { - *r = bg_r; - *g = bg_g; -*** ../vim-8.1.1314/src/version.c 2019-05-10 21:38:50.037438773 +0200 ---- src/version.c 2019-05-10 23:03:34.393608039 +0200 -*************** -*** 769,770 **** ---- 769,772 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 1315, - /**/ - --- -Wi n0t trei a h0liday in Sweden thi yer? - "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 /// |