Mercurial > vim
comparison src/if_perl.xs @ 925:3d842a9e2bae v7.0.051
updated for version 7.0-051
author | vimboss |
---|---|
date | Fri, 11 Aug 2006 20:55:20 +0000 |
parents | a07007166d51 |
children | 56609cdae088 |
comparison
equal
deleted
inserted
replaced
924:ba9375e24d49 | 925:3d842a9e2bae |
---|---|
1066 for(i = 2; i < items; i++, lnum++) | 1066 for(i = 2; i < items; i++, lnum++) |
1067 { | 1067 { |
1068 line = SvPV(ST(i),PL_na); | 1068 line = SvPV(ST(i),PL_na); |
1069 if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL) | 1069 if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL) |
1070 { | 1070 { |
1071 #ifdef FEAT_AUTOCMD | 1071 #ifdef FEAT_AUTOCMD |
1072 aco_save_T aco; | 1072 aco_save_T aco; |
1073 | 1073 |
1074 /* set curwin/curbuf for "vimbuf" and save some things */ | 1074 /* set curwin/curbuf for "vimbuf" and save some things */ |
1075 aucmd_prepbuf(&aco, vimbuf); | 1075 aucmd_prepbuf(&aco, vimbuf); |
1076 #else | 1076 #else |
1077 buf_T *save_curbuf = curbuf; | 1077 buf_T *save_curbuf = curbuf; |
1078 | 1078 |
1079 curbuf = vimbuf; | 1079 curbuf = vimbuf; |
1080 curwin->w_buffer = vimbuf; | 1080 curwin->w_buffer = vimbuf; |
1081 #endif | 1081 #endif |
1082 if (u_savesub(lnum) == OK) | 1082 if (u_savesub(lnum) == OK) |
1083 { | 1083 { |
1084 ml_replace(lnum, (char_u *)line, TRUE); | 1084 ml_replace(lnum, (char_u *)line, TRUE); |
1085 changed_bytes(lnum, 0); | 1085 changed_bytes(lnum, 0); |
1086 } | 1086 } |
1087 | 1087 #ifdef FEAT_AUTOCMD |
1088 #ifdef FEAT_AUTOCMD | |
1089 /* restore curwin/curbuf and a few other things */ | 1088 /* restore curwin/curbuf and a few other things */ |
1090 aucmd_restbuf(&aco); | 1089 aucmd_restbuf(&aco); |
1091 /* Careful: autocommands may have made "vimbuf" invalid! */ | 1090 /* Careful: autocommands may have made "vimbuf" invalid! */ |
1092 #else | 1091 #else |
1093 curwin->w_buffer = save_curbuf; | 1092 curwin->w_buffer = save_curbuf; |
1094 curbuf = save_curbuf; | 1093 curbuf = save_curbuf; |
1095 #endif | 1094 #endif |
1096 } | 1095 } |
1097 } | 1096 } |
1098 } | 1097 } |
1099 | 1098 |
1100 void | 1099 void |
1128 for (i = 0; i < count; i++) | 1127 for (i = 0; i < count; i++) |
1129 { | 1128 { |
1130 if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count) | 1129 if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count) |
1131 { | 1130 { |
1132 buf_T *save_curbuf = curbuf; | 1131 buf_T *save_curbuf = curbuf; |
1133 #ifdef FEAT_AUTOCMD | 1132 #ifdef FEAT_AUTOCMD |
1134 aco_save_T aco; | 1133 aco_save_T aco; |
1135 | 1134 |
1136 /* set curwin/curbuf for "vimbuf" and save some things */ | 1135 /* set curwin/curbuf for "vimbuf" and save some things */ |
1137 aucmd_prepbuf(&aco, vimbuf); | 1136 aucmd_prepbuf(&aco, vimbuf); |
1138 #else | 1137 #else |
1139 curbuf = vimbuf; | 1138 curbuf = vimbuf; |
1140 curwin->w_buffer = vimbuf; | 1139 curwin->w_buffer = vimbuf; |
1141 #endif | 1140 #endif |
1142 if (u_savedel(lnum, 1) == OK) | 1141 if (u_savedel(lnum, 1) == OK) |
1143 { | 1142 { |
1144 ml_delete(lnum, 0); | 1143 ml_delete(lnum, 0); |
1145 deleted_lines_mark(lnum, 1L); | 1144 deleted_lines_mark(lnum, 1L); |
1146 if (save_curbuf == curbuf) | 1145 if (save_curbuf == curbuf) |
1147 check_cursor(); | 1146 check_cursor(); |
1148 } | 1147 } |
1149 #ifdef FEAT_AUTOCMD | 1148 #ifdef FEAT_AUTOCMD |
1150 /* restore curwin/curbuf and a few other things */ | 1149 /* restore curwin/curbuf and a few other things */ |
1151 aucmd_restbuf(&aco); | 1150 aucmd_restbuf(&aco); |
1152 /* Careful: autocommands may have made "vimbuf" invalid! */ | 1151 /* Careful: autocommands may have made "vimbuf" invalid! */ |
1153 #else | 1152 #else |
1154 curwin->w_buffer = save_curbuf; | 1153 curwin->w_buffer = save_curbuf; |
1155 curbuf = save_curbuf; | 1154 curbuf = save_curbuf; |
1156 #endif | 1155 #endif |
1157 update_curbuf(VALID); | 1156 update_curbuf(VALID); |
1158 } | 1157 } |
1159 } | 1158 } |
1160 } | 1159 } |
1161 } | 1160 } |
1178 for (i = 2; i < items; i++, lnum++) | 1177 for (i = 2; i < items; i++, lnum++) |
1179 { | 1178 { |
1180 line = SvPV(ST(i),PL_na); | 1179 line = SvPV(ST(i),PL_na); |
1181 if (lnum >= 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL) | 1180 if (lnum >= 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL) |
1182 { | 1181 { |
1183 #ifdef FEAT_AUTOCMD | 1182 #ifdef FEAT_AUTOCMD |
1184 aco_save_T aco; | 1183 aco_save_T aco; |
1185 | 1184 |
1186 /* set curwin/curbuf for "vimbuf" and save some things */ | 1185 /* set curwin/curbuf for "vimbuf" and save some things */ |
1187 aucmd_prepbuf(&aco, vimbuf); | 1186 aucmd_prepbuf(&aco, vimbuf); |
1188 #else | 1187 #else |
1189 buf_T *save_curbuf = curbuf; | 1188 buf_T *save_curbuf = curbuf; |
1190 | 1189 |
1191 curbuf = vimbuf; | 1190 curbuf = vimbuf; |
1192 curwin->w_buffer = vimbuf; | 1191 curwin->w_buffer = vimbuf; |
1193 #endif | 1192 #endif |
1194 if (u_inssub(lnum + 1) == OK) | 1193 if (u_inssub(lnum + 1) == OK) |
1195 { | 1194 { |
1196 ml_append(lnum, (char_u *)line, (colnr_T)0, FALSE); | 1195 ml_append(lnum, (char_u *)line, (colnr_T)0, FALSE); |
1197 appended_lines_mark(lnum, 1L); | 1196 appended_lines_mark(lnum, 1L); |
1198 } | 1197 } |
1199 | 1198 #ifdef FEAT_AUTOCMD |
1200 #ifdef FEAT_AUTOCMD | |
1201 /* restore curwin/curbuf and a few other things */ | 1199 /* restore curwin/curbuf and a few other things */ |
1202 aucmd_restbuf(&aco); | 1200 aucmd_restbuf(&aco); |
1203 /* Careful: autocommands may have made "vimbuf" invalid! */ | 1201 /* Careful: autocommands may have made "vimbuf" invalid! */ |
1204 #else | 1202 #else |
1205 curwin->w_buffer = save_curbuf; | 1203 curwin->w_buffer = save_curbuf; |
1206 curbuf = save_curbuf; | 1204 curbuf = save_curbuf; |
1207 #endif | 1205 #endif |
1208 update_curbuf(VALID); | 1206 update_curbuf(VALID); |
1209 } | 1207 } |
1210 } | 1208 } |
1211 } | 1209 } |
1212 | 1210 |