[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mac/dos/unix newline conversion without specify from
From: |
Xah Lee |
Subject: |
mac/dos/unix newline conversion without specify from |
Date: |
Sun, 2 Dec 2007 10:14:44 -0800 (PST) |
User-agent: |
G2/1.0 |
i was surprised today, to find that Carbon Emacs 22 and also Aquamacs,
does not open a file with classic Mac OS line endings properly? (i.e.
EOL shows up as ^M)
i realized this when trying to write a elisp program to do the
conversion given a file name.
originally, i thought set-buffer-file-coding-system does it. But not
so if the file opened is a classic mac os file with CR as newline.
After some elisp doc reading, i find that i have to call (coding-
system-for-read 'mac) first. But then, it is not better if i actually
just do the newline replacement myself like this:
; code untested
(defun xx ()
"temp... Convert list of files to unix/mac/dos's newline char."
(interactive)
(let (fpath mybuffer)
(setq fpath "~/web/emacs/x2/x1mac")
(setq mybuffer (find-file fpath))
; note: Mac here denote Mac OS up to 9.
; In Mac OS X, both unix newline and old mac newline are accepted,
but unix newline is recommended.
(replace-string "\n" "\r" nil 1 (1+ (buffer-size))) ; unix to mac
(replace-string "\n" "\r\n" nil 1 (1+ (buffer-size))) ; unix to
dos
(replace-string "\r" "\n" nil 1 (1+ (buffer-size))) ; mac to unix
(replace-string "\r" "\r\n" nil 1 (1+ (buffer-size))) ; mac to dos
(replace-string "\r\n" "\n" nil 1 (1+ (buffer-size))) ; dos to
unix
(replace-string "\r\n" "\r" nil 1 (1+ (buffer-size))) ; dos to mac
; (set-buffer-file-coding-system 'unix) ; or 'mac or 'dos
(save-buffer)
(kill-buffer mybuffer)
)
)
Basically, i was trying to avoid having both to specify the from and
to. I was hoping to just specifiy the to.
any suggestions? Thanks.
Xah
xah@xahlee.org
\xAD\xF4 http://xahlee.org/
- mac/dos/unix newline conversion without specify from,
Xah Lee <=
- Re: mac/dos/unix newline conversion without specify from, David Reitter, 2007/12/04
- Re: mac/dos/unix newline conversion without specify from, Xah Lee, 2007/12/05
- Re: mac/dos/unix newline conversion without specify from, David Kastrup, 2007/12/05
- Re: mac/dos/unix newline conversion without specify from, Xah Lee, 2007/12/05
- Re: mac/dos/unix newline conversion without specify from, David Kastrup, 2007/12/05
- Re: mac/dos/unix newline conversion without specify from, Xah Lee, 2007/12/05
- Re: mac/dos/unix newline conversion without specify from, David Kastrup, 2007/12/05
- Re: mac/dos/unix newline conversion without specify from, Xah Lee, 2007/12/07
- Re: mac/dos/unix newline conversion without specify from, Stefan Monnier, 2007/12/07
- Re: mac/dos/unix newline conversion without specify from, Stefan Monnier, 2007/12/07