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