Mercurial > vim
comparison src/eval.c @ 531:da9142bd190a v7.0149
updated for version 7.0149
author | vimboss |
---|---|
date | Tue, 20 Sep 2005 23:22:24 +0000 |
parents | d9cc61139d12 |
children | c8b6b7e1005d |
comparison
equal
deleted
inserted
replaced
530:339999b511a0 | 531:da9142bd190a |
---|---|
502 static void f_getbufvar __ARGS((typval_T *argvars, typval_T *rettv)); | 502 static void f_getbufvar __ARGS((typval_T *argvars, typval_T *rettv)); |
503 static void f_getchar __ARGS((typval_T *argvars, typval_T *rettv)); | 503 static void f_getchar __ARGS((typval_T *argvars, typval_T *rettv)); |
504 static void f_getcharmod __ARGS((typval_T *argvars, typval_T *rettv)); | 504 static void f_getcharmod __ARGS((typval_T *argvars, typval_T *rettv)); |
505 static void f_getcmdline __ARGS((typval_T *argvars, typval_T *rettv)); | 505 static void f_getcmdline __ARGS((typval_T *argvars, typval_T *rettv)); |
506 static void f_getcmdpos __ARGS((typval_T *argvars, typval_T *rettv)); | 506 static void f_getcmdpos __ARGS((typval_T *argvars, typval_T *rettv)); |
507 static void f_getcmdtype __ARGS((typval_T *argvars, typval_T *rettv)); | |
507 static void f_getcwd __ARGS((typval_T *argvars, typval_T *rettv)); | 508 static void f_getcwd __ARGS((typval_T *argvars, typval_T *rettv)); |
508 static void f_getfontname __ARGS((typval_T *argvars, typval_T *rettv)); | 509 static void f_getfontname __ARGS((typval_T *argvars, typval_T *rettv)); |
509 static void f_getfperm __ARGS((typval_T *argvars, typval_T *rettv)); | 510 static void f_getfperm __ARGS((typval_T *argvars, typval_T *rettv)); |
510 static void f_getfsize __ARGS((typval_T *argvars, typval_T *rettv)); | 511 static void f_getfsize __ARGS((typval_T *argvars, typval_T *rettv)); |
511 static void f_getftime __ARGS((typval_T *argvars, typval_T *rettv)); | 512 static void f_getftime __ARGS((typval_T *argvars, typval_T *rettv)); |
6767 {"getbufvar", 2, 2, f_getbufvar}, | 6768 {"getbufvar", 2, 2, f_getbufvar}, |
6768 {"getchar", 0, 1, f_getchar}, | 6769 {"getchar", 0, 1, f_getchar}, |
6769 {"getcharmod", 0, 0, f_getcharmod}, | 6770 {"getcharmod", 0, 0, f_getcharmod}, |
6770 {"getcmdline", 0, 0, f_getcmdline}, | 6771 {"getcmdline", 0, 0, f_getcmdline}, |
6771 {"getcmdpos", 0, 0, f_getcmdpos}, | 6772 {"getcmdpos", 0, 0, f_getcmdpos}, |
6773 {"getcmdtype", 0, 0, f_getcmdtype}, | |
6772 {"getcwd", 0, 0, f_getcwd}, | 6774 {"getcwd", 0, 0, f_getcwd}, |
6773 {"getfontname", 0, 1, f_getfontname}, | 6775 {"getfontname", 0, 1, f_getfontname}, |
6774 {"getfperm", 1, 1, f_getfperm}, | 6776 {"getfperm", 1, 1, f_getfperm}, |
6775 {"getfsize", 1, 1, f_getfsize}, | 6777 {"getfsize", 1, 1, f_getfsize}, |
6776 {"getftime", 1, 1, f_getftime}, | 6778 {"getftime", 1, 1, f_getftime}, |
6797 {"hlexists", 1, 1, f_hlexists}, | 6799 {"hlexists", 1, 1, f_hlexists}, |
6798 {"hostname", 0, 0, f_hostname}, | 6800 {"hostname", 0, 0, f_hostname}, |
6799 {"iconv", 3, 3, f_iconv}, | 6801 {"iconv", 3, 3, f_iconv}, |
6800 {"indent", 1, 1, f_indent}, | 6802 {"indent", 1, 1, f_indent}, |
6801 {"index", 2, 4, f_index}, | 6803 {"index", 2, 4, f_index}, |
6802 {"input", 1, 2, f_input}, | 6804 {"input", 1, 3, f_input}, |
6803 {"inputdialog", 1, 3, f_inputdialog}, | 6805 {"inputdialog", 1, 3, f_inputdialog}, |
6804 {"inputlist", 1, 1, f_inputlist}, | 6806 {"inputlist", 1, 1, f_inputlist}, |
6805 {"inputrestore", 0, 0, f_inputrestore}, | 6807 {"inputrestore", 0, 0, f_inputrestore}, |
6806 {"inputsave", 0, 0, f_inputsave}, | 6808 {"inputsave", 0, 0, f_inputsave}, |
6807 {"inputsecret", 1, 2, f_inputsecret}, | 6809 {"inputsecret", 1, 2, f_inputsecret}, |
9436 { | 9438 { |
9437 rettv->vval.v_number = get_cmdline_pos() + 1; | 9439 rettv->vval.v_number = get_cmdline_pos() + 1; |
9438 } | 9440 } |
9439 | 9441 |
9440 /* | 9442 /* |
9443 * "getcmdtype()" function | |
9444 */ | |
9445 /*ARGSUSED*/ | |
9446 static void | |
9447 f_getcmdtype(argvars, rettv) | |
9448 typval_T *argvars; | |
9449 typval_T *rettv; | |
9450 { | |
9451 rettv->v_type = VAR_STRING; | |
9452 rettv->vval.v_string = alloc(2); | |
9453 if (rettv->vval.v_string != NULL) | |
9454 { | |
9455 rettv->vval.v_string[0] = get_cmdline_type(); | |
9456 rettv->vval.v_string[1] = NUL; | |
9457 } | |
9458 } | |
9459 | |
9460 /* | |
9441 * "getcwd()" function | 9461 * "getcwd()" function |
9442 */ | 9462 */ |
9443 /*ARGSUSED*/ | 9463 /*ARGSUSED*/ |
9444 static void | 9464 static void |
9445 f_getcwd(argvars, rettv) | 9465 f_getcwd(argvars, rettv) |
10792 char_u *p = NULL; | 10812 char_u *p = NULL; |
10793 int c; | 10813 int c; |
10794 char_u buf[NUMBUFLEN]; | 10814 char_u buf[NUMBUFLEN]; |
10795 int cmd_silent_save = cmd_silent; | 10815 int cmd_silent_save = cmd_silent; |
10796 char_u *defstr = (char_u *)""; | 10816 char_u *defstr = (char_u *)""; |
10817 int xp_type = EXPAND_NOTHING; | |
10818 char_u *xp_arg = NULL; | |
10797 | 10819 |
10798 rettv->v_type = VAR_STRING; | 10820 rettv->v_type = VAR_STRING; |
10799 | 10821 |
10800 #ifdef NO_CONSOLE_INPUT | 10822 #ifdef NO_CONSOLE_INPUT |
10801 /* While starting up, there is no place to enter text. */ | 10823 /* While starting up, there is no place to enter text. */ |
10833 defstr = get_tv_string_buf_chk(&argvars[1], buf); | 10855 defstr = get_tv_string_buf_chk(&argvars[1], buf); |
10834 if (defstr != NULL) | 10856 if (defstr != NULL) |
10835 stuffReadbuffSpec(defstr); | 10857 stuffReadbuffSpec(defstr); |
10836 } | 10858 } |
10837 | 10859 |
10860 if (argvars[2].v_type != VAR_UNKNOWN) | |
10861 { | |
10862 char_u *xp_name; | |
10863 int xp_namelen; | |
10864 long argt; | |
10865 | |
10866 rettv->vval.v_string = NULL; | |
10867 | |
10868 xp_name = get_tv_string_buf_chk(&argvars[2], buf); | |
10869 if (xp_name == NULL) | |
10870 return; | |
10871 | |
10872 xp_namelen = STRLEN(xp_name); | |
10873 | |
10874 if (parse_compl_arg(xp_name, xp_namelen, &xp_type, &argt, &xp_arg) | |
10875 == FAIL) | |
10876 return; | |
10877 } | |
10878 | |
10838 if (defstr != NULL) | 10879 if (defstr != NULL) |
10839 rettv->vval.v_string = | 10880 rettv->vval.v_string = |
10840 getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr); | 10881 getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr, |
10882 xp_type, xp_arg); | |
10883 | |
10884 vim_free(xp_arg); | |
10841 | 10885 |
10842 /* since the user typed this, no need to wait for return */ | 10886 /* since the user typed this, no need to wait for return */ |
10843 need_wait_return = FALSE; | 10887 need_wait_return = FALSE; |
10844 msg_didout = FALSE; | 10888 msg_didout = FALSE; |
10845 } | 10889 } |
17678 MSG_PUTS(", "); | 17722 MSG_PUTS(", "); |
17679 MSG_PUTS("..."); | 17723 MSG_PUTS("..."); |
17680 } | 17724 } |
17681 msg_putchar(')'); | 17725 msg_putchar(')'); |
17682 msg_clr_eos(); | 17726 msg_clr_eos(); |
17683 #ifdef FEAT_EVAL | |
17684 if (p_verbose > 0) | 17727 if (p_verbose > 0) |
17685 last_set_msg(fp->uf_script_ID); | 17728 last_set_msg(fp->uf_script_ID); |
17686 #endif | |
17687 } | 17729 } |
17688 | 17730 |
17689 /* | 17731 /* |
17690 * Find a function by name, return pointer to it in ufuncs. | 17732 * Find a function by name, return pointer to it in ufuncs. |
17691 * Return NULL for unknown function. | 17733 * Return NULL for unknown function. |