* poem-20.el (write-region-as-binary): Bind `jam-zcat-filename-list' with nil.
[elisp/apel.git] / poem-20.el
index 5c8cbfc..8ac9b23 100644 (file)
@@ -51,7 +51,7 @@
                                     &optional append visit lockname)
   "Like `write-region', q.v., but don't encode."
   (let ((coding-system-for-write 'binary)
-       jka-compr-compression-info-list)
+       jka-compr-compression-info-list jam-zcat-filename-list)
     (write-region start end filename append visit lockname)))
 
 ;; `insert-file-contents-literally' of Emacs 20 supports
@@ -76,6 +76,35 @@ code."
   (let ((coding-system-for-write 'raw-text-dos))
     (write-region start end filename append visit lockname)))
 
+(defun open-network-stream-as-binary (name buffer host service)
+  "Like `open-network-stream', q.v., but don't code conversion."
+  (let ((coding-system-for-read 'binary)
+       (coding-system-for-write 'binary))
+    (open-network-stream name buffer host service)))
+
+
+;;; @ with code-conversion
+;;;
+
+(defun insert-file-contents-as-specified-coding-system (filename &rest args)
+  "Like `insert-file-contents', q.v., but code convert by the specified
+coding-system. ARGS the optional arguments are passed to
+`insert-file-contents' except for the last element. The last element of
+ARGS must be a coding-system."
+  (let ((coding-system-for-read (car (reverse args)))
+       format-alist)
+    (apply 'insert-file-contents filename (nreverse (cdr (nreverse args))))))
+
+(defun write-region-as-specified-coding-system (start end filename
+                                                     &rest args)
+  "Like `write-region', q.v., but code convert by the specified coding-system.
+ARGS the optional arguments are passed to `write-region' except for the last
+element. The last element of ARGS must be a coding-system."
+  (let ((coding-system-for-write (car (reverse args)))
+       jka-compr-compression-info-list jam-zcat-filename-list)
+    (apply 'write-region start end filename
+          (nreverse (cdr (nreverse args))))))
+
 
 ;;; @ end
 ;;;