(U+536A): Add UU+537D as a target of `->interchangeable'.
[chise/xemacs-chise.git.1] / lisp / code-files.el
index 1738d70..2d5c5ef 100644 (file)
@@ -116,7 +116,8 @@ something other than what it is at the moment."
           (coding-system-base buffer-file-coding-system)
           (cond ((eq eol-type 'lf) 'crlf)
                 ((eq eol-type 'crlf) 'lf)
           (coding-system-base buffer-file-coding-system)
           (cond ((eq eol-type 'lf) 'crlf)
                 ((eq eol-type 'crlf) 'lf)
-                ((eq eol-type 'cr) 'lf))))))
+                ((eq eol-type 'cr) 'lf))))
+    (set-buffer-modified-p t)))
 
 (define-obsolete-function-alias
   'set-file-coding-system
 
 (define-obsolete-function-alias
   'set-file-coding-system
@@ -197,12 +198,11 @@ object (the entry specified a coding system)."
            ((find-coding-system codesys))
            ))))
 
            ((find-coding-system codesys))
            ))))
 
-;; This is completely broken, not only in implementation (does not
+;; This was completely broken, not only in implementation (does not
 ;; understand MIME), but in concept -- such high-level decoding should
 ;; understand MIME), but in concept -- such high-level decoding should
-;; be done by mail readers, not by IO code!
+;; be done by mail readers, not by IO code!  Removed 2000-04-18.
 
 
-;(defun convert-mbox-coding-system (filename visit start end)
-;...
+;(defun convert-mbox-coding-system (filename visit start end) ...)
 
 (defun find-coding-system-magic-cookie ()
   "Look for the coding-system magic cookie in the current buffer.
 
 (defun find-coding-system-magic-cookie ()
   "Look for the coding-system magic cookie in the current buffer.
@@ -284,7 +284,7 @@ Return t if file exists."
                 (set-buffer (get-buffer-create " *load*"))
                 (erase-buffer)
                 (let ((coding-system-for-read 'raw-text))
                 (set-buffer (get-buffer-create " *load*"))
                 (erase-buffer)
                 (let ((coding-system-for-read 'raw-text))
-                  (insert-file-contents path nil 1 3001))
+                  (insert-file-contents path nil 0 3000))
                 (find-coding-system-magic-cookie))
               (if elc
                   ;; if reading a byte-compiled file and we didn't find
                 (find-coding-system-magic-cookie))
               (if elc
                   ;; if reading a byte-compiled file and we didn't find
@@ -460,20 +460,19 @@ and `insert-file-contents-post-hook'."
 (defvar write-region-pre-hook nil
   "A special hook to decide the coding system used for writing out a file.
 
 (defvar write-region-pre-hook nil
   "A special hook to decide the coding system used for writing out a file.
 
-Before writing a file, `write-region' calls the functions on this hook
-with arguments START, END, FILENAME, APPEND, VISIT, and CODING-SYSTEM,
-the same as the corresponding arguments in the call to
-`write-region'.
+Before writing a file, `write-region' calls the functions on this hook with
+arguments START, END, FILENAME, APPEND, VISIT, LOCKNAME and CODING-SYSTEM,
+the same as the corresponding arguments in the call to `write-region'.
 
 
-The return value of the functions should be either
+The return value of each function should be one of
 
 -- nil
 -- A coding system or a symbol denoting it, indicating the coding system
 
 -- nil
 -- A coding system or a symbol denoting it, indicating the coding system
-   to be used for reading the file
+   to be used for writing the file
 -- A list of two elements (absolute pathname and length of data written),
 -- A list of two elements (absolute pathname and length of data written),
-   which is used as the return value to `write-region'.  In this
-   case, `write-region' assumes that the function has written
-   the file for itself and suppresses further writing.
+   which is used as the return value to `write-region'.  In this case,
+   `write-region' assumes that the function has written the file and
+   returns.
 
 If any function returns non-nil, the remaining functions are not called.")
 
 
 If any function returns non-nil, the remaining functions are not called.")
 
@@ -481,13 +480,17 @@ If any function returns non-nil, the remaining functions are not called.")
   "A hook called by `write-region' after a file has been written out.
 
 The functions on this hook are called with arguments START, END,
   "A hook called by `write-region' after a file has been written out.
 
 The functions on this hook are called with arguments START, END,
-FILENAME, APPEND, VISIT, and CODING-SYSTEM, the same as the
+FILENAME, APPEND, VISIT, LOCKNAME, and CODING-SYSTEM, the same as the
 corresponding arguments in the call to `write-region'.")
 
 corresponding arguments in the call to `write-region'.")
 
-(defun write-region (start end filename &optional append visit lockname coding-system)
+(defun write-region (start end filename
+                    &optional append visit lockname coding-system)
   "Write current region into specified file.
 By default the file's existing contents are replaced by the specified region.
   "Write current region into specified file.
 By default the file's existing contents are replaced by the specified region.
-When called from a program, takes three arguments:
+Called interactively, prompts for a file name.  With a prefix arg, prompts
+for a coding system as well.
+
+When called from a program, takes three required arguments:
 START, END and FILENAME.  START and END are buffer positions.
 Optional fourth argument APPEND if non-nil means
   append to existing file contents (if any).
 START, END and FILENAME.  START and END are buffer positions.
 Optional fourth argument APPEND if non-nil means
   append to existing file contents (if any).
@@ -506,19 +509,19 @@ to the file, instead of any buffer contents, and END is ignored.
 Optional seventh argument CODING-SYSTEM specifies the coding system
   used to encode the text when it is written out, and defaults to
   the value of `buffer-file-coding-system' in the current buffer.
 Optional seventh argument CODING-SYSTEM specifies the coding system
   used to encode the text when it is written out, and defaults to
   the value of `buffer-file-coding-system' in the current buffer.
-  Interactively, with a prefix arg, you will be prompted for the
-  coding system.
 See also `write-region-pre-hook' and `write-region-post-hook'."
   (interactive "r\nFWrite region to file: \ni\ni\ni\nZCoding-system: ")
   (setq coding-system
        (or coding-system-for-write
            (run-hook-with-args-until-success
 See also `write-region-pre-hook' and `write-region-post-hook'."
   (interactive "r\nFWrite region to file: \ni\ni\ni\nZCoding-system: ")
   (setq coding-system
        (or coding-system-for-write
            (run-hook-with-args-until-success
-            'write-region-pre-hook start end filename append visit lockname)
+            'write-region-pre-hook
+            start end filename append visit lockname coding-system)
            coding-system
            buffer-file-coding-system
            (find-file-coding-system-for-write-from-filename filename)
            ))
   (if (consp coding-system)
            coding-system
            buffer-file-coding-system
            (find-file-coding-system-for-write-from-filename filename)
            ))
   (if (consp coding-system)
+      ;; One of the `write-region-pre-hook' functions wrote the file
       coding-system
     (let ((func
           (coding-system-property coding-system 'pre-write-conversion)))
       coding-system
     (let ((func
           (coding-system-property coding-system 'pre-write-conversion)))