Mercurial > vim
comparison src/normal.c @ 1490:0f3f3090491f v7.1.205
updated for version 7.1-205
author | vimboss |
---|---|
date | Sat, 05 Jan 2008 12:35:21 +0000 |
parents | c87ce0b2ee2a |
children | 29c09fa57168 |
comparison
equal
deleted
inserted
replaced
1489:62716fd61fe9 | 1490:0f3f3090491f |
---|---|
139 static void nv_dot __ARGS((cmdarg_T *cap)); | 139 static void nv_dot __ARGS((cmdarg_T *cap)); |
140 static void nv_redo __ARGS((cmdarg_T *cap)); | 140 static void nv_redo __ARGS((cmdarg_T *cap)); |
141 static void nv_Undo __ARGS((cmdarg_T *cap)); | 141 static void nv_Undo __ARGS((cmdarg_T *cap)); |
142 static void nv_tilde __ARGS((cmdarg_T *cap)); | 142 static void nv_tilde __ARGS((cmdarg_T *cap)); |
143 static void nv_operator __ARGS((cmdarg_T *cap)); | 143 static void nv_operator __ARGS((cmdarg_T *cap)); |
144 #ifdef FEAT_EVAL | |
145 static void set_op_var __ARGS((int optype)); | |
146 #endif | |
144 static void nv_lineop __ARGS((cmdarg_T *cap)); | 147 static void nv_lineop __ARGS((cmdarg_T *cap)); |
145 static void nv_home __ARGS((cmdarg_T *cap)); | 148 static void nv_home __ARGS((cmdarg_T *cap)); |
146 static void nv_pipe __ARGS((cmdarg_T *cap)); | 149 static void nv_pipe __ARGS((cmdarg_T *cap)); |
147 static void nv_bck_word __ARGS((cmdarg_T *cap)); | 150 static void nv_bck_word __ARGS((cmdarg_T *cap)); |
148 static void nv_wordcmd __ARGS((cmdarg_T *cap)); | 151 static void nv_wordcmd __ARGS((cmdarg_T *cap)); |
7178 * either, because "2." should also not use the count. */ | 7181 * either, because "2." should also not use the count. */ |
7179 if (cap->cmdchar == 'D' && vim_strchr(p_cpo, CPO_HASH) != NULL) | 7182 if (cap->cmdchar == 'D' && vim_strchr(p_cpo, CPO_HASH) != NULL) |
7180 { | 7183 { |
7181 cap->oap->start = curwin->w_cursor; | 7184 cap->oap->start = curwin->w_cursor; |
7182 cap->oap->op_type = OP_DELETE; | 7185 cap->oap->op_type = OP_DELETE; |
7186 #ifdef FEAT_EVAL | |
7187 set_op_var(OP_DELETE); | |
7188 #endif | |
7183 cap->count1 = 1; | 7189 cap->count1 = 1; |
7184 nv_dollar(cap); | 7190 nv_dollar(cap); |
7185 finish_op = TRUE; | 7191 finish_op = TRUE; |
7186 ResetRedobuff(); | 7192 ResetRedobuff(); |
7187 AppendCharToRedobuff('D'); | 7193 AppendCharToRedobuff('D'); |
8217 nv_lineop(cap); | 8223 nv_lineop(cap); |
8218 else if (!checkclearop(cap->oap)) | 8224 else if (!checkclearop(cap->oap)) |
8219 { | 8225 { |
8220 cap->oap->start = curwin->w_cursor; | 8226 cap->oap->start = curwin->w_cursor; |
8221 cap->oap->op_type = op_type; | 8227 cap->oap->op_type = op_type; |
8222 } | 8228 #ifdef FEAT_EVAL |
8223 } | 8229 set_op_var(op_type); |
8230 #endif | |
8231 } | |
8232 } | |
8233 | |
8234 #ifdef FEAT_EVAL | |
8235 /* | |
8236 * Set v:operator to the characters for "optype". | |
8237 */ | |
8238 static void | |
8239 set_op_var(optype) | |
8240 int optype; | |
8241 { | |
8242 char_u opchars[3]; | |
8243 | |
8244 if (optype == OP_NOP) | |
8245 set_vim_var_string(VV_OP, NULL, 0); | |
8246 else | |
8247 { | |
8248 opchars[0] = get_op_char(optype); | |
8249 opchars[1] = get_extra_op_char(optype); | |
8250 opchars[2] = NUL; | |
8251 set_vim_var_string(VV_OP, opchars, -1); | |
8252 } | |
8253 } | |
8254 #endif | |
8224 | 8255 |
8225 /* | 8256 /* |
8226 * Handle linewise operator "dd", "yy", etc. | 8257 * Handle linewise operator "dd", "yy", etc. |
8227 * | 8258 * |
8228 * "_" is is a strange motion command that helps make operators more logical. | 8259 * "_" is is a strange motion command that helps make operators more logical. |