comparison src/digraph.c @ 25378:890fd8211202 v8.2.3226

patch 8.2.3226: new digraph functions use old naming scheme Commit: https://github.com/vim/vim/commit/29b857150c111a455f1a38a8f748243524f692e1 Author: h-east <h.east.727@gmail.com> Date: Mon Jul 26 21:54:04 2021 +0200 patch 8.2.3226: new digraph functions use old naming scheme Problem: New digraph functions use old naming scheme. Solution: Use the digraph_ prefix. (Hirohito Higashi, closes https://github.com/vim/vim/issues/8580)
author Bram Moolenaar <Bram@vim.org>
date Mon, 26 Jul 2021 22:00:07 +0200
parents 078edc1821bf
children e8e2c4d33b9b
comparison
equal deleted inserted replaced
25377:5197d46bc088 25378:890fd8211202
1779 backspaced = -1; 1779 backspaced = -1;
1780 } 1780 }
1781 else if (p_dg) 1781 else if (p_dg)
1782 { 1782 {
1783 if (backspaced >= 0) 1783 if (backspaced >= 0)
1784 c = getdigraph(backspaced, c, FALSE); 1784 c = digraph_get(backspaced, c, FALSE);
1785 backspaced = -1; 1785 backspaced = -1;
1786 if ((c == K_BS || c == Ctrl_H) && lastchar >= 0) 1786 if ((c == K_BS || c == Ctrl_H) && lastchar >= 0)
1787 backspaced = lastchar; 1787 backspaced = lastchar;
1788 } 1788 }
1789 lastchar = c; 1789 lastchar = c;
1885 ++allow_keys; 1885 ++allow_keys;
1886 cc = plain_vgetc(); 1886 cc = plain_vgetc();
1887 --no_mapping; 1887 --no_mapping;
1888 --allow_keys; 1888 --allow_keys;
1889 if (cc != ESC) // ESC cancels CTRL-K 1889 if (cc != ESC) // ESC cancels CTRL-K
1890 return getdigraph(c, cc, TRUE); 1890 return digraph_get(c, cc, TRUE);
1891 } 1891 }
1892 return NUL; 1892 return NUL;
1893 } 1893 }
1894 1894
1895 /* 1895 /*
1979 /* 1979 /*
1980 * Get digraph. 1980 * Get digraph.
1981 * Allow for both char1-char2 and char2-char1 1981 * Allow for both char1-char2 and char2-char1
1982 */ 1982 */
1983 int 1983 int
1984 getdigraph(int char1, int char2, int meta_char) 1984 digraph_get(int char1, int char2, int meta_char)
1985 { 1985 {
1986 int retval; 1986 int retval;
1987 1987
1988 if (((retval = getexactdigraph(char1, char2, meta_char)) == char2) 1988 if (((retval = getexactdigraph(char1, char2, meta_char)) == char2)
1989 && (char1 != char2) 1989 && (char1 != char2)
2141 must_redraw = CLEAR; // clear screen, because some digraphs may be 2141 must_redraw = CLEAR; // clear screen, because some digraphs may be
2142 // wrong, in which case we messed up ScreenLines 2142 // wrong, in which case we messed up ScreenLines
2143 } 2143 }
2144 2144
2145 static void 2145 static void
2146 getdigraphlist_appendpair(digr_T *dp, list_T *l) 2146 digraph_getlist_appendpair(digr_T *dp, list_T *l)
2147 { 2147 {
2148 char_u buf[30]; 2148 char_u buf[30];
2149 char_u *p; 2149 char_u *p;
2150 list_T *l2; 2150 list_T *l2;
2151 listitem_T *li, *li2; 2151 listitem_T *li, *li2;
2192 2192
2193 li2->li_tv.vval.v_string = vim_strsave(buf); 2193 li2->li_tv.vval.v_string = vim_strsave(buf);
2194 } 2194 }
2195 2195
2196 void 2196 void
2197 getdigraphlist_common(int list_all, typval_T *rettv) 2197 digraph_getlist_common(int list_all, typval_T *rettv)
2198 { 2198 {
2199 int i; 2199 int i;
2200 digr_T *dp; 2200 digr_T *dp;
2201 2201
2202 if (rettv_list_alloc(rettv) == FAIL) 2202 if (rettv_list_alloc(rettv) == FAIL)
2213 tmp.char1 = dp->char1; 2213 tmp.char1 = dp->char1;
2214 tmp.char2 = dp->char2; 2214 tmp.char2 = dp->char2;
2215 tmp.result = getexactdigraph(tmp.char1, tmp.char2, FALSE); 2215 tmp.result = getexactdigraph(tmp.char1, tmp.char2, FALSE);
2216 if (tmp.result != 0 && tmp.result != tmp.char2 2216 if (tmp.result != 0 && tmp.result != tmp.char2
2217 && (has_mbyte || tmp.result <= 255)) 2217 && (has_mbyte || tmp.result <= 255))
2218 getdigraphlist_appendpair(&tmp, rettv->vval.v_list); 2218 digraph_getlist_appendpair(&tmp, rettv->vval.v_list);
2219 #else 2219 #else
2220 if (getexactdigraph(dp->char1, dp->char2, FALSE) == dp->result 2220 if (getexactdigraph(dp->char1, dp->char2, FALSE) == dp->result
2221 && (has_mbyte || dp->result <= 255)) 2221 && (has_mbyte || dp->result <= 255))
2222 getdigraphlist_appendpair(dp, rettv->vval.v_list); 2222 digraph_getlist_appendpair(dp, rettv->vval.v_list);
2223 #endif 2223 #endif
2224 ++dp; 2224 ++dp;
2225 } 2225 }
2226 } 2226 }
2227 2227
2228 dp = (digr_T *)user_digraphs.ga_data; 2228 dp = (digr_T *)user_digraphs.ga_data;
2229 for (i = 0; i < user_digraphs.ga_len && !got_int; ++i) 2229 for (i = 0; i < user_digraphs.ga_len && !got_int; ++i)
2230 { 2230 {
2231 getdigraphlist_appendpair(dp, rettv->vval.v_list); 2231 digraph_getlist_appendpair(dp, rettv->vval.v_list);
2232 ++dp; 2232 ++dp;
2233 } 2233 }
2234 } 2234 }
2235 2235
2236 static struct dg_header_entry { 2236 static struct dg_header_entry {
2361 semsg(_(e_digraph_must_be_just_two_characters_str), chars); 2361 semsg(_(e_digraph_must_be_just_two_characters_str), chars);
2362 return FAIL; 2362 return FAIL;
2363 } 2363 }
2364 2364
2365 static int 2365 static int
2366 setdigraph_common(typval_T *argchars, typval_T *argdigraph) 2366 digraph_set_common(typval_T *argchars, typval_T *argdigraph)
2367 { 2367 {
2368 int char1, char2; 2368 int char1, char2;
2369 char_u *digraph; 2369 char_u *digraph;
2370 char_u *p; 2370 char_u *p;
2371 char_u buf_digraph[NUMBUFLEN]; 2371 char_u buf_digraph[NUMBUFLEN];
2392 2392
2393 #endif // FEAT_DIGRAPHS 2393 #endif // FEAT_DIGRAPHS
2394 2394
2395 #if defined(FEAT_EVAL) || defined(PROTO) 2395 #if defined(FEAT_EVAL) || defined(PROTO)
2396 /* 2396 /*
2397 * "getdigraph()" function 2397 * "digraph_get()" function
2398 */ 2398 */
2399 void 2399 void
2400 f_getdigraph(typval_T *argvars, typval_T *rettv) 2400 f_digraph_get(typval_T *argvars, typval_T *rettv)
2401 { 2401 {
2402 # ifdef FEAT_DIGRAPHS 2402 # ifdef FEAT_DIGRAPHS
2403 int code; 2403 int code;
2404 char_u buf[NUMBUFLEN]; 2404 char_u buf[NUMBUFLEN];
2405 char_u *digraphs; 2405 char_u *digraphs;
2413 else if (STRLEN(digraphs) != 2) 2413 else if (STRLEN(digraphs) != 2)
2414 { 2414 {
2415 semsg(_(e_digraph_must_be_just_two_characters_str), digraphs); 2415 semsg(_(e_digraph_must_be_just_two_characters_str), digraphs);
2416 return; 2416 return;
2417 } 2417 }
2418 code = getdigraph(digraphs[0], digraphs[1], FALSE); 2418 code = digraph_get(digraphs[0], digraphs[1], FALSE);
2419 2419
2420 if (has_mbyte) 2420 if (has_mbyte)
2421 buf[(*mb_char2bytes)(code, buf)] = NUL; 2421 buf[(*mb_char2bytes)(code, buf)] = NUL;
2422 else { 2422 else {
2423 buf[0] = code; 2423 buf[0] = code;
2429 emsg(_(e_no_digraphs_version)); 2429 emsg(_(e_no_digraphs_version));
2430 # endif 2430 # endif
2431 } 2431 }
2432 2432
2433 /* 2433 /*
2434 * "getdigraphlist()" function 2434 * "digraph_getlist()" function
2435 */ 2435 */
2436 void 2436 void
2437 f_getdigraphlist(typval_T *argvars, typval_T *rettv) 2437 f_digraph_getlist(typval_T *argvars, typval_T *rettv)
2438 { 2438 {
2439 # ifdef FEAT_DIGRAPHS 2439 # ifdef FEAT_DIGRAPHS
2440 int flag_list_all; 2440 int flag_list_all;
2441 2441
2442 if (argvars[0].v_type == VAR_UNKNOWN) 2442 if (argvars[0].v_type == VAR_UNKNOWN)
2448 if (error) 2448 if (error)
2449 return; 2449 return;
2450 flag_list_all = flag ? TRUE : FALSE; 2450 flag_list_all = flag ? TRUE : FALSE;
2451 } 2451 }
2452 2452
2453 getdigraphlist_common(flag_list_all, rettv); 2453 digraph_getlist_common(flag_list_all, rettv);
2454 # else 2454 # else
2455 emsg(_(e_no_digraphs_version)); 2455 emsg(_(e_no_digraphs_version));
2456 # endif 2456 # endif
2457 } 2457 }
2458 2458
2459 /* 2459 /*
2460 * "setdigraph()" function 2460 * "digraph_set()" function
2461 */ 2461 */
2462 void 2462 void
2463 f_setdigraph(typval_T *argvars, typval_T *rettv) 2463 f_digraph_set(typval_T *argvars, typval_T *rettv)
2464 { 2464 {
2465 # ifdef FEAT_DIGRAPHS 2465 # ifdef FEAT_DIGRAPHS
2466 rettv->v_type = VAR_BOOL; 2466 rettv->v_type = VAR_BOOL;
2467 rettv->vval.v_number = VVAL_FALSE; 2467 rettv->vval.v_number = VVAL_FALSE;
2468 2468
2469 if (!setdigraph_common(&argvars[0], &argvars[1])) 2469 if (!digraph_set_common(&argvars[0], &argvars[1]))
2470 return; 2470 return;
2471 2471
2472 rettv->vval.v_number = VVAL_TRUE; 2472 rettv->vval.v_number = VVAL_TRUE;
2473 # else 2473 # else
2474 emsg(_(e_no_digraphs_version)); 2474 emsg(_(e_no_digraphs_version));
2475 # endif 2475 # endif
2476 } 2476 }
2477 2477
2478 /* 2478 /*
2479 * "setdigraphlist()" function 2479 * "digraph_setlist()" function
2480 */ 2480 */
2481 void 2481 void
2482 f_setdigraphlist(typval_T * argvars, typval_T *rettv) 2482 f_digraph_setlist(typval_T * argvars, typval_T *rettv)
2483 { 2483 {
2484 # ifdef FEAT_DIGRAPHS 2484 # ifdef FEAT_DIGRAPHS
2485 list_T *pl, *l; 2485 list_T *pl, *l;
2486 listitem_T *pli; 2486 listitem_T *pli;
2487 2487
2488 rettv->v_type = VAR_BOOL; 2488 rettv->v_type = VAR_BOOL;
2489 rettv->vval.v_number = VVAL_FALSE; 2489 rettv->vval.v_number = VVAL_FALSE;
2490 2490
2491 if (argvars[0].v_type != VAR_LIST) 2491 if (argvars[0].v_type != VAR_LIST)
2492 { 2492 {
2493 emsg(_(e_setdigraphlist_argument_must_be_list_of_lists_with_two_items)); 2493 emsg(_(e_digraph_setlist_argument_must_be_list_of_lists_with_two_items));
2494 return; 2494 return;
2495 } 2495 }
2496 2496
2497 pl = argvars[0].vval.v_list; 2497 pl = argvars[0].vval.v_list;
2498 if (pl == NULL) 2498 if (pl == NULL)
2504 2504
2505 FOR_ALL_LIST_ITEMS(pl, pli) 2505 FOR_ALL_LIST_ITEMS(pl, pli)
2506 { 2506 {
2507 if (pli->li_tv.v_type != VAR_LIST) 2507 if (pli->li_tv.v_type != VAR_LIST)
2508 { 2508 {
2509 emsg(_(e_setdigraphlist_argument_must_be_list_of_lists_with_two_items)); 2509 emsg(_(e_digraph_setlist_argument_must_be_list_of_lists_with_two_items));
2510 return; 2510 return;
2511 } 2511 }
2512 2512
2513 l = pli->li_tv.vval.v_list; 2513 l = pli->li_tv.vval.v_list;
2514 if (l == NULL || l->lv_len != 2) 2514 if (l == NULL || l->lv_len != 2)
2515 { 2515 {
2516 emsg(_(e_setdigraphlist_argument_must_be_list_of_lists_with_two_items)); 2516 emsg(_(e_digraph_setlist_argument_must_be_list_of_lists_with_two_items));
2517 return; 2517 return;
2518 } 2518 }
2519 2519
2520 if (!setdigraph_common(&l->lv_first->li_tv, 2520 if (!digraph_set_common(&l->lv_first->li_tv,
2521 &l->lv_first->li_next->li_tv)) 2521 &l->lv_first->li_next->li_tv))
2522 return; 2522 return;
2523 } 2523 }
2524 rettv->vval.v_number = VVAL_TRUE; 2524 rettv->vval.v_number = VVAL_TRUE;
2525 # else 2525 # else