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