To: vim_dev@googlegroups.com Subject: Patch 8.2.3914 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3914 Problem: Various spelling mistakes in comments. Solution: Fix the mistakes. (Dominique Pellé, closes #9416) Files: src/alloc.c, src/blowfish.c, src/buffer.c, src/cindent.c, src/clipboard.c, src/diff.c, src/drawline.c, src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/findfile.c, src/fold.c, src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, src/gui_xmebw.c, src/if_python.c, src/if_python3.c, src/if_xcmdsrv.c, src/main.c, src/memline.c, src/menu.c, src/message.c, src/misc1.c, src/move.c, src/option.c, src/os_amiga.c, src/os_mac.h, src/os_mac_conv.c, src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/os_win32.h, src/quickfix.c, src/regexp_nfa.c, src/screen.c, src/scriptfile.c, src/spell.c, src/spellfile.c, src/spellsuggest.c, src/strings.c, src/term.c, src/terminal.c, src/testdir/test_debugger.vim, src/testdir/test_source.vim, src/textformat.c, src/userfunc.c, src/vim.h, src/vim9.h, src/vim9cmds.c, src/vim9execute.c, src/winclip.c, src/window.c *** ../vim-8.2.3913/src/alloc.c 2021-12-05 11:36:20.187448497 +0000 --- src/alloc.c 2021-12-27 17:12:21.397464257 +0000 *************** *** 236,242 **** // if some blocks are released call malloc again. for (;;) { ! // Handle three kind of systems: // 1. No check for available memory: Just return. // 2. Slow check for available memory: call mch_avail_mem() after // allocating KEEP_ROOM amount of memory. --- 236,242 ---- // if some blocks are released call malloc again. for (;;) { ! // Handle three kinds of systems: // 1. No check for available memory: Just return. // 2. Slow check for available memory: call mch_avail_mem() after // allocating KEEP_ROOM amount of memory. *** ../vim-8.2.3913/src/blowfish.c 2021-06-20 13:01:25.980924619 +0100 --- src/blowfish.c 2021-12-27 17:12:21.397464257 +0000 *************** *** 651,657 **** state->method_state = bfs; // "blowfish" uses a 64 byte buffer, causing it to repeat 8 byte groups 8 ! // times. "blowfish2" uses a 8 byte buffer to avoid repeating. bfs->cfb_len = state->method_nr == CRYPT_M_BF ? BF_MAX_CFB_LEN : BF_BLOCK; if (blowfish_self_test() == FAIL) --- 651,657 ---- state->method_state = bfs; // "blowfish" uses a 64 byte buffer, causing it to repeat 8 byte groups 8 ! // times. "blowfish2" uses an 8 byte buffer to avoid repeating. bfs->cfb_len = state->method_nr == CRYPT_M_BF ? BF_MAX_CFB_LEN : BF_BLOCK; if (blowfish_self_test() == FAIL) *** ../vim-8.2.3913/src/buffer.c 2021-12-16 20:56:52.948098558 +0000 --- src/buffer.c 2021-12-27 17:12:21.397464257 +0000 *************** *** 1823,1829 **** if (curbuf->b_ml.ml_mfp == NULL) // need to load the file { // If there is no filetype, allow for detecting one. Esp. useful for ! // ":ball" used in a autocommand. If there already is a filetype we // might prefer to keep it. if (*curbuf->b_p_ft == NUL) did_filetype = FALSE; --- 1823,1829 ---- if (curbuf->b_ml.ml_mfp == NULL) // need to load the file { // If there is no filetype, allow for detecting one. Esp. useful for ! // ":ball" used in an autocommand. If there already is a filetype we // might prefer to keep it. if (*curbuf->b_p_ft == NUL) did_filetype = FALSE; *************** *** 5031,5037 **** sp->userhl = 0; } ! // When inside update_screen we do not want redrawing a stausline, ruler, // title, etc. to trigger another redraw, it may cause an endless loop. if (updating_screen) { --- 5031,5037 ---- sp->userhl = 0; } ! // When inside update_screen we do not want redrawing a statusline, ruler, // title, etc. to trigger another redraw, it may cause an endless loop. if (updating_screen) { *** ../vim-8.2.3913/src/cindent.c 2021-12-22 20:55:26.309070326 +0000 --- src/cindent.c 2021-12-27 17:12:21.401464247 +0000 *************** *** 1223,1229 **** if (*s == ')' && cin_nocode(s + 1)) { // ')' at the end: may have found a match ! // Check for he previous line not to end in a backslash: // #if defined(x) && {backslash} // defined(y) lnum = first_lnum - 1; --- 1223,1229 ---- if (*s == ')' && cin_nocode(s + 1)) { // ')' at the end: may have found a match ! // Check for the previous line not to end in a backslash: // #if defined(x) && {backslash} // defined(y) lnum = first_lnum - 1; *************** *** 1792,1798 **** buf->b_ind_unclosed2 = sw; // Suppress ignoring spaces from the indent of a line starting with an ! // unclosed parentheses. buf->b_ind_unclosed_noignore = 0; // If the opening paren is the last nonwhite character on the line, and --- 1792,1798 ---- buf->b_ind_unclosed2 = sw; // Suppress ignoring spaces from the indent of a line starting with an ! // unclosed parenthesis. buf->b_ind_unclosed_noignore = 0; // If the opening paren is the last nonwhite character on the line, and *************** *** 1804,1814 **** // an unclosed parenthesis. buf->b_ind_unclosed_whiteok = 0; ! // Indent a closing parentheses under the line start of the matching ! // opening parentheses. buf->b_ind_matching_paren = 0; ! // Indent a closing parentheses under the previous line. buf->b_ind_paren_prev = 0; // Extra indent for comments. --- 1804,1814 ---- // an unclosed parenthesis. buf->b_ind_unclosed_whiteok = 0; ! // Indent a closing parenthesis under the line start of the matching ! // opening parenthesis. buf->b_ind_matching_paren = 0; ! // Indent a closing parenthesis under the previous line. buf->b_ind_paren_prev = 0; // Extra indent for comments. *** ../vim-8.2.3913/src/clipboard.c 2021-10-06 13:41:03.592314063 +0100 --- src/clipboard.c 2021-12-27 17:12:21.401464247 +0000 *************** *** 567,573 **** return; p = ScreenLines + LineOffset[row]; ! // Correct for starting in the right halve of a double-wide char if (enc_dbcs != 0) col -= dbcs_screen_head_off(p, p + col); else if (enc_utf8 && p[col] == 0) --- 567,573 ---- return; p = ScreenLines + LineOffset[row]; ! // Correct for starting in the right half of a double-wide char if (enc_dbcs != 0) col -= dbcs_screen_head_off(p, p + col); else if (enc_utf8 && p[col] == 0) *************** *** 1030,1036 **** if (row2 > clip_star.max_row) row2 = clip_star.max_row; #endif ! // correct starting point for being on right halve of double-wide char p = ScreenLines + LineOffset[row1]; if (enc_dbcs != 0) col1 -= (*mb_head_off)(p, p + col1); --- 1030,1036 ---- if (row2 > clip_star.max_row) row2 = clip_star.max_row; #endif ! // correct starting point for being on right half of double-wide char p = ScreenLines + LineOffset[row1]; if (enc_dbcs != 0) col1 -= (*mb_head_off)(p, p + col1); *************** *** 1140,1146 **** bufp); } } ! // Skip right halve of double-wide character. if (ScreenLines[off + i + 1] == 0) ++i; } --- 1140,1146 ---- bufp); } } ! // Skip right half of double-wide character. if (ScreenLines[off + i + 1] == 0) ++i; } *** ../vim-8.2.3913/src/diff.c 2021-12-16 20:56:52.948098558 +0000 --- src/diff.c 2021-12-27 17:12:21.401464247 +0000 *************** *** 693,703 **** if (wp_other != NULL && curwin->w_p_scb) { if (used_max_fill_curwin) ! // The current window was set to used the maximum number of filler // lines, may need to reduce them. diff_set_topline(wp_other, curwin); else if (used_max_fill_other) ! // The other window was set to used the maximum number of filler // lines, may need to reduce them. diff_set_topline(curwin, wp_other); } --- 693,703 ---- if (wp_other != NULL && curwin->w_p_scb) { if (used_max_fill_curwin) ! // The current window was set to use the maximum number of filler // lines, may need to reduce them. diff_set_topline(wp_other, curwin); else if (used_max_fill_other) ! // The other window was set to use the maximum number of filler // lines, may need to reduce them. diff_set_topline(curwin, wp_other); } *************** *** 1595,1601 **** diff_clear(curtab); } ! // Remove "hor" from from 'scrollopt' if there are no diff windows left. if (!diffwin && vim_strchr(p_sbo, 'h') != NULL) do_cmdline_cmd((char_u *)"set sbo-=hor"); } --- 1595,1601 ---- diff_clear(curtab); } ! // Remove "hor" from 'scrollopt' if there are no diff windows left. if (!diffwin && vim_strchr(p_sbo, 'h') != NULL) do_cmdline_cmd((char_u *)"set sbo-=hor"); } *** ../vim-8.2.3913/src/drawline.c 2021-12-22 19:44:55.474555117 +0000 --- src/drawline.c 2021-12-27 17:12:21.401464247 +0000 *************** *** 2258,2264 **** // Make sure, the highlighting for the tab char will be // correctly set further below (effectively reverts the ! // FIX_FOR_BOGSUCOLS macro if (n_extra == tab_len + vc_saved && wp->w_p_list && wp->w_lcs_chars.tab1) tab_len += vc_saved; --- 2258,2264 ---- // Make sure, the highlighting for the tab char will be // correctly set further below (effectively reverts the ! // FIX_FOR_BOGSUCOLS macro). if (n_extra == tab_len + vc_saved && wp->w_p_list && wp->w_lcs_chars.tab1) tab_len += vc_saved; *************** *** 2938,2944 **** #if defined(FEAT_RIGHTLEFT) if (has_mbyte && wp->w_p_rl && (*mb_char2cells)(mb_c) > 1) { ! // A double-wide character is: put first halve in left cell. --off; --col; } --- 2938,2944 ---- #if defined(FEAT_RIGHTLEFT) if (has_mbyte && wp->w_p_rl && (*mb_char2cells)(mb_c) > 1) { ! // A double-wide character is: put first half in left cell. --off; --col; } *** ../vim-8.2.3913/src/edit.c 2021-12-16 18:02:03.363882332 +0000 --- src/edit.c 2021-12-27 17:12:21.401464247 +0000 *************** *** 1657,1664 **** */ static int pc_status; #define PC_STATUS_UNSET 0 // pc_bytes was not set ! #define PC_STATUS_RIGHT 1 // right halve of double-wide char ! #define PC_STATUS_LEFT 2 // left halve of double-wide char #define PC_STATUS_SET 3 // pc_bytes was filled static char_u pc_bytes[MB_MAXBYTES + 1]; // saved bytes static int pc_attr; --- 1657,1664 ---- */ static int pc_status; #define PC_STATUS_UNSET 0 // pc_bytes was not set ! #define PC_STATUS_RIGHT 1 // right half of double-wide char ! #define PC_STATUS_LEFT 2 // left half of double-wide char #define PC_STATUS_SET 3 // pc_bytes was filled static char_u pc_bytes[MB_MAXBYTES + 1]; // saved bytes static int pc_attr; *** ../vim-8.2.3913/src/ex_cmds.c 2021-12-26 20:20:29.093631230 +0000 --- src/ex_cmds.c 2021-12-27 17:12:21.401464247 +0000 *************** *** 3378,3384 **** // "start" is set to eap->line2+1 unless that position is invalid (when // eap->line2 pointed to the end of the buffer and nothing was appended) // "end" is set to lnum when something has been appended, otherwise ! // it is the same than "start" -- Acevedo if ((cmdmod.cmod_flags & CMOD_LOCKMARKS) == 0) { curbuf->b_op_start.lnum = (eap->line2 < curbuf->b_ml.ml_line_count) ? --- 3378,3384 ---- // "start" is set to eap->line2+1 unless that position is invalid (when // eap->line2 pointed to the end of the buffer and nothing was appended) // "end" is set to lnum when something has been appended, otherwise ! // it is the same as "start" -- Acevedo if ((cmdmod.cmod_flags & CMOD_LOCKMARKS) == 0) { curbuf->b_op_start.lnum = (eap->line2 < curbuf->b_ml.ml_line_count) ? *** ../vim-8.2.3913/src/ex_docmd.c 2021-12-15 17:53:36.360946452 +0000 --- src/ex_docmd.c 2021-12-27 17:12:21.401464247 +0000 *************** *** 3744,3750 **** break; } ! // Not not recognize ":*" as the star command unless '*' is in // 'cpoptions'. if (eap->cmdidx == CMD_star && vim_strchr(p_cpo, CPO_STAR) == NULL) p = eap->cmd; --- 3744,3750 ---- break; } ! // Do not recognize ":*" as the star command unless '*' is in // 'cpoptions'. if (eap->cmdidx == CMD_star && vim_strchr(p_cpo, CPO_STAR) == NULL) p = eap->cmd; *************** *** 6977,6983 **** || eap->cmdidx == CMD_tabedit || eap->cmdidx == CMD_vnew) && *eap->arg == NUL) { ! // ":new" or ":tabnew" without argument: edit an new empty buffer setpcmark(); (void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE, ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0), --- 6977,6983 ---- || eap->cmdidx == CMD_tabedit || eap->cmdidx == CMD_vnew) && *eap->arg == NUL) { ! // ":new" or ":tabnew" without argument: edit a new empty buffer setpcmark(); (void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE, ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0), *** ../vim-8.2.3913/src/findfile.c 2021-12-16 13:06:06.958019734 +0000 --- src/findfile.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 749,755 **** // downward search loop for (;;) { ! // check if user user wants to stop the search ui_breakcheck(); if (got_int) break; --- 749,755 ---- // downward search loop for (;;) { ! // check if user wants to stop the search ui_breakcheck(); if (got_int) break; *************** *** 1376,1382 **** int url = FALSE; #endif ! // For an URL we only compare the name, otherwise we compare the // device/inode (unix) or the full path name (not Unix). if (path_with_url(fname)) { --- 1376,1382 ---- int url = FALSE; #endif ! // For a URL we only compare the name, otherwise we compare the // device/inode (unix) or the full path name (not Unix). if (path_with_url(fname)) { *** ../vim-8.2.3913/src/fold.c 2021-11-24 15:13:21.752710735 +0000 --- src/fold.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 2513,2519 **** */ while (!got_int) { ! // set concat to 1 if it's allowed to concatenated this fold // with a previous one that touches it. if (flp->start != 0 || flp->had_end <= MAX_LEVEL) concat = 0; --- 2513,2519 ---- */ while (!got_int) { ! // set concat to 1 if it's allowed to concatenate this fold // with a previous one that touches it. if (flp->start != 0 || flp->had_end <= MAX_LEVEL) concat = 0; *** ../vim-8.2.3913/src/getchar.c 2021-12-16 14:45:09.361563197 +0000 --- src/getchar.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 76,82 **** // typebuf.tb_buf has three parts: room in front (for result of mappings), the // middle for typeahead and room for new characters (which needs to be 3 * ! // MAXMAPLEN) for the Amiga). #define TYPELEN_INIT (5 * (MAXMAPLEN + 3)) static char_u typebuf_init[TYPELEN_INIT]; // initial typebuf.tb_buf static char_u noremapbuf_init[TYPELEN_INIT]; // initial typebuf.tb_noremap --- 76,82 ---- // typebuf.tb_buf has three parts: room in front (for result of mappings), the // middle for typeahead and room for new characters (which needs to be 3 * ! // MAXMAPLEN for the Amiga). #define TYPELEN_INIT (5 * (MAXMAPLEN + 3)) static char_u typebuf_init[TYPELEN_INIT]; // initial typebuf.tb_buf static char_u noremapbuf_init[TYPELEN_INIT]; // initial typebuf.tb_noremap *************** *** 941,947 **** * * If noremap is REMAP_YES, new string can be mapped again. * If noremap is REMAP_NONE, new string cannot be mapped again. ! * If noremap is REMAP_SKIP, fist char of new string cannot be mapped again, * but abbreviations are allowed. * If noremap is REMAP_SCRIPT, new string cannot be mapped again, except for * script-local mappings. --- 941,947 ---- * * If noremap is REMAP_YES, new string can be mapped again. * If noremap is REMAP_NONE, new string cannot be mapped again. ! * If noremap is REMAP_SKIP, first char of new string cannot be mapped again, * but abbreviations are allowed. * If noremap is REMAP_SCRIPT, new string cannot be mapped again, except for * script-local mappings. *************** *** 3457,3463 **** inchar( char_u *buf, int maxlen, ! long wait_time) // milli seconds { int len = 0; // init for GCC int retesc = FALSE; // return ESC with gotint --- 3457,3463 ---- inchar( char_u *buf, int maxlen, ! long wait_time) // milliseconds { int len = 0; // init for GCC int retesc = FALSE; // return ESC with gotint *** ../vim-8.2.3913/src/gui.c 2021-11-29 20:39:06.674101624 +0000 --- src/gui.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 490,496 **** static int recursive = 0; /* ! * It's possible to use ":gui" in a .gvimrc file. The first halve of this * function will then be executed at the first call, the rest by the * recursive call. This allow the shell to be opened halfway reading a * gvimrc file. --- 490,496 ---- static int recursive = 0; /* ! * It's possible to use ":gui" in a .gvimrc file. The first half of this * function will then be executed at the first call, the rest by the * recursive call. This allow the shell to be opened halfway reading a * gvimrc file. *************** *** 1371,1380 **** #ifdef FEAT_RIGHTLEFT if (CURSOR_BAR_RIGHT) { ! // gui.col points to the left halve of the character but ! // the vertical line needs to be on the right halve. // A double-wide horizontal line is also drawn from the ! // right halve in gui_mch_draw_part_cursor(). col_off = TRUE; ++gui.col; } --- 1371,1380 ---- #ifdef FEAT_RIGHTLEFT if (CURSOR_BAR_RIGHT) { ! // gui.col points to the left half of the character but ! // the vertical line needs to be on the right half. // A double-wide horizontal line is also drawn from the ! // right half in gui_mch_draw_part_cursor(). col_off = TRUE; ++gui.col; } *************** *** 2188,2194 **** { char_u buf[MB_MAXBYTES + 1]; ! // Don't draw right halve of a double-width UTF-8 char. "cannot happen" if (enc_utf8 && ScreenLines[off] == 0) return OK; --- 2188,2194 ---- { char_u buf[MB_MAXBYTES + 1]; ! // Don't draw right half of a double-width UTF-8 char. "cannot happen" if (enc_utf8 && ScreenLines[off] == 0) return OK; *************** *** 3074,3080 **** gui_inchar( char_u *buf, int maxlen, ! long wtime, // milli seconds int tb_change_cnt) { return gui_wait_for_chars_buf(buf, maxlen, wtime, tb_change_cnt); --- 3074,3080 ---- gui_inchar( char_u *buf, int maxlen, ! long wtime, // milliseconds int tb_change_cnt) { return gui_wait_for_chars_buf(buf, maxlen, wtime, tb_change_cnt); *************** *** 3277,3283 **** * selection. But if Visual is active, assume that only the Visual area * will be selected. * Exception: On the command line, both the selection is used and a mouse ! * key is send. */ if (!mouse_has(checkfor) || checkfor == MOUSE_COMMAND) { --- 3277,3283 ---- * selection. But if Visual is active, assume that only the Visual area * will be selected. * Exception: On the command line, both the selection is used and a mouse ! * key is sent. */ if (!mouse_has(checkfor) || checkfor == MOUSE_COMMAND) { *************** *** 5376,5382 **** // When the screen is being updated we should not change buffers and // windows structures, it may cause freed memory to be used. Also don't ! // do this recursively (pressing "Find" quickly several times. if (updating_screen || busy) return FALSE; --- 5376,5382 ---- // When the screen is being updated we should not change buffers and // windows structures, it may cause freed memory to be used. Also don't ! // do this recursively (pressing "Find" quickly several times). if (updating_screen || busy) return FALSE; *** ../vim-8.2.3913/src/gui_athena.c 2021-06-02 12:28:11.427120469 +0100 --- src/gui_athena.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 216,222 **** else if (value < 0) value = 0; ! // Update the bottom scrollbar an extra time (why is this needed?? if (sb->wp == NULL) // Bottom scrollbar gui_mch_set_scrollbar_thumb(sb, value, sb->size, sb->max); --- 216,222 ---- else if (value < 0) value = 0; ! // Update the bottom scrollbar an extra time (why is this needed??) if (sb->wp == NULL) // Bottom scrollbar gui_mch_set_scrollbar_thumb(sb, value, sb->size, sb->max); *** ../vim-8.2.3913/src/gui_gtk.c 2021-10-19 14:21:59.203301227 +0100 --- src/gui_gtk.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 2242,2248 **** gtk_window_present(GTK_WINDOW(frdp->dialog)); // For :promptfind dialog, always give keyboard focus to 'what' entry. ! // For :promptrepl dialog, give it to 'with' entry if 'what' has an // non-empty entry; otherwise, to 'what' entry. gtk_widget_grab_focus(frdp->what); if (do_replace && entry_get_text_length(GTK_ENTRY(frdp->what)) > 0) --- 2242,2248 ---- gtk_window_present(GTK_WINDOW(frdp->dialog)); // For :promptfind dialog, always give keyboard focus to 'what' entry. ! // For :promptrepl dialog, give it to 'with' entry if 'what' has a // non-empty entry; otherwise, to 'what' entry. gtk_widget_grab_focus(frdp->what); if (do_replace && entry_get_text_length(GTK_ENTRY(frdp->what)) > 0) *** ../vim-8.2.3913/src/gui_motif.c 2021-12-16 14:45:09.365563190 +0000 --- src/gui_motif.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 2768,2774 **** // Create the dialog message. // Since LessTif is apparently having problems with the creation of // properly localized string, we use LtoR here. The symptom is that the ! // string sill not show properly in multiple lines as it does in native // Motif. label = XmStringCreateLtoR((char *)message, STRING_TAG); if (label == NULL) --- 2768,2774 ---- // Create the dialog message. // Since LessTif is apparently having problems with the creation of // properly localized string, we use LtoR here. The symptom is that the ! // string is not shown properly in multiple lines as it does in native // Motif. label = XmStringCreateLtoR((char *)message, STRING_TAG); if (label == NULL) *** ../vim-8.2.3913/src/gui_photon.c 2021-06-02 12:28:11.431120460 +0100 --- src/gui_photon.c 2021-12-27 17:12:21.405464240 +0000 *************** *** 487,493 **** if (key->key_cap >= Pk_KP_Enter && key->key_cap <= Pk_KP_9 && (key->key_mods & Pk_KM_Num_Lock)) { ! // FIXME: For now, just map the key to a ascii value // (see ) ch = key->key_cap - 0xf080; } --- 487,493 ---- if (key->key_cap >= Pk_KP_Enter && key->key_cap <= Pk_KP_9 && (key->key_mods & Pk_KM_Num_Lock)) { ! // FIXME: For now, just map the key to an ascii value // (see ) ch = key->key_cap - 0xf080; } *** ../vim-8.2.3913/src/gui_w32.c 2021-06-05 15:25:29.189758206 +0100 --- src/gui_w32.c 2021-12-27 17:17:15.232924027 +0000 *************** *** 3041,3047 **** if (!is_window_onscreen(s_hwnd)) return SW_INVALIDATE; ! // Check if there is an window (partly) on top of us. GetWindowRect(s_hwnd, &rcVim); for (hwnd = s_hwnd; (hwnd = GetWindow(hwnd, GW_HWNDPREV)) != (HWND)0; ) if (IsWindowVisible(hwnd)) --- 3041,3047 ---- if (!is_window_onscreen(s_hwnd)) return SW_INVALIDATE; ! // Check if there is a window (partly) on top of us. GetWindowRect(s_hwnd, &rcVim); for (hwnd = s_hwnd; (hwnd = GetWindow(hwnd, GW_HWNDPREV)) != (HWND)0; ) if (IsWindowVisible(hwnd)) *************** *** 5740,5746 **** if (!pImmGetContext) return NULL; // no imm32.dll ! // Try Unicode; this'll always work on NT regardless of codepage. ret = pImmGetCompositionStringW(hIMC, GCS, NULL, 0); if (ret == 0) return NULL; // empty --- 5740,5746 ---- if (!pImmGetContext) return NULL; // no imm32.dll ! // Try Unicode; this will always work on NT regardless of codepage. ret = pImmGetCompositionStringW(hIMC, GCS, NULL, 0); if (ret == 0) return NULL; // empty *************** *** 5757,5763 **** return (short_u *)wbuf; } ! // ret < 0; we got an error, so try the ANSI version. This'll work // on 9x/ME, but only if the codepage happens to be set to whatever // we're inputting. ret = pImmGetCompositionStringA(hIMC, GCS, NULL, 0); --- 5757,5763 ---- return (short_u *)wbuf; } ! // ret < 0; we got an error, so try the ANSI version. This will work // on 9x/ME, but only if the codepage happens to be set to whatever // we're inputting. ret = pImmGetCompositionStringA(hIMC, GCS, NULL, 0); *************** *** 7390,7397 **** *p++ = 0; // advance pointer over nExtraStuff WORD - 2 more ! return p; //total = 15+ (strlen(caption)) words ! // = 30 + 2(strlen(caption) bytes reqd } --- 7390,7397 ---- *p++ = 0; // advance pointer over nExtraStuff WORD - 2 more ! return p; // total = 15 + strlen(caption) words ! // bytes read = 2 * total } *** ../vim-8.2.3913/src/gui_xmebw.c 2021-06-02 12:28:11.431120460 +0100 --- src/gui_xmebw.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 970,976 **** } else { ! // FIXME: We should calculate an drawing offset for the pixmap here to // adjust it. } --- 970,976 ---- } else { ! // FIXME: We should calculate a drawing offset for the pixmap here to // adjust it. } *** ../vim-8.2.3913/src/if_python.c 2021-07-24 12:57:25.477296535 +0100 --- src/if_python.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 674,680 **** # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3) // Can't have Python and Python3 loaded at the same time. ! // It cause a crash, because RTLD_GLOBAL is needed for // standard C extension libraries of one or both python versions. if (python3_loaded()) { --- 674,680 ---- # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3) // Can't have Python and Python3 loaded at the same time. ! // It causes a crash, because RTLD_GLOBAL is needed for // standard C extension libraries of one or both python versions. if (python3_loaded()) { *************** *** 1461,1467 **** PyInt len = strlen(str); char *p; ! // Allocate an Python string object, with uninitialised contents. We // must do it this way, so that we can modify the string in place // later. See the Python source, Objects/stringobject.c for details. result = PyString_FromStringAndSize(NULL, len); --- 1461,1467 ---- PyInt len = strlen(str); char *p; ! // Allocate a Python string object, with uninitialised contents. We // must do it this way, so that we can modify the string in place // later. See the Python source, Objects/stringobject.c for details. result = PyString_FromStringAndSize(NULL, len); *** ../vim-8.2.3913/src/if_python3.c 2021-07-24 12:57:25.481296527 +0100 --- src/if_python3.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 766,772 **** # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON) // Can't have Python and Python3 loaded at the same time. ! // It cause a crash, because RTLD_GLOBAL is needed for // standard C extension libraries of one or both python versions. if (python_loaded()) { --- 766,772 ---- # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON) // Can't have Python and Python3 loaded at the same time. ! // It causes a crash, because RTLD_GLOBAL is needed for // standard C extension libraries of one or both python versions. if (python_loaded()) { *** ../vim-8.2.3913/src/if_xcmdsrv.c 2021-11-29 20:39:06.674101624 +0000 --- src/if_xcmdsrv.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 345,351 **** DeleteAnyLingerer(dpy, newwin); if (serverName != NULL) { ! // Reinsert name if we was already registered (void)LookupName(dpy, serverName, /*delete=*/TRUE, NULL); sprintf((char *)propInfo, "%x %.*s", (int_u)newwin, MAX_NAME_LENGTH, serverName); --- 345,351 ---- DeleteAnyLingerer(dpy, newwin); if (serverName != NULL) { ! // Reinsert name if it was already registered (void)LookupName(dpy, serverName, /*delete=*/TRUE, NULL); sprintf((char *)propInfo, "%x %.*s", (int_u)newwin, MAX_NAME_LENGTH, serverName); *** ../vim-8.2.3913/src/main.c 2021-12-24 11:57:03.182508536 +0000 --- src/main.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 247,253 **** mch_dirname(start_dir, MAXPATHL); // Temporarily add '(' and ')' to 'isfname'. These are valid // filename characters but are excluded from 'isfname' to make ! // "gf" work on a file name in parenthesis (e.g.: see vim.h). do_cmdline_cmd((char_u *)":set isf+=(,)"); alist_expand(NULL, 0); do_cmdline_cmd((char_u *)":set isf&"); --- 247,253 ---- mch_dirname(start_dir, MAXPATHL); // Temporarily add '(' and ')' to 'isfname'. These are valid // filename characters but are excluded from 'isfname' to make ! // "gf" work on a file name in parentheses (e.g.: see vim.h). do_cmdline_cmd((char_u *)":set isf+=(,)"); alist_expand(NULL, 0); do_cmdline_cmd((char_u *)":set isf&"); *** ../vim-8.2.3913/src/memline.c 2021-11-25 13:52:33.215676364 +0000 --- src/memline.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 4718,4724 **** * MSDOS compatible filesystem, it is possible that the file * "test.doc.swp" which we create will be exactly the same file. To avoid * this problem we temporarily create "test.doc". Don't do this when the ! * check below for a 8.3 file name is used. */ if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL && mch_getperm(buf_fname) < 0) --- 4718,4724 ---- * MSDOS compatible filesystem, it is possible that the file * "test.doc.swp" which we create will be exactly the same file. To avoid * this problem we temporarily create "test.doc". Don't do this when the ! * check below for an 8.3 file name is used. */ if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL && mch_getperm(buf_fname) < 0) *** ../vim-8.2.3913/src/menu.c 2021-09-30 18:59:55.938522918 +0100 --- src/menu.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 582,588 **** goto erret; } ! // Not already there, so lets add it menu = ALLOC_CLEAR_ONE(vimmenu_T); if (menu == NULL) goto erret; --- 582,588 ---- goto erret; } ! // Not already there, so let's add it menu = ALLOC_CLEAR_ONE(vimmenu_T); if (menu == NULL) goto erret; *************** *** 997,1003 **** // Recalculate modes for menu based on the new updated children menu->modes &= ~modes; #if defined(FEAT_GUI_MSWIN) & defined(FEAT_TEAROFF) ! if ((s_tearoffs) && (menu->children != NULL)) // there's a tear bar.. child = menu->children->next; // don't count tearoff bar else #endif --- 997,1003 ---- // Recalculate modes for menu based on the new updated children menu->modes &= ~modes; #if defined(FEAT_GUI_MSWIN) & defined(FEAT_TEAROFF) ! if ((s_tearoffs) && (menu->children != NULL)) // there's a tear bar. child = menu->children->next; // don't count tearoff bar else #endif *************** *** 1018,1024 **** { // The menu item is no longer valid in ANY mode, so delete it #if defined(FEAT_GUI_MSWIN) & defined(FEAT_TEAROFF) ! if (s_tearoffs && menu->children != NULL) // there's a tear bar.. free_menu(&menu->children); #endif *menup = menu; --- 1018,1024 ---- { // The menu item is no longer valid in ANY mode, so delete it #if defined(FEAT_GUI_MSWIN) & defined(FEAT_TEAROFF) ! if (s_tearoffs && menu->children != NULL) // there's a tear bar. free_menu(&menu->children); #endif *menup = menu; *** ../vim-8.2.3913/src/message.c 2021-11-25 14:43:14.902684079 +0000 --- src/message.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 1363,1369 **** { int save_p_more = p_more; ! p_more = FALSE; // don't want see this message when scrolling back if (msg_didout) // start on a new line msg_putchar('\n'); if (got_int) --- 1363,1369 ---- { int save_p_more = p_more; ! p_more = FALSE; // don't want to see this message when scrolling back if (msg_didout) // start on a new line msg_putchar('\n'); if (got_int) *** ../vim-8.2.3913/src/misc1.c 2021-12-05 22:19:22.832153464 +0000 --- src/misc1.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 371,377 **** return 1; #ifdef FEAT_FOLDING ! // A folded lines is handled just like an empty line. // NOTE: Caller must handle lines that are MAYBE folded. if (lineFolded(wp, lnum) == TRUE) return 1; --- 371,377 ---- return 1; #ifdef FEAT_FOLDING ! // Folded lines are handled just like an empty line. // NOTE: Caller must handle lines that are MAYBE folded. if (lineFolded(wp, lnum) == TRUE) return 1; *** ../vim-8.2.3913/src/move.c 2021-10-25 17:07:00.308768588 +0100 --- src/move.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 1152,1158 **** } else if (extra == 1) { ! // less then 'scrolloff' lines above, decrease skipcol extra = (curwin->w_skipcol + so * width - curwin->w_virtcol + width - 1) / width; if (extra > 0) --- 1152,1158 ---- } else if (extra == 1) { ! // less than 'scrolloff' lines above, decrease skipcol extra = (curwin->w_skipcol + so * width - curwin->w_virtcol + width - 1) / width; if (extra > 0) *************** *** 1164,1170 **** } else if (extra == 2) { ! // less then 'scrolloff' lines below, increase skipcol endcol = (n - curwin->w_height + 1) * width; while (endcol > curwin->w_virtcol) endcol -= width; --- 1164,1170 ---- } else if (extra == 2) { ! // less than 'scrolloff' lines below, increase skipcol endcol = (n - curwin->w_height + 1) * width; while (endcol > curwin->w_virtcol) endcol -= width; *** ../vim-8.2.3913/src/option.c 2021-12-24 20:47:34.748104242 +0000 --- src/option.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 1774,1780 **** else if ((char_u **)varp == &p_fencs && enc_utf8) newval = fencs_utf8_default; ! // expand environment variables and ~ (since the // default value was already expanded, only // required when an environment variable was set // later --- 1774,1780 ---- else if ((char_u **)varp == &p_fencs && enc_utf8) newval = fencs_utf8_default; ! // expand environment variables and ~ since the // default value was already expanded, only // required when an environment variable was set // later *************** *** 3139,3145 **** } } ! // Arabic requires a utf-8 encoding, inform the user if its not // set. if (STRCMP(p_enc, "utf-8") != 0) { --- 3139,3145 ---- } } ! // Arabic requires a utf-8 encoding, inform the user if it's not // set. if (STRCMP(p_enc, "utf-8") != 0) { *** ../vim-8.2.3913/src/os_amiga.c 2021-11-29 20:39:06.678101624 +0000 --- src/os_amiga.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 153,159 **** mch_inchar( char_u *buf, int maxlen, ! long time, // milli seconds int tb_change_cnt) { int len; --- 153,159 ---- mch_inchar( char_u *buf, int maxlen, ! long time, // milliseconds int tb_change_cnt) { int len; *** ../vim-8.2.3913/src/os_mac.h 2020-08-11 20:58:12.585968185 +0100 --- src/os_mac.h 2021-12-27 17:12:21.409464233 +0000 *************** *** 7,13 **** */ // Before Including the MacOS specific files, ! // lets set the OPAQUE_TOOLBOX_STRUCTS to 0 so we // can access the internal structures. // (Until fully Carbon compliant) // TODO: Can we remove this? (Dany) --- 7,13 ---- */ // Before Including the MacOS specific files, ! // let's set the OPAQUE_TOOLBOX_STRUCTS to 0 so we // can access the internal structures. // (Until fully Carbon compliant) // TODO: Can we remove this? (Dany) *** ../vim-8.2.3913/src/os_mac_conv.c 2020-09-27 15:03:11.504543029 +0100 --- src/os_mac_conv.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 258,264 **** kCFStringEncodingMacRoman, 0, // no lossy conversion 0, // not external representation (since vim ! // handles this internally to, maxtolen, &l)) { CFRelease(cfstr); --- 258,264 ---- kCFStringEncodingMacRoman, 0, // no lossy conversion 0, // not external representation (since vim ! // handles this internally) to, maxtolen, &l)) { CFRelease(cfstr); *** ../vim-8.2.3913/src/os_mswin.c 2021-12-16 13:06:06.958019734 +0000 --- src/os_mswin.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 1907,1913 **** # define VIM_CLASSNAME "VIM_MESSAGES" # define VIM_CLASSNAME_LEN (sizeof(VIM_CLASSNAME) - 1) ! // Communication is via WM_COPYDATA messages. The message type is send in // the dwData parameter. Types are defined here. # define COPYDATA_KEYS 0 # define COPYDATA_REPLY 1 --- 1907,1913 ---- # define VIM_CLASSNAME "VIM_MESSAGES" # define VIM_CLASSNAME_LEN (sizeof(VIM_CLASSNAME) - 1) ! // Communication is via WM_COPYDATA messages. The message type is sent in // the dwData parameter. Types are defined here. # define COPYDATA_KEYS 0 # define COPYDATA_REPLY 1 *************** *** 2375,2381 **** return sendToLocalVim(cmd, asExpr, result); // If the server name does not end in a digit then we look for an ! // alternate name. e.g. when "name" is GVIM the we may find GVIM2. if (STRLEN(name) > 1 && !vim_isdigit(name[STRLEN(name) - 1])) altname_buf_ptr = altname_buf; altname_buf[0] = NUL; --- 2375,2381 ---- return sendToLocalVim(cmd, asExpr, result); // If the server name does not end in a digit then we look for an ! // alternate name. e.g. when "name" is GVIM then we may find GVIM2. if (STRLEN(name) > 1 && !vim_isdigit(name[STRLEN(name) - 1])) altname_buf_ptr = altname_buf; altname_buf[0] = NUL; *** ../vim-8.2.3913/src/os_unix.c 2021-12-09 21:07:07.600331923 +0000 --- src/os_unix.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 3165,3171 **** // Therefore, this check does not have any sense - let keep us to the // conventions instead: // *.COM and *.EXE files are the executables - the rest are not. This is ! // not ideal but better then it was. int vms_executable = 0; if (S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0) { --- 3165,3171 ---- // Therefore, this check does not have any sense - let keep us to the // conventions instead: // *.COM and *.EXE files are the executables - the rest are not. This is ! // not ideal but better than it was. int vms_executable = 0; if (S_ISREG(st.st_mode) && mch_access((char *)name, X_OK) == 0) { *** ../vim-8.2.3913/src/os_win32.c 2021-11-29 20:39:06.682101619 +0000 --- src/os_win32.c 2021-12-27 17:12:21.409464233 +0000 *************** *** 2187,2193 **** } } ! // Prepend single "." to pathext, it's means no extension added. if (pathext == NULL) pathext = (char_u *)"."; else if (noext == TRUE) --- 2187,2193 ---- } } ! // Prepend single "." to pathext, it means no extension added. if (pathext == NULL) pathext = (char_u *)"."; else if (noext == TRUE) *************** *** 7750,7756 **** // Now expand wildcards in the arguments. // Temporarily add '(' and ')' to 'isfname'. These are valid // filename characters but are excluded from 'isfname' to make ! // "gf" work on a file name in parenthesis (e.g.: see vim.h). // Also, unset wildignore to not be influenced by this option. // The arguments specified in command-line should be kept even if // encoding options were changed. --- 7750,7756 ---- // Now expand wildcards in the arguments. // Temporarily add '(' and ')' to 'isfname'. These are valid // filename characters but are excluded from 'isfname' to make ! // "gf" work on a file name in parentheses (e.g.: see vim.h). // Also, unset wildignore to not be influenced by this option. // The arguments specified in command-line should be kept even if // encoding options were changed. *** ../vim-8.2.3913/src/os_win32.h 2020-02-11 22:01:35.755291962 +0000 --- src/os_win32.h 2021-12-27 17:12:21.409464233 +0000 *************** *** 71,77 **** #define HAVE_PUTENV // at least Bcc 5.2 and MSC have it #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL) ! # define NO_CONSOLE // don't included console-only code #endif // toupper() is not really broken, but it's very slow. Probably because of --- 71,77 ---- #define HAVE_PUTENV // at least Bcc 5.2 and MSC have it #if defined(FEAT_GUI_MSWIN) && !defined(VIMDLL) ! # define NO_CONSOLE // don't include console-only code #endif // toupper() is not really broken, but it's very slow. Probably because of *** ../vim-8.2.3913/src/quickfix.c 2021-12-16 20:56:52.952098567 +0000 --- src/quickfix.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 4537,4543 **** int len; buf_T *errbuf; ! // If the 'quickfixtextfunc' function returned an non-empty custom string // for this entry, then use it. if (qftf_str != NULL && *qftf_str != NUL) vim_strncpy(IObuff, qftf_str, IOSIZE - 1); --- 4537,4543 ---- int len; buf_T *errbuf; ! // If the 'quickfixtextfunc' function returned a non-empty custom string // for this entry, then use it. if (qftf_str != NULL && *qftf_str != NUL) vim_strncpy(IObuff, qftf_str, IOSIZE - 1); *** ../vim-8.2.3913/src/regexp_nfa.c 2021-12-19 19:19:27.818424761 +0000 --- src/regexp_nfa.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 2334,2340 **** // will emit NFA_STAR. // Bail out if we can use the other engine, but only, when the // pattern does not need the NFA engine like (e.g. [[:upper:]]\{2,\} ! // does not work with with characters > 8 bit with the BT engine) if ((nfa_re_flags & RE_AUTO) && (maxval > 500 || maxval > minval + 200) && (maxval != MAX_LIMIT && minval < 200) --- 2334,2340 ---- // will emit NFA_STAR. // Bail out if we can use the other engine, but only, when the // pattern does not need the NFA engine like (e.g. [[:upper:]]\{2,\} ! // does not work with characters > 8 bit with the BT engine) if ((nfa_re_flags & RE_AUTO) && (maxval > 500 || maxval > minval + 200) && (maxval != MAX_LIMIT && minval < 200) *************** *** 4972,4978 **** // First add the state(s) at the end, so that we know how many there are. // Pass the listidx as offset (avoids adding another argument to ! // addstate(). r = addstate(l, state, subs, pim, -listidx - ADDSTATE_HERE_OFFSET); if (r == NULL) return NULL; --- 4972,4978 ---- // First add the state(s) at the end, so that we know how many there are. // Pass the listidx as offset (avoids adding another argument to ! // addstate()). r = addstate(l, state, subs, pim, -listidx - ADDSTATE_HERE_OFFSET); if (r == NULL) return NULL; *** ../vim-8.2.3913/src/screen.c 2021-12-18 15:32:38.064496744 +0000 --- src/screen.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 614,622 **** } // When writing a single-width character over a double-width // character and at the end of the redrawn text, need to clear out ! // the right halve of the old character. ! // Also required when writing the right halve of a double-width ! // char over the left halve of an existing one. if (has_mbyte && col + char_cells == endcol && ((char_cells == 1 && (*mb_off2cells)(off_to, max_off_to) > 1) --- 614,622 ---- } // When writing a single-width character over a double-width // character and at the end of the redrawn text, need to clear out ! // the right half of the old character. ! // Also required when writing the right half of a double-width ! // char over the left half of an existing one. if (has_mbyte && col + char_cells == endcol && ((char_cells == 1 && (*mb_off2cells)(off_to, max_off_to) > 1) *************** *** 1524,1531 **** return; off = LineOffset[row] + col; ! // When drawing over the right halve of a double-wide char clear out the ! // left halve. Only needed in a terminal. if (has_mbyte && col > 0 && col < screen_Columns #ifdef FEAT_GUI && !gui.in_use --- 1524,1531 ---- return; off = LineOffset[row] + col; ! // When drawing over the right half of a double-wide char clear out the ! // left half. Only needed in a terminal. if (has_mbyte && col > 0 && col < screen_Columns #ifdef FEAT_GUI && !gui.in_use *************** *** 1653,1661 **** #endif // When at the end of the text and overwriting a two-cell // character with a one-cell character, need to clear the next ! // cell. Also when overwriting the left halve of a two-cell char ! // with the right halve of a two-cell char. Do this only once ! // (mb_off2cells() may return 2 on the right halve). if (clear_next_cell) clear_next_cell = FALSE; else if (has_mbyte --- 1653,1661 ---- #endif // When at the end of the text and overwriting a two-cell // character with a one-cell character, need to clear the next ! // cell. Also when overwriting the left half of a two-cell char ! // with the right half of a two-cell char. Do this only once ! // (mb_off2cells() may return 2 on the right half). if (clear_next_cell) clear_next_cell = FALSE; else if (has_mbyte *************** *** 2376,2384 **** #endif ) { ! // When drawing over the right halve of a double-wide char clear ! // out the left halve. When drawing over the left halve of a ! // double wide-char clear out the right halve. Only needed in a // terminal. if (start_col > 0 && mb_fix_col(start_col, row) != start_col) screen_puts_len((char_u *)" ", 1, row, start_col - 1, 0); --- 2376,2384 ---- #endif ) { ! // When drawing over the right half of a double-wide char clear ! // out the left half. When drawing over the left half of a ! // double wide-char clear out the right half. Only needed in a // terminal. if (start_col > 0 && mb_fix_col(start_col, row) != start_col) screen_puts_len((char_u *)" ", 1, row, start_col - 1, 0); *** ../vim-8.2.3913/src/scriptfile.c 2021-12-26 12:07:24.798944010 +0000 --- src/scriptfile.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 1307,1313 **** current_sctx.sc_lnum = 0; ! // Check if this script was sourced before to finds its SID. // Always use a new sequence number. current_sctx.sc_seq = ++last_current_SID_seq; if (sid > 0) --- 1307,1313 ---- current_sctx.sc_lnum = 0; ! // Check if this script was sourced before to find its SID. // Always use a new sequence number. current_sctx.sc_seq = ++last_current_SID_seq; if (sid > 0) *** ../vim-8.2.3913/src/spell.c 2021-12-06 11:03:50.950900210 +0000 --- src/spell.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 1501,1507 **** /* * For spell checking: concatenate the start of the following line "line" into ! * "buf", blanking-out special characters. Copy less then "maxlen" bytes. * Keep the blanks at the start of the next line, this is used in win_line() * to skip those bytes if the word was OK. */ --- 1501,1507 ---- /* * For spell checking: concatenate the start of the following line "line" into ! * "buf", blanking-out special characters. Copy less than "maxlen" bytes. * Keep the blanks at the start of the next line, this is used in win_line() * to skip those bytes if the word was OK. */ *************** *** 3260,3266 **** for (; (s = smp[n].sm_lead)[0] == c; ++n) { // Quickly skip entries that don't match the word. Most ! // entries are less then three chars, optimize for that. k = smp[n].sm_leadlen; if (k > 1) { --- 3260,3266 ---- for (; (s = smp[n].sm_lead)[0] == c; ++n) { // Quickly skip entries that don't match the word. Most ! // entries are less than three chars, optimize for that. k = smp[n].sm_leadlen; if (k > 1) { *************** *** 3551,3557 **** && ws[0] != NUL; ++n) { // Quickly skip entries that don't match the word. Most ! // entries are less then three chars, optimize for that. if (c != ws[0]) continue; k = smp[n].sm_leadlen; --- 3551,3557 ---- && ws[0] != NUL; ++n) { // Quickly skip entries that don't match the word. Most ! // entries are less than three chars, optimize for that. if (c != ws[0]) continue; k = smp[n].sm_leadlen; *************** *** 4033,4039 **** arridx[depth] = idxs[n]; curi[depth] = 1; ! // Check if this characters matches with the pattern. // If not skip the whole tree below it. // Always ignore case here, dump_word() will check // proper case later. This isn't exactly right when --- 4033,4039 ---- arridx[depth] = idxs[n]; curi[depth] = 1; ! // Check if this character matches with the pattern. // If not skip the whole tree below it. // Always ignore case here, dump_word() will check // proper case later. This isn't exactly right when *** ../vim-8.2.3913/src/spellfile.c 2021-12-10 20:39:12.315782187 +0000 --- src/spellfile.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 4920,4926 **** // // The table with character flags and the table for case folding. // This makes sure the same characters are recognized as word characters ! // when generating an when using a spell file. // Skip this for ASCII, the table may conflict with the one used for // 'encoding'. // Also skip this for an .add.spl file, the main spell file must contain --- 4920,4926 ---- // // The table with character flags and the table for case folding. // This makes sure the same characters are recognized as word characters ! // when generating and when using a spell file. // Skip this for ASCII, the table may conflict with the one used for // 'encoding'. // Also skip this for an .add.spl file, the main spell file must contain *************** *** 5720,5726 **** ++wordnr; // Remove extra NUL entries, we no longer need them. We don't ! // bother freeing the nodes, the won't be reused anyway. while (p->wn_sibling != NULL && p->wn_sibling->wn_byte == NUL) p->wn_sibling = p->wn_sibling->wn_sibling; --- 5720,5726 ---- ++wordnr; // Remove extra NUL entries, we no longer need them. We don't ! // bother freeing the nodes, they won't be reused anyway. while (p->wn_sibling != NULL && p->wn_sibling->wn_byte == NUL) p->wn_sibling = p->wn_sibling->wn_sibling; *** ../vim-8.2.3913/src/spellsuggest.c 2021-11-04 15:46:01.031765172 +0000 --- src/spellsuggest.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 112,118 **** #define SCORE_THRES3 100 // word count threshold for COMMON3 // When trying changed soundfold words it becomes slow when trying more than ! // two changes. With less then two changes it's slightly faster but we miss a // few good suggestions. In rare cases we need to try three of four changes. #define SCORE_SFMAX1 200 // maximum score for first try #define SCORE_SFMAX2 300 // maximum score for second try --- 112,118 ---- #define SCORE_THRES3 100 // word count threshold for COMMON3 // When trying changed soundfold words it becomes slow when trying more than ! // two changes. With less than two changes it's slightly faster but we miss a // few good suggestions. In rare cases we need to try three of four changes. #define SCORE_SFMAX1 200 // maximum score for first try #define SCORE_SFMAX2 300 // maximum score for second try *** ../vim-8.2.3913/src/strings.c 2021-12-26 21:54:38.124433099 +0000 --- src/strings.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 171,177 **** // itself must be escaped to get a literal '\'. fish_like = fish_like_shell(); ! // PowerShell uses it's own version for quoting single quotes shname = gettail(p_sh); powershell = strstr((char *)shname, "pwsh") != NULL; # ifdef MSWIN --- 171,177 ---- // itself must be escaped to get a literal '\'. fish_like = fish_like_shell(); ! // PowerShell uses its own version for quoting single quotes shname = gettail(p_sh); powershell = strstr((char *)shname, "pwsh") != NULL; # ifdef MSWIN *** ../vim-8.2.3913/src/term.c 2021-12-21 09:11:45.629393263 +0000 --- src/term.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 4460,4466 **** #endif #if defined(CHECK_DOUBLE_CLICK) || defined(PROTO) /* ! * Checking for double clicks ourselves. * "orig_topline" is used to avoid detecting a double-click when the window * contents scrolled (e.g., when 'scrolloff' is non-zero). */ --- 4460,4466 ---- #endif #if defined(CHECK_DOUBLE_CLICK) || defined(PROTO) /* ! * Checking for double-clicks ourselves. * "orig_topline" is used to avoid detecting a double-click when the window * contents scrolled (e.g., when 'scrolloff' is non-zero). */ *** ../vim-8.2.3913/src/terminal.c 2021-12-16 18:02:03.363882332 +0000 --- src/terminal.c 2021-12-27 17:12:21.413464227 +0000 *************** *** 1591,1597 **** { job_T *job = term->tl_job; ! // Careful: Checking the job status may invoked callbacks, which close // the buffer and terminate "term". However, "job" will not be freed // yet. if (check_job_status) --- 1591,1597 ---- { job_T *job = term->tl_job; ! // Careful: Checking the job status may invoke callbacks, which close // the buffer and terminate "term". However, "job" will not be freed // yet. if (check_job_status) *** ../vim-8.2.3913/src/testdir/test_debugger.vim 2021-11-23 22:16:30.522773542 +0000 --- src/testdir/test_debugger.vim 2021-12-27 17:12:31.605445263 +0000 *************** *** 948,954 **** call RunDbgCmd(buf, 'step', ['line 1: SourceAnotherFile()']) call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim']) ! " Repeated line, because we fist are in the compiled function before the " EXEC and then in do_cmdline() before the :source command. call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim']) call RunDbgCmd(buf, 'step', ['line 1: vim9script']) --- 948,954 ---- call RunDbgCmd(buf, 'step', ['line 1: SourceAnotherFile()']) call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim']) ! " Repeated line, because we first are in the compiled function before the " EXEC and then in do_cmdline() before the :source command. call RunDbgCmd(buf, 'step', ['line 1: source Xtest2.vim']) call RunDbgCmd(buf, 'step', ['line 1: vim9script']) *** ../vim-8.2.3913/src/testdir/test_source.vim 2021-04-01 12:39:47.504992915 +0100 --- src/testdir/test_source.vim 2021-12-27 17:12:39.369430816 +0000 *************** *** 69,75 **** call delete('Xfile.vim') endfunc ! " Test for expanding in a autocmd and for and func Test_source_autocmd_sfile() let code =<< trim [CODE] let g:SfileName = '' --- 69,75 ---- call delete('Xfile.vim') endfunc ! " Test for expanding in an autocmd and for and func Test_source_autocmd_sfile() let code =<< trim [CODE] let g:SfileName = '' *** ../vim-8.2.3913/src/textformat.c 2021-12-12 14:16:34.993862200 +0000 --- src/textformat.c 2021-12-27 17:12:39.369430816 +0000 *************** *** 527,533 **** // If first leader has 'f' flag, the lines can be joined only if the // second line does not have a leader. // If first leader has 'e' flag, the lines can never be joined. ! // If fist leader has 's' flag, the lines can only be joined if there is // some text after it and the second line has the 'm' flag. if (leader1_flags != NULL) { --- 527,533 ---- // If first leader has 'f' flag, the lines can be joined only if the // second line does not have a leader. // If first leader has 'e' flag, the lines can never be joined. ! // If first leader has 's' flag, the lines can only be joined if there is // some text after it and the second line has the 'm' flag. if (leader1_flags != NULL) { *** ../vim-8.2.3913/src/userfunc.c 2021-12-26 20:20:29.093631230 +0000 --- src/userfunc.c 2021-12-27 17:12:39.369430816 +0000 *************** *** 1035,1041 **** if (heredoc_concat_len > 0) { ! // For a :def function "python << EOF" concatenats all the lines, // to be used for the instruction later. ga_concat(&heredoc_ga, theline); ga_concat(&heredoc_ga, (char_u *)"\n"); --- 1035,1041 ---- if (heredoc_concat_len > 0) { ! // For a :def function "python << EOF" concatenates all the lines, // to be used for the instruction later. ga_concat(&heredoc_ga, theline); ga_concat(&heredoc_ga, (char_u *)"\n"); *** ../vim-8.2.3913/src/vim.h 2021-12-11 13:54:43.123245009 +0000 --- src/vim.h 2021-12-27 17:12:39.369430816 +0000 *************** *** 1012,1018 **** #define DOBUF_UNLOAD 2 // unload specified buffer(s) #define DOBUF_DEL 3 // delete specified buffer(s) from buflist #define DOBUF_WIPE 4 // delete specified buffer(s) really ! #define DOBUF_WIPE_REUSE 5 // like DOBUF_WIPE an keep number for reuse // Values for start argument for do_buffer() #define DOBUF_CURRENT 0 // "count" buffer from current buffer --- 1012,1018 ---- #define DOBUF_UNLOAD 2 // unload specified buffer(s) #define DOBUF_DEL 3 // delete specified buffer(s) from buflist #define DOBUF_WIPE 4 // delete specified buffer(s) really ! #define DOBUF_WIPE_REUSE 5 // like DOBUF_WIPE and keep number for reuse // Values for start argument for do_buffer() #define DOBUF_CURRENT 0 // "count" buffer from current buffer *** ../vim-8.2.3913/src/vim9.h 2021-12-21 09:42:05.626265159 +0000 --- src/vim9.h 2021-12-27 17:12:39.369430816 +0000 *************** *** 703,709 **** garray_T ctx_locals; // currently visible local variables ! int ctx_has_closure; // set to one if a closures was created in // the function garray_T ctx_imports; // imported items --- 703,709 ---- garray_T ctx_locals; // currently visible local variables ! int ctx_has_closure; // set to one if a closure was created in // the function garray_T ctx_imports; // imported items *** ../vim-8.2.3913/src/vim9cmds.c 2021-12-25 18:23:20.770696173 +0000 --- src/vim9cmds.c 2021-12-27 17:12:39.369430816 +0000 *************** *** 840,846 **** if (cctx->ctx_skip != SKIP_YES) { ! // If we know the type of "var" and it is a not a supported type we can // give an error now. vartype = ((type_T **)stack->ga_data)[stack->ga_len - 1]; if (vartype->tt_type != VAR_LIST --- 840,846 ---- if (cctx->ctx_skip != SKIP_YES) { ! // If we know the type of "var" and it is not a supported type we can // give an error now. vartype = ((type_T **)stack->ga_data)[stack->ga_len - 1]; if (vartype->tt_type != VAR_LIST *** ../vim-8.2.3913/src/vim9execute.c 2021-12-26 14:22:55.665931067 +0000 --- src/vim9execute.c 2021-12-27 17:12:39.369430816 +0000 *************** *** 544,550 **** int refcount = pt->pt_refcount; int i; ! // A Reference in a local variables doesn't count, it gets // unreferenced on return. for (i = 0; i < dfunc->df_varcount; ++i) { --- 544,550 ---- int refcount = pt->pt_refcount; int i; ! // A Reference in a local variable doesn't count, it gets // unreferenced on return. for (i = 0; i < dfunc->df_varcount; ++i) { *** ../vim-8.2.3913/src/winclip.c 2020-06-22 19:30:24.202479096 +0100 --- src/winclip.c 2021-12-27 17:12:39.369430816 +0000 *************** *** 147,153 **** LPWSTR *out, int *outlen) { *outlen = MultiByteToWideChar(cp, flags, in, inlen, 0, 0); ! // Add one one word to avoid a zero-length alloc(). *out = ALLOC_MULT(WCHAR, *outlen + 1); if (*out != NULL) { --- 147,153 ---- LPWSTR *out, int *outlen) { *outlen = MultiByteToWideChar(cp, flags, in, inlen, 0, 0); ! // Add one word to avoid a zero-length alloc(). *out = ALLOC_MULT(WCHAR, *outlen + 1); if (*out != NULL) { *************** *** 167,173 **** LPCSTR def, LPBOOL useddef) { *outlen = WideCharToMultiByte(cp, flags, in, inlen, NULL, 0, def, useddef); ! // Add one one byte to avoid a zero-length alloc(). *out = alloc(*outlen + 1); if (*out != NULL) { --- 167,173 ---- LPCSTR def, LPBOOL useddef) { *outlen = WideCharToMultiByte(cp, flags, in, inlen, NULL, 0, def, useddef); ! // Add one byte to avoid a zero-length alloc(). *out = alloc(*outlen + 1); if (*out != NULL) { *** ../vim-8.2.3913/src/window.c 2021-12-16 20:56:52.956098576 +0000 --- src/window.c 2021-12-27 17:12:39.369430816 +0000 *************** *** 1555,1561 **** if (vertical) { ! // Each windows needs at least 'winminwidth' lines and a separator // column. maxcount = (curwin->w_width + curwin->w_vsep_width - (p_wiw - p_wmw)) / (p_wmw + 1); --- 1555,1561 ---- if (vertical) { ! // Each window needs at least 'winminwidth' lines and a separator // column. maxcount = (curwin->w_width + curwin->w_vsep_width - (p_wiw - p_wmw)) / (p_wmw + 1); *************** *** 2109,2115 **** room = height - m; if (room < 0) { ! // The room is less then 'winheight', use all space for the // current window. next_curwin_size = p_wh + room; room = 0; --- 2109,2115 ---- room = height - m; if (room < 0) { ! // The room is less than 'winheight', use all space for the // current window. next_curwin_size = p_wh + room; room = 0; *** ../vim-8.2.3913/src/version.c 2021-12-27 15:39:23.722764882 +0000 --- src/version.c 2021-12-27 17:14:28.961228171 +0000 *************** *** 751,752 **** --- 751,754 ---- { /* Add new patch number below this line */ + /**/ + 3914, /**/ -- ~ ~ ~ ".signature" 4 lines, 50 characters written /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///