(insert-file-contents-as-binary): Return value.
[elisp/apel.git] / emu-e20_2.el
index 023b2f4..d13f24c 100644 (file)
@@ -67,16 +67,14 @@ but the contents viewed as characters do change.
       (setq l (cons chr l))
       (setq i (+ i (char-bytes chr)))
       )
-    (nreverse l)
-    ))
+    (nreverse l)))
 
 (defalias 'string-to-int-list 'string-to-char-list)
 
 (defun looking-at-as-unibyte (regexp)
   "Like `looking-at', but string is regarded as unibyte sequence."
   (let (enable-multibyte-characters)
-    (looking-at regexp)
-    ))
+    (looking-at regexp)))
 
 ;;; @@ obsoleted aliases
 ;;;
@@ -86,6 +84,43 @@ but the contents viewed as characters do change.
 (make-obsolete 'string-columns 'string-width)
 
 
+;;; @ without code-conversion
+;;;
+
+(defun insert-file-contents-as-binary (filename
+                                      &optional visit beg end replace)
+  "Like `insert-file-contents', q.v., but don't code and format conversion.
+Like `insert-file-contents-literary', but it allows find-file-hooks,
+automatic uncompression, etc.
+
+Namely this function ensures that only format decoding and character
+code conversion will not take place."
+  (let ((flag enable-multibyte-characters)
+       (coding-system-for-read 'binary)
+       format-alist)
+    (prog1
+       ;; Returns list absolute file name and length of data inserted.
+       (insert-file-contents filename visit beg end replace)
+      ;; This operation does not change the length.
+      (set-buffer-multibyte flag))))
+
+(defun insert-file-contents-as-raw-text (filename
+                                        &optional visit beg end replace)
+  "Like `insert-file-contents', q.v., but don't code and format conversion.
+Like `insert-file-contents-literary', but it allows find-file-hooks,
+automatic uncompression, etc.
+Like `insert-file-contents-as-binary', but it converts line-break
+code."
+  (let ((flag enable-multibyte-characters)
+       (coding-system-for-read 'raw-text)
+       format-alist)
+    (prog1
+       ;; Returns list absolute file name and length of data inserted.
+       (insert-file-contents filename visit beg end replace)
+      ;; This operation does not change the length.
+      (set-buffer-multibyte flag))))
+
+
 ;;; @ end
 ;;;