diff options
Diffstat (limited to 'src/coding.c')
| -rw-r--r-- | src/coding.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/src/coding.c b/src/coding.c index 1887560827c..1544f319b00 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -7833,9 +7833,7 @@ static void | |||
| 7833 | code_conversion_restore (Lisp_Object arg) | 7833 | code_conversion_restore (Lisp_Object arg) |
| 7834 | { | 7834 | { |
| 7835 | Lisp_Object current, workbuf; | 7835 | Lisp_Object current, workbuf; |
| 7836 | struct gcpro gcpro1; | ||
| 7837 | 7836 | ||
| 7838 | GCPRO1 (arg); | ||
| 7839 | current = XCAR (arg); | 7837 | current = XCAR (arg); |
| 7840 | workbuf = XCDR (arg); | 7838 | workbuf = XCDR (arg); |
| 7841 | if (! NILP (workbuf)) | 7839 | if (! NILP (workbuf)) |
| @@ -7846,7 +7844,6 @@ code_conversion_restore (Lisp_Object arg) | |||
| 7846 | Fkill_buffer (workbuf); | 7844 | Fkill_buffer (workbuf); |
| 7847 | } | 7845 | } |
| 7848 | set_buffer_internal (XBUFFER (current)); | 7846 | set_buffer_internal (XBUFFER (current)); |
| 7849 | UNGCPRO; | ||
| 7850 | } | 7847 | } |
| 7851 | 7848 | ||
| 7852 | Lisp_Object | 7849 | Lisp_Object |
| @@ -8118,16 +8115,12 @@ decode_coding_object (struct coding_system *coding, | |||
| 8118 | 8115 | ||
| 8119 | if (! NILP (CODING_ATTR_POST_READ (attrs))) | 8116 | if (! NILP (CODING_ATTR_POST_READ (attrs))) |
| 8120 | { | 8117 | { |
| 8121 | struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; | ||
| 8122 | ptrdiff_t prev_Z = Z, prev_Z_BYTE = Z_BYTE; | 8118 | ptrdiff_t prev_Z = Z, prev_Z_BYTE = Z_BYTE; |
| 8123 | Lisp_Object val; | 8119 | Lisp_Object val; |
| 8124 | 8120 | ||
| 8125 | TEMP_SET_PT_BOTH (coding->dst_pos, coding->dst_pos_byte); | 8121 | TEMP_SET_PT_BOTH (coding->dst_pos, coding->dst_pos_byte); |
| 8126 | GCPRO5 (coding->src_object, coding->dst_object, src_object, dst_object, | ||
| 8127 | old_deactivate_mark); | ||
| 8128 | val = safe_call1 (CODING_ATTR_POST_READ (attrs), | 8122 | val = safe_call1 (CODING_ATTR_POST_READ (attrs), |
| 8129 | make_number (coding->produced_char)); | 8123 | make_number (coding->produced_char)); |
| 8130 | UNGCPRO; | ||
| 8131 | CHECK_NATNUM (val); | 8124 | CHECK_NATNUM (val); |
| 8132 | coding->produced_char += Z - prev_Z; | 8125 | coding->produced_char += Z - prev_Z; |
| 8133 | coding->produced += Z_BYTE - prev_Z_BYTE; | 8126 | coding->produced += Z_BYTE - prev_Z_BYTE; |
| @@ -8255,15 +8248,8 @@ encode_coding_object (struct coding_system *coding, | |||
| 8255 | set_buffer_internal (XBUFFER (coding->src_object)); | 8248 | set_buffer_internal (XBUFFER (coding->src_object)); |
| 8256 | } | 8249 | } |
| 8257 | 8250 | ||
| 8258 | { | 8251 | safe_call2 (CODING_ATTR_PRE_WRITE (attrs), |
| 8259 | struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; | 8252 | make_number (BEG), make_number (Z)); |
| 8260 | |||
| 8261 | GCPRO5 (coding->src_object, coding->dst_object, src_object, dst_object, | ||
| 8262 | old_deactivate_mark); | ||
| 8263 | safe_call2 (CODING_ATTR_PRE_WRITE (attrs), | ||
| 8264 | make_number (BEG), make_number (Z)); | ||
| 8265 | UNGCPRO; | ||
| 8266 | } | ||
| 8267 | if (XBUFFER (coding->src_object) != current_buffer) | 8253 | if (XBUFFER (coding->src_object) != current_buffer) |
| 8268 | kill_src_buffer = 1; | 8254 | kill_src_buffer = 1; |
| 8269 | coding->src_object = Fcurrent_buffer (); | 8255 | coding->src_object = Fcurrent_buffer (); |