aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c18
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
7833code_conversion_restore (Lisp_Object arg) 7833code_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
7852Lisp_Object 7849Lisp_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 ();