comparison src/proto/eval.pro @ 23604:1816ea68c022 v8.2.2344

patch 8.2.2344: using inclusive index for slice is not always desired Commit: https://github.com/vim/vim/commit/6601b62943a19d4f8818c3638440663d67a17b6a Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 13 21:47:15 2021 +0100 patch 8.2.2344: using inclusive index for slice is not always desired Problem: Using inclusive index for slice is not always desired. Solution: Add the slice() method, which has an exclusive index. (closes #7408)
author Bram Moolenaar <Bram@vim.org>
date Wed, 13 Jan 2021 22:00:04 +0100
parents 87671ccc6c6b
children b26bbc03126a
comparison
equal deleted inserted replaced
23603:483d395694b0 23604:1816ea68c022
39 int eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg); 39 int eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg);
40 void eval_addblob(typval_T *tv1, typval_T *tv2); 40 void eval_addblob(typval_T *tv1, typval_T *tv2);
41 int eval_addlist(typval_T *tv1, typval_T *tv2); 41 int eval_addlist(typval_T *tv1, typval_T *tv2);
42 int eval_leader(char_u **arg, int vim9); 42 int eval_leader(char_u **arg, int vim9);
43 int check_can_index(typval_T *rettv, int evaluate, int verbose); 43 int check_can_index(typval_T *rettv, int evaluate, int verbose);
44 int eval_index_inner(typval_T *rettv, int is_range, typval_T *var1, typval_T *var2, char_u *key, int keylen, int verbose); 44 void f_slice(typval_T *argvars, typval_T *rettv);
45 int eval_index_inner(typval_T *rettv, int is_range, typval_T *var1, typval_T *var2, int exclusive, char_u *key, int keylen, int verbose);
45 char_u *partial_name(partial_T *pt); 46 char_u *partial_name(partial_T *pt);
46 void partial_unref(partial_T *pt); 47 void partial_unref(partial_T *pt);
47 int get_copyID(void); 48 int get_copyID(void);
48 int garbage_collect(int testing); 49 int garbage_collect(int testing);
49 int set_ref_in_ht(hashtab_T *ht, int copyID, list_stack_T **list_stack); 50 int set_ref_in_ht(hashtab_T *ht, int copyID, list_stack_T **list_stack);
56 char_u *string_quote(char_u *str, int function); 57 char_u *string_quote(char_u *str, int function);
57 int string2float(char_u *text, float_T *value); 58 int string2float(char_u *text, float_T *value);
58 int buf_byteidx_to_charidx(buf_T *buf, int lnum, int byteidx); 59 int buf_byteidx_to_charidx(buf_T *buf, int lnum, int byteidx);
59 int buf_charidx_to_byteidx(buf_T *buf, int lnum, int charidx); 60 int buf_charidx_to_byteidx(buf_T *buf, int lnum, int charidx);
60 pos_T *var2fpos(typval_T *varp, int dollar_lnum, int *fnum, int charcol); 61 pos_T *var2fpos(typval_T *varp, int dollar_lnum, int *fnum, int charcol);
61 int list2fpos(typval_T *arg, pos_T *posp, int *fnump, colnr_T *curswantp, int char_col); 62 int list2fpos(typval_T *arg, pos_T *posp, int *fnump, colnr_T *curswantp, int charcol);
62 int get_env_len(char_u **arg); 63 int get_env_len(char_u **arg);
63 int get_id_len(char_u **arg); 64 int get_id_len(char_u **arg);
64 int get_name_len(char_u **arg, char_u **alias, int evaluate, int verbose); 65 int get_name_len(char_u **arg, char_u **alias, int evaluate, int verbose);
65 char_u *find_name_end(char_u *arg, char_u **expr_start, char_u **expr_end, int flags); 66 char_u *find_name_end(char_u *arg, char_u **expr_start, char_u **expr_end, int flags);
66 int eval_isnamec(int c); 67 int eval_isnamec(int c);