emacs-diffs
[Top][All Lists]
Advanced

[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;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]