+;;; @ with code-conversion
+;;;
+
+(defun insert-file-contents-as-coding-system
+ (coding-system filename &optional visit beg end replace)
+ "Like `insert-file-contents', q.v., but CODING-SYSTEM the first arg will
+be applied to `file-coding-system-for-read'."
+ (let ((file-coding-system-for-read coding-system))
+ (insert-file-contents filename visit beg end replace)))
+
+(cond
+ ((and (>= emacs-major-version 19) (>= emacs-minor-version 29))
+ ;; for MULE 2.3 based on Emacs 19.34.
+ (defun write-region-as-coding-system
+ (coding-system start end filename &optional append visit lockname)
+ "Like `write-region', q.v., but CODING-SYSTEM the first arg will be
+applied to `file-coding-system'."
+ (let ((file-coding-system coding-system)
+ jka-compr-compression-info-list jam-zcat-filename-list)
+ (write-region start end filename append visit lockname)))
+
+ (defun find-file-noselect-as-coding-system
+ (coding-system filename &optional nowarn rawfile)
+ "Like `find-file-noselect', q.v., but CODING-SYSTEM the first arg will
+be applied to `file-coding-system-for-read'."
+ (let ((file-coding-system-for-read coding-system))
+ (find-file-noselect filename nowarn rawfile)))
+ )
+ (t
+ ;; for MULE 2.3 based on Emacs 19.28 or MULE 1.*.
+ (defun write-region-as-coding-system
+ (coding-system start end filename &optional append visit lockname)
+ "Like `write-region', q.v., but CODING-SYSTEM the first arg will be
+applied to `file-coding-system'."
+ (let ((file-coding-system coding-system)
+ jka-compr-compression-info-list jam-zcat-filename-list)
+ (write-region start end filename append visit)))
+
+ (defun find-file-noselect-as-coding-system
+ (coding-system filename &optional nowarn rawfile)
+ "Like `find-file-noselect', q.v., but CODING-SYSTEM the first arg will
+be applied to `file-coding-system-for-read'."
+ (let ((file-coding-system-for-read coding-system))
+ (find-file-noselect filename nowarn)))
+ ))
+
+(defun save-buffer-as-coding-system (coding-system &optional args)
+ "Like `save-buffer', q.v., but CODING-SYSTEM the first arg will be
+applied to `coding-system-for-write'."
+ (let ((file-coding-system coding-system))
+ (save-buffer args)))
+
+