Mercurial > emacs
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; |
