Mercurial > vim
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 |