comparison src/coding.c @ 23542:eaf358b2e8dd

(code_convert_region): Kill the work buffer created by pre-write-conversion.
author Kenichi Handa <handa@m17n.org>
date Mon, 26 Oct 1998 08:00:11 +0000
parents 28cd5faf93dd
children 6eb3e346d1fd
comparison
equal deleted inserted replaced
23541:417a469a4354 23542:eaf358b2e8dd
4262 && SYMBOLP (coding->pre_write_conversion) 4262 && SYMBOLP (coding->pre_write_conversion)
4263 && ! NILP (Ffboundp (coding->pre_write_conversion))) 4263 && ! NILP (Ffboundp (coding->pre_write_conversion)))
4264 { 4264 {
4265 /* The function in pre-write-conversion may put a new text in a 4265 /* The function in pre-write-conversion may put a new text in a
4266 new buffer. */ 4266 new buffer. */
4267 struct buffer *prev = current_buffer, *new; 4267 struct buffer *prev = current_buffer;
4268 Lisp_Object new;
4268 4269
4269 call2 (coding->pre_write_conversion, 4270 call2 (coding->pre_write_conversion,
4270 make_number (from), make_number (to)); 4271 make_number (from), make_number (to));
4271 if (current_buffer != prev) 4272 if (current_buffer != prev)
4272 { 4273 {
4273 len = ZV - BEGV; 4274 len = ZV - BEGV;
4274 new = current_buffer; 4275 new = Fcurrent_buffer ();
4275 set_buffer_internal_1 (prev); 4276 set_buffer_internal_1 (prev);
4276 del_range_2 (from, from_byte, to, to_byte); 4277 del_range_2 (from, from_byte, to, to_byte);
4277 TEMP_SET_PT_BOTH (from, from_byte); 4278 TEMP_SET_PT_BOTH (from, from_byte);
4278 insert_from_buffer (new, 1, len, 0); 4279 insert_from_buffer (XBUFFER (new), 1, len, 0);
4280 Fkill_buffer (new);
4279 if (orig_point >= to) 4281 if (orig_point >= to)
4280 orig_point += len - orig_len; 4282 orig_point += len - orig_len;
4281 else if (orig_point > from) 4283 else if (orig_point > from)
4282 orig_point = from; 4284 orig_point = from;
4283 orig_len = len; 4285 orig_len = len;