Mercurial > vim
comparison src/eval.c @ 18:293621502c4d v7.0010
updated for version 7.0010
author | vimboss |
---|---|
date | Sun, 18 Jul 2004 21:34:53 +0000 |
parents | 3ba373b54370 |
children | a81bc802c17c |
comparison
equal
deleted
inserted
replaced
17:9be87deaeb52 | 18:293621502c4d |
---|---|
261 static buf_T *get_buf_var __ARGS((VAR avar)); | 261 static buf_T *get_buf_var __ARGS((VAR avar)); |
262 static void f_bufname __ARGS((VAR argvars, VAR retvar)); | 262 static void f_bufname __ARGS((VAR argvars, VAR retvar)); |
263 static void f_bufnr __ARGS((VAR argvars, VAR retvar)); | 263 static void f_bufnr __ARGS((VAR argvars, VAR retvar)); |
264 static void f_bufwinnr __ARGS((VAR argvars, VAR retvar)); | 264 static void f_bufwinnr __ARGS((VAR argvars, VAR retvar)); |
265 static void f_byte2line __ARGS((VAR argvars, VAR retvar)); | 265 static void f_byte2line __ARGS((VAR argvars, VAR retvar)); |
266 static void f_byteidx __ARGS((VAR argvars, VAR retvar)); | |
266 static void f_char2nr __ARGS((VAR argvars, VAR retvar)); | 267 static void f_char2nr __ARGS((VAR argvars, VAR retvar)); |
267 static void f_cindent __ARGS((VAR argvars, VAR retvar)); | 268 static void f_cindent __ARGS((VAR argvars, VAR retvar)); |
268 static void f_col __ARGS((VAR argvars, VAR retvar)); | 269 static void f_col __ARGS((VAR argvars, VAR retvar)); |
269 static void f_confirm __ARGS((VAR argvars, VAR retvar)); | 270 static void f_confirm __ARGS((VAR argvars, VAR retvar)); |
270 static void f_cscope_connection __ARGS((VAR argvars, VAR retvar)); | 271 static void f_cscope_connection __ARGS((VAR argvars, VAR retvar)); |
347 static void f_remote_expr __ARGS((VAR argvars, VAR retvar)); | 348 static void f_remote_expr __ARGS((VAR argvars, VAR retvar)); |
348 static void f_remote_foreground __ARGS((VAR argvars, VAR retvar)); | 349 static void f_remote_foreground __ARGS((VAR argvars, VAR retvar)); |
349 static void f_remote_peek __ARGS((VAR argvars, VAR retvar)); | 350 static void f_remote_peek __ARGS((VAR argvars, VAR retvar)); |
350 static void f_remote_read __ARGS((VAR argvars, VAR retvar)); | 351 static void f_remote_read __ARGS((VAR argvars, VAR retvar)); |
351 static void f_remote_send __ARGS((VAR argvars, VAR retvar)); | 352 static void f_remote_send __ARGS((VAR argvars, VAR retvar)); |
353 static void f_repeat __ARGS((VAR argvars, VAR retvar)); | |
352 static void f_server2client __ARGS((VAR argvars, VAR retvar)); | 354 static void f_server2client __ARGS((VAR argvars, VAR retvar)); |
353 static void f_serverlist __ARGS((VAR argvars, VAR retvar)); | 355 static void f_serverlist __ARGS((VAR argvars, VAR retvar)); |
354 static void f_setline __ARGS((VAR argvars, VAR retvar)); | 356 static void f_setline __ARGS((VAR argvars, VAR retvar)); |
355 static void f_setreg __ARGS((VAR argvars, VAR retvar)); | 357 static void f_setreg __ARGS((VAR argvars, VAR retvar)); |
356 static void f_simplify __ARGS((VAR argvars, VAR retvar)); | 358 static void f_simplify __ARGS((VAR argvars, VAR retvar)); |
2815 {"bufloaded", 1, 1, f_bufloaded}, | 2817 {"bufloaded", 1, 1, f_bufloaded}, |
2816 {"bufname", 1, 1, f_bufname}, | 2818 {"bufname", 1, 1, f_bufname}, |
2817 {"bufnr", 1, 1, f_bufnr}, | 2819 {"bufnr", 1, 1, f_bufnr}, |
2818 {"bufwinnr", 1, 1, f_bufwinnr}, | 2820 {"bufwinnr", 1, 1, f_bufwinnr}, |
2819 {"byte2line", 1, 1, f_byte2line}, | 2821 {"byte2line", 1, 1, f_byte2line}, |
2822 {"byteidx", 2, 2, f_byteidx}, | |
2820 {"char2nr", 1, 1, f_char2nr}, | 2823 {"char2nr", 1, 1, f_char2nr}, |
2821 {"cindent", 1, 1, f_cindent}, | 2824 {"cindent", 1, 1, f_cindent}, |
2822 {"col", 1, 1, f_col}, | 2825 {"col", 1, 1, f_col}, |
2823 {"confirm", 1, 4, f_confirm}, | 2826 {"confirm", 1, 4, f_confirm}, |
2824 {"cscope_connection",0,3, f_cscope_connection}, | 2827 {"cscope_connection",0,3, f_cscope_connection}, |
2894 {"remote_foreground", 1, 1, f_remote_foreground}, | 2897 {"remote_foreground", 1, 1, f_remote_foreground}, |
2895 {"remote_peek", 1, 2, f_remote_peek}, | 2898 {"remote_peek", 1, 2, f_remote_peek}, |
2896 {"remote_read", 1, 1, f_remote_read}, | 2899 {"remote_read", 1, 1, f_remote_read}, |
2897 {"remote_send", 2, 3, f_remote_send}, | 2900 {"remote_send", 2, 3, f_remote_send}, |
2898 {"rename", 2, 2, f_rename}, | 2901 {"rename", 2, 2, f_rename}, |
2902 {"repeat", 2, 2, f_repeat}, | |
2899 {"resolve", 1, 1, f_resolve}, | 2903 {"resolve", 1, 1, f_resolve}, |
2900 {"search", 1, 2, f_search}, | 2904 {"search", 1, 2, f_search}, |
2901 {"searchpair", 3, 5, f_searchpair}, | 2905 {"searchpair", 3, 5, f_searchpair}, |
2902 {"server2client", 2, 2, f_server2client}, | 2906 {"server2client", 2, 2, f_server2client}, |
2903 {"serverlist", 0, 0, f_serverlist}, | 2907 {"serverlist", 0, 0, f_serverlist}, |
3582 if (boff < 0) | 3586 if (boff < 0) |
3583 retvar->var_val.var_number = -1; | 3587 retvar->var_val.var_number = -1; |
3584 else | 3588 else |
3585 retvar->var_val.var_number = ml_find_line_or_offset(curbuf, | 3589 retvar->var_val.var_number = ml_find_line_or_offset(curbuf, |
3586 (linenr_T)0, &boff); | 3590 (linenr_T)0, &boff); |
3591 #endif | |
3592 } | |
3593 | |
3594 /* | |
3595 * "byteidx()" function | |
3596 */ | |
3597 /*ARGSUSED*/ | |
3598 static void | |
3599 f_byteidx(argvars, retvar) | |
3600 VAR argvars; | |
3601 VAR retvar; | |
3602 { | |
3603 #ifdef FEAT_MBYTE | |
3604 char_u *t; | |
3605 #endif | |
3606 char_u *str; | |
3607 long idx; | |
3608 | |
3609 str = get_var_string(&argvars[0]); | |
3610 idx = get_var_number(&argvars[1]); | |
3611 retvar->var_val.var_number = -1; | |
3612 if (idx < 0) | |
3613 return; | |
3614 | |
3615 #ifdef FEAT_MBYTE | |
3616 t = str; | |
3617 for ( ; idx > 0; idx--) | |
3618 { | |
3619 if (*t == NUL) /* EOL reached */ | |
3620 return; | |
3621 t += mb_ptr2len_check(t); | |
3622 } | |
3623 retvar->var_val.var_number = t - str; | |
3624 #else | |
3625 if (idx <= STRLEN(str)) | |
3626 retvar->var_val.var_number = idx; | |
3587 #endif | 3627 #endif |
3588 } | 3628 } |
3589 | 3629 |
3590 /* | 3630 /* |
3591 * "char2nr(string)" function | 3631 * "char2nr(string)" function |
6916 argvars[2].var_type = VAR_UNKNOWN; | 6956 argvars[2].var_type = VAR_UNKNOWN; |
6917 remote_common(argvars, retvar, TRUE); | 6957 remote_common(argvars, retvar, TRUE); |
6918 vim_free(argvars[1].var_val.var_string); | 6958 vim_free(argvars[1].var_val.var_string); |
6919 # endif | 6959 # endif |
6920 #endif | 6960 #endif |
6961 } | |
6962 | |
6963 /* | |
6964 * "repeat()" function | |
6965 */ | |
6966 /*ARGSUSED*/ | |
6967 static void | |
6968 f_repeat(argvars, retvar) | |
6969 VAR argvars; | |
6970 VAR retvar; | |
6971 { | |
6972 char_u *p; | |
6973 int n; | |
6974 int slen; | |
6975 int len; | |
6976 char_u *r; | |
6977 int i; | |
6978 | |
6979 p = get_var_string(&argvars[0]); | |
6980 n = get_var_number(&argvars[1]); | |
6981 | |
6982 retvar->var_type = VAR_STRING; | |
6983 retvar->var_val.var_string = NULL; | |
6984 | |
6985 slen = (int)STRLEN(p); | |
6986 len = slen * n; | |
6987 | |
6988 if (len <= 0) | |
6989 return; | |
6990 | |
6991 r = alloc(len + 1); | |
6992 if (r != NULL) | |
6993 { | |
6994 for (i = 0; i < n; i++) | |
6995 mch_memmove(r + i * slen, p, (size_t)slen); | |
6996 r[len] = NUL; | |
6997 } | |
6998 | |
6999 retvar->var_val.var_string = r; | |
6921 } | 7000 } |
6922 | 7001 |
6923 #ifdef HAVE_STRFTIME | 7002 #ifdef HAVE_STRFTIME |
6924 /* | 7003 /* |
6925 * "strftime({format}[, {time}])" function | 7004 * "strftime({format}[, {time}])" function |