[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/coding.c
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/src/coding.c |
Date: |
Tue, 08 Apr 2003 03:26:05 -0400 |
Index: emacs/src/coding.c
diff -c emacs/src/coding.c:1.272 emacs/src/coding.c:1.273
*** emacs/src/coding.c:1.272 Mon Mar 17 23:26:15 2003
--- emacs/src/coding.c Tue Apr 8 03:26:05 2003
***************
*** 2897,2903 ****
int multibytep;
{
unsigned char c1, c2;
! /* Dummy for TWO_MORE_BYTES. */
struct coding_system dummy_coding;
struct coding_system *coding = &dummy_coding;
--- 2897,2903 ----
int multibytep;
{
unsigned char c1, c2;
! /* Dummy for ONE_MORE_BYTE_CHECK_MULTIBYTE. */
struct coding_system dummy_coding;
struct coding_system *coding = &dummy_coding;
***************
*** 5200,5209 ****
} while (0)
static Lisp_Object
! code_convert_region_unwind (dummy)
! Lisp_Object dummy;
{
inhibit_pre_post_conversion = 0;
return Qnil;
}
--- 5200,5210 ----
} while (0)
static Lisp_Object
! code_convert_region_unwind (arg)
! Lisp_Object arg;
{
inhibit_pre_post_conversion = 0;
+ Vlast_coding_system_used = arg;
return Qnil;
}
***************
*** 5447,5453 ****
struct buffer *prev = current_buffer;
Lisp_Object new;
! record_unwind_protect (code_convert_region_unwind, Qnil);
/* We should not call any more pre-write/post-read-conversion
functions while this pre-write-conversion is running. */
inhibit_pre_post_conversion = 1;
--- 5448,5455 ----
struct buffer *prev = current_buffer;
Lisp_Object new;
! record_unwind_protect (code_convert_region_unwind,
! Vlatin_extra_code_table);
/* We should not call any more pre-write/post-read-conversion
functions while this pre-write-conversion is running. */
inhibit_pre_post_conversion = 1;
***************
*** 5805,5820 ****
&& ! encodep && ! NILP (coding->post_read_conversion))
{
Lisp_Object val;
if (from != PT)
TEMP_SET_PT_BOTH (from, from_byte);
prev_Z = Z;
! record_unwind_protect (code_convert_region_unwind, Qnil);
/* We should not call any more pre-write/post-read-conversion
functions while this post-read-conversion is running. */
inhibit_pre_post_conversion = 1;
val = call1 (coding->post_read_conversion, make_number (inserted));
inhibit_pre_post_conversion = 0;
/* Discard the unwind protect. */
specpdl_ptr--;
CHECK_NUMBER (val);
--- 5807,5828 ----
&& ! encodep && ! NILP (coding->post_read_conversion))
{
Lisp_Object val;
+ Lisp_Object saved_coding_system;
if (from != PT)
TEMP_SET_PT_BOTH (from, from_byte);
prev_Z = Z;
! record_unwind_protect (code_convert_region_unwind,
! Vlast_coding_system_used);
! saved_coding_system = Vlast_coding_system_used;
! Vlast_coding_system_used = coding->symbol;
/* We should not call any more pre-write/post-read-conversion
functions while this post-read-conversion is running. */
inhibit_pre_post_conversion = 1;
val = call1 (coding->post_read_conversion, make_number (inserted));
inhibit_pre_post_conversion = 0;
+ coding->symbol = Vlast_coding_system_used;
+ Vlast_coding_system_used = saved_coding_system;
/* Discard the unwind protect. */
specpdl_ptr--;
CHECK_NUMBER (val);
***************
*** 5860,5866 ****
Lisp_Object old_deactivate_mark;
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
! record_unwind_protect (code_convert_region_unwind, Qnil);
/* It is not crucial to specbind this. */
old_deactivate_mark = Vdeactivate_mark;
GCPRO2 (str, old_deactivate_mark);
--- 5868,5875 ----
Lisp_Object old_deactivate_mark;
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
! record_unwind_protect (code_convert_region_unwind,
! Vlast_coding_system_used);
/* It is not crucial to specbind this. */
old_deactivate_mark = Vdeactivate_mark;
GCPRO2 (str, old_deactivate_mark);
***************
*** 5890,5897 ****
--- 5899,5908 ----
call2 (coding->pre_write_conversion, make_number (BEG), make_number (Z));
else
{
+ Vlast_coding_system_used = coding->symbol;
TEMP_SET_PT_BOTH (BEG, BEG_BYTE);
call1 (coding->post_read_conversion, make_number (Z - BEG));
+ coding->symbol = Vlast_coding_system_used;
}
inhibit_pre_post_conversion = 0;
Vdeactivate_mark = old_deactivate_mark;