emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/fileio.c


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/src/fileio.c
Date: Thu, 10 Apr 2003 08:01:10 -0400

Index: emacs/src/fileio.c
diff -c emacs/src/fileio.c:1.481 emacs/src/fileio.c:1.482
*** emacs/src/fileio.c:1.481    Tue Apr  8 21:29:18 2003
--- emacs/src/fileio.c  Thu Apr 10 08:01:10 2003
***************
*** 177,182 ****
--- 177,186 ----
  /* Functions to be called to process text properties in inserted file.  */
  Lisp_Object Vafter_insert_file_functions;
  
+ /* Function to be called to adjust buffer-file-coding-system and the
+    multibyteness of the current buffer after inserting a file.  */
+ Lisp_Object Vafter_insert_file_adjust_coding_function;
+ 
  /* Functions to be called to create text property annotations for file.  */
  Lisp_Object Vwrite_region_annotate_functions;
  
***************
*** 4540,4545 ****
--- 4544,4563 ----
                        Fcons (orig_filename, Qnil)));
      }
  
+   if (set_coding_system)
+     Vlast_coding_system_used = coding.symbol;
+ 
+   if (FUNCTIONP (Vafter_insert_file_adjust_coding_function))
+     {
+       insval = call1 (Vafter_insert_file_adjust_coding_function,
+                     make_number (inserted));
+       if (! NILP (insval))
+       {
+         CHECK_NUMBER (insval);
+         inserted = XFASTINT (insval);
+       }
+     }
+ 
    /* Decode file format */
    if (inserted > 0)
      {
***************
*** 4563,4571 ****
        current_buffer->undo_list = empty_undo_list_p ? Qnil : Qt;
      }
  
-   if (set_coding_system)
-     Vlast_coding_system_used = coding.symbol;
- 
    /* Call after-change hooks for the inserted text, aside from the case
       of normal visiting (not with REPLACE), which is done in a new buffer
       "before" the buffer is changed.  */
--- 4581,4586 ----
***************
*** 6413,6418 ****
--- 6428,6441 ----
        -*- ... coding: CODING-SYSTEM; ... -*-
  or local variable spec of the tailing lines with `coding:' tag.  */);
    Vset_auto_coding_function = Qnil;
+ 
+   DEFVAR_LISP ("after-insert-file-adjust-coding-function",
+              &Vafter_insert_file_adjust_coding_function,
+              doc: /* Function to call to adjust buffer-file-coding-system 
after inserting a file.
+ The function is called with one arguemnt, the number of characters inserted.
+ It should adjust `buffer-file-coding-system' and the multibyteness of
+ the current buffer, and return the new character count.  */);
+   Vafter_insert_file_adjust_coding_function = Qnil;
  
    DEFVAR_LISP ("after-insert-file-functions", &Vafter_insert_file_functions,
               doc: /* A list of functions to be called at the end of 
`insert-file-contents'.




reply via email to

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