To: vim_dev@googlegroups.com Subject: Patch 8.2.2352 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.2352 Problem: If the focus lost/gained escape sequence is received twice it is not ignored. (Christ van Willigen) Solution: Adjust the logic to ignore the escape code. Files: src/term.c *** ../vim-8.2.2351/src/term.c 2021-01-14 19:19:14.927885317 +0100 --- src/term.c 2021-01-14 21:55:00.774317036 +0100 *************** *** 5708,5725 **** && key_name[0] == KS_EXTRA ) { ! if (key_name[1] == KE_FOCUSGAINED && !focus_state) { ! ui_focus_change(TRUE); ! did_cursorhold = TRUE; ! focus_state = TRUE; key_name[1] = (int)KE_IGNORE; } ! else if (key_name[1] == KE_FOCUSLOST && focus_state) { ! ui_focus_change(FALSE); ! did_cursorhold = TRUE; ! focus_state = FALSE; key_name[1] = (int)KE_IGNORE; } } --- 5708,5731 ---- && key_name[0] == KS_EXTRA ) { ! if (key_name[1] == KE_FOCUSGAINED) { ! if (!focus_state) ! { ! ui_focus_change(TRUE); ! did_cursorhold = TRUE; ! focus_state = TRUE; ! } key_name[1] = (int)KE_IGNORE; } ! else if (key_name[1] == KE_FOCUSLOST) { ! if (focus_state) ! { ! ui_focus_change(FALSE); ! did_cursorhold = TRUE; ! focus_state = FALSE; ! } key_name[1] = (int)KE_IGNORE; } } *** ../vim-8.2.2351/src/version.c 2021-01-14 21:47:03.171554574 +0100 --- src/version.c 2021-01-14 21:57:41.269897719 +0100 *************** *** 752,753 **** --- 752,755 ---- { /* Add new patch number below this line */ + /**/ + 2352, /**/ -- You are not really successful until someone claims he sat beside you in school. /// 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 ///