From f6fda1fc961f4bc3794669f254a3e223cf7ceb09 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 25 Feb 1999 12:27:07 +0000 Subject: [PATCH] * poem-om.el (find-file-noselect-as-raw-text-CRLF): New function. It is an alias for `find-file-noselect-as-raw-text'. (insert-file-contents-as-raw-text-CRLF): New function. It is an alias for `insert-file-contents-as-raw-text'. * poem-nemacs.el (find-file-noselect-as-raw-text-CRLF): New function. It is an alias for `find-file-noselect-as-raw-text'. (find-file-noselect-as-raw-text): Convert line-break code from CRLF to LF. (insert-file-contents-as-raw-text-CRLF): New function. It is an alias for `insert-file-contents-as-raw-text'. (insert-file-contents-as-raw-text): Convert line-break code from CRLF to LF. (find-file-noselect-as-binary): Don't specify the optional third argument `rawfile' for `find-file-noselect'. * poem-ltn1.el (find-file-noselect-as-raw-text-CRLF): New function. It is an alias for `find-file-noselect'. (insert-file-contents-as-raw-text-CRLF): New function. It is an alias for `insert-file-contents'. * poem-20.el, poem-e20_2.el (find-file-noselect-as-raw-text-CRLF): New function. (insert-file-contents-as-raw-text-CRLF): New function. --- ChangeLog | 27 +++++++++++++++++++++++++++ poem-20.el | 19 +++++++++++++++++++ poem-e20_2.el | 27 +++++++++++++++++++++++++++ poem-ltn1.el | 4 ++++ poem-nemacs.el | 57 ++++++++++++++++++++++++++++++++++++++++---------------- poem-om.el | 6 ++++++ 6 files changed, 124 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2f95748..5595238 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,32 @@ 1999-02-25 Katsumi Yamaoka + * poem-om.el (find-file-noselect-as-raw-text-CRLF): New function. + It is an alias for `find-file-noselect-as-raw-text'. + (insert-file-contents-as-raw-text-CRLF): New function. + It is an alias for `insert-file-contents-as-raw-text'. + + * poem-nemacs.el (find-file-noselect-as-raw-text-CRLF): New + function. It is an alias for `find-file-noselect-as-raw-text'. + (find-file-noselect-as-raw-text): Convert line-break code from + CRLF to LF. + (insert-file-contents-as-raw-text-CRLF): New function. It is an + alias for `insert-file-contents-as-raw-text'. + (insert-file-contents-as-raw-text): Convert line-break code from + CRLF to LF. + (find-file-noselect-as-binary): Don't specify the optional third + argument `rawfile' for `find-file-noselect'. + + * poem-ltn1.el (find-file-noselect-as-raw-text-CRLF): New function. + It is an alias for `find-file-noselect'. + (insert-file-contents-as-raw-text-CRLF): New function. It is an + alias for `insert-file-contents'. + + * poem-20.el, poem-e20_2.el (find-file-noselect-as-raw-text-CRLF): + New function. + (insert-file-contents-as-raw-text-CRLF): New function. + +1999-02-25 Katsumi Yamaoka + * poem-20.el, poem-e20_2.el, poem-om.el (find-file-noselect-as-raw-text): Undo the last change. (insert-file-contents-as-raw-text): Likewise. diff --git a/poem-20.el b/poem-20.el index e4e2786..06039ea 100644 --- a/poem-20.el +++ b/poem-20.el @@ -70,6 +70,18 @@ code." ;; Returns list of absolute file name and length of data inserted. (insert-file-contents filename visit beg end replace))) +(defun insert-file-contents-as-raw-text-CRLF (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 +from CRLF to LF." + (let ((coding-system-for-read 'raw-text-dos) + format-alist) + ;; Returns list of absolute file name and length of data inserted. + (insert-file-contents filename visit beg end replace))) + (defun write-region-as-raw-text-CRLF (start end filename &optional append visit lockname) "Like `write-region', q.v., but write as network representation." @@ -89,6 +101,13 @@ except for line-break code." format-alist) (find-file-noselect filename nowarn rawfile))) +(defun find-file-noselect-as-raw-text-CRLF (filename &optional nowarn rawfile) + "Like `find-file-noselect', q.v., but it does not code and format conversion +except for line-break code." + (let ((coding-system-for-read 'raw-text-dos) + format-alist) + (find-file-noselect filename nowarn rawfile))) + (defun save-buffer-as-binary (&optional args) "Like `save-buffer', q.v., but don't encode." (let ((coding-system-for-write 'binary)) diff --git a/poem-e20_2.el b/poem-e20_2.el index c7d9687..77fc90f 100644 --- a/poem-e20_2.el +++ b/poem-e20_2.el @@ -120,6 +120,22 @@ code." ;; This operation does not change the length. (set-buffer-multibyte flag)))) +(defun insert-file-contents-as-raw-text-CRLF (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 +from CRLF to LF." + (let ((flag enable-multibyte-characters) + (coding-system-for-read 'raw-text-dos) + 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 find-file-noselect-as-binary (filename &optional nowarn rawfile) "Like `find-file-noselect', q.v., but don't code and format conversion." (let ((flag enable-multibyte-characters) @@ -141,6 +157,17 @@ except for line-break code." (set-buffer (find-file-noselect filename nowarn rawfile)) (set-buffer-multibyte flag))))) +(defun find-file-noselect-as-raw-text-CRLF (filename &optional nowarn rawfile) + "Like `find-file-noselect', q.v., but it does not code and format conversion +except for line-break code." + (let ((flag enable-multibyte-characters) + (coding-system-for-read 'raw-text-dos) + format-alist) + (save-current-buffer + (prog1 + (set-buffer (find-file-noselect filename nowarn rawfile)) + (set-buffer-multibyte flag))))) + ;;; @ with code-conversion ;;; diff --git a/poem-ltn1.el b/poem-ltn1.el index 59ef43a..8daf9ef 100644 --- a/poem-ltn1.el +++ b/poem-ltn1.el @@ -156,6 +156,8 @@ code conversion will not take place." (defalias 'insert-file-contents-as-raw-text 'insert-file-contents) +(defalias 'insert-file-contents-as-raw-text-CRLF 'insert-file-contents) + (defun find-file-noselect-as-binary (filename &optional nowarn rawfile) "Like `find-file-noselect', q.v., but don't code and format conversion." (let ((emx-binary-mode t)) @@ -163,6 +165,8 @@ code conversion will not take place." (defalias find-file-noselect-as-raw-text 'find-file-noselect) +(defalias find-file-noselect-as-raw-text-CRLF 'find-file-noselect) + (defun save-buffer-as-binary (&optional args) "Like `save-buffer', q.v., but don't encode." (let ((emx-binary-mode t)) diff --git a/poem-nemacs.el b/poem-nemacs.el index 9170a8e..1af5fef 100644 --- a/poem-nemacs.el +++ b/poem-nemacs.el @@ -205,10 +205,19 @@ (defun insert-file-contents-as-raw-text (filename &optional visit beg end replace) "Like `insert-file-contents', q.v., but don't character code conversion. -\[emu-nemacs.el]" - (as-binary-input-file - ;; Returns list absolute file name and length of data inserted. - (insert-file-contents filename visit))) +It converts line-break code from CRLF to LF. [emu-nemacs.el]" + (save-restriction + (narrow-to-region (point) (point)) + (let ((return (as-binary-input-file + (insert-file-contents filename visit)))) + (while (search-forward "\r\n" nil t) + (replace-match "\n")) + (goto-char (point-min)) + ;; Returns list absolute file name and length of data inserted. + (list (car return) (- (point-max) (point-min)))))) + +(defalias 'insert-file-contents-as-raw-text-CRLF + 'insert-file-contents-as-raw-text) (defun write-region-as-raw-text-CRLF (start end filename &optional append visit lockname) @@ -223,27 +232,42 @@ filename append visit)))) (defun find-file-noselect-as-binary (filename &optional nowarn rawfile) - "Like `find-file-noselect', q.v., but don't code conversion." - (as-binary-input-file (find-file-noselect filename nowarn rawfile))) + "Like `find-file-noselect', q.v., but don't code conversion. +\[emu-nemacs.el]" + (as-binary-input-file (find-file-noselect filename nowarn))) (defun find-file-noselect-as-raw-text (filename &optional nowarn rawfile) "Like `find-file-noselect', q.v., but it does not code conversion -except for line-break code." - (as-binary-input-file (find-file-noselect filename nowarn rawfile))) +except for line-break code. [emu-nemacs.el]" + (or (get-file-buffer filename) + (save-excursion + (prog1 + (set-buffer + (as-binary-input-file + (find-file-noselect filename nowarn))) + (while (search-forward "\r\n" nil t) + (replace-match "\n")) + (goto-char (point-min)) + (set-buffer-modified-p nil))))) + +(defalias 'find-file-noselect-as-raw-text-CRLF + 'find-file-noselect-as-raw-text) (defun open-network-stream-as-binary (name buffer host service) - "Like `open-network-stream', q.v., but don't code conversion." + "Like `open-network-stream', q.v., but don't code conversion. +\[emu-nemacs.el]" (let ((process (open-network-stream name buffer host service))) (set-process-kanji-code process 0) process)) (defun save-buffer-as-binary (&optional args) - "Like `save-buffer', q.v., but don't encode." + "Like `save-buffer', q.v., but don't encode. [emu-nemacs.el]" (as-binary-output-file (save-buffer args))) (defun save-buffer-as-raw-text-CRLF (&optional args) - "Like `save-buffer', q.v., but save as network representation." + "Like `save-buffer', q.v., but save as network representation. +\[emu-nemacs.el]" (if (buffer-modified-p) (save-restriction (widen) @@ -268,7 +292,7 @@ except for line-break code." (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 `kanji-fileio-code'." +be applied to `kanji-fileio-code'. [emu-nemacs.el]" (let ((kanji-fileio-code coding-system) kanji-expected-code) (insert-file-contents filename visit))) @@ -276,7 +300,7 @@ be applied to `kanji-fileio-code'." (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 `kanji-fileio-code'." +applied to `kanji-fileio-code'. [emu-nemacs.el]" (let ((kanji-fileio-code coding-system) jka-compr-compression-info-list jam-zcat-filename-list) (write-region start end filename append visit))) @@ -284,14 +308,14 @@ applied to `kanji-fileio-code'." (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 `kanji-fileio-code'." +be applied to `kanji-fileio-code'. [emu-nemacs.el]" (let ((kanji-fileio-code coding-system) kanji-expected-code) (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 `kanji-fileio-code'." +applied to `kanji-fileio-code'. [emu-nemacs.el]" (let ((kanji-fileio-code coding-system)) (save-buffer args))) @@ -337,7 +361,8 @@ but the contents viewed as characters do change. (defalias 'char-length 'char-bytes) (defmacro char-next-index (char index) - "Return index of character succeeding CHAR whose index is INDEX." + "Return index of character succeeding CHAR whose index is INDEX. +\[emu-nemacs.el]" (` (+ (, index) (char-bytes (, char))))) diff --git a/poem-om.el b/poem-om.el index 34751d3..010527c 100644 --- a/poem-om.el +++ b/poem-om.el @@ -304,6 +304,9 @@ code." (insert-file-contents-as-coding-system 'raw-text filename visit beg end replace)) +(defalias 'insert-file-contents-as-raw-text-CRLF + 'insert-file-contents-as-raw-text) + (defun write-region-as-binary (start end filename &optional append visit lockname) "Like `write-region', q.v., but don't code conversion." @@ -325,6 +328,9 @@ code." conversion except for line-break code." (find-file-noselect-as-coding-system 'raw-text filename nowarn rawfile)) +(defalias 'find-file-noselect-as-raw-text-CRLF + 'find-file-noselect-as-raw-text) + (defun save-buffer-as-binary (&optional args) "Like `save-buffer', q.v., but don't encode." (let ((file-coding-system 'binary)) -- 1.7.10.4