diff options
| author | Kenichi Handa <handa@m17n.org> | 1998-10-26 08:00:11 +0000 |
|---|---|---|
| committer | Kenichi Handa <handa@m17n.org> | 1998-10-26 08:00:11 +0000 |
| commit | 0007bdd098d4397ac1ad9e272617fb8e93a1ad40 (patch) | |
| tree | ec380f3c8342b1fecb15e33a974f91898576a479 /src/coding.c | |
| parent | 581bba23d414027a628fa9a027c55982053a96e3 (diff) | |
| download | emacs-0007bdd098d4397ac1ad9e272617fb8e93a1ad40.tar.gz | |
(code_convert_region): Kill the work buffer created by
pre-write-conversion.
Diffstat (limited to 'src/coding.c')
| -rw-r--r-- | src/coding.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/coding.c b/src/coding.c index 6d78aa0d7b9..5ae0d5f4dc4 100644 --- a/src/coding.c +++ b/src/coding.c @@ -4264,18 +4264,20 @@ code_convert_region (from, from_byte, to, to_byte, coding, encodep, replace) { /* The function in pre-write-conversion may put a new text in a new buffer. */ - struct buffer *prev = current_buffer, *new; + struct buffer *prev = current_buffer; + Lisp_Object new; call2 (coding->pre_write_conversion, make_number (from), make_number (to)); if (current_buffer != prev) { len = ZV - BEGV; - new = current_buffer; + new = Fcurrent_buffer (); set_buffer_internal_1 (prev); del_range_2 (from, from_byte, to, to_byte); TEMP_SET_PT_BOTH (from, from_byte); - insert_from_buffer (new, 1, len, 0); + insert_from_buffer (XBUFFER (new), 1, len, 0); + Fkill_buffer (new); if (orig_point >= to) orig_point += len - orig_len; else if (orig_point > from) |
