[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to convert this macro to Elisp?
From: |
kj |
Subject: |
Re: How to convert this macro to Elisp? |
Date: |
Tue, 16 Feb 2010 14:27:21 +0000 (UTC) |
User-agent: |
nn/6.7.3 |
In <pco4olij5ot.fsf@math.ntnu.no> Harald Hanche-Olsen <hanche@math.ntnu.no>
writes:
>+ kj <no.email@please.post>:
>> I have a macro that I want to convert to Elisp. Furthermore, I
>> want the resulting code to be completely non-interactive.
>>
>> Here's what the macro looks like:
>>
>> C-x RET c ;; universal-coding-system-argument
>> euc-jp ;; self-insert-command * 6
>> RET ;; newline
>> C-x C-f ;; find-file
>> test ;; self-insert-command * 4
>> RET ;; newline
>> C-x RET f ;; set-buffer-file-coding-system
>> utf-8 ;; self-insert-command * 5
>> RET ;; newline
>> C-x C-s ;; save-buffer
>> raw-text ;; self-insert-command * 8
>> RET ;; newline
>>
>> How can I convert this to Elisp?
>Something like this might work (not properly tested):
>(defun select-utf-8-or-raw (from to &rest _)
> (if (memq 'utf-8 (find-coding-systems-region from to))
> 'utf-8 'raw-text))
>(defun change-file-coding-to-utf-8 (filename from-coding)
> (let ((coding-system-for-read from-coding))
> (find-file filename)
> (set-buffer-file-coding-system 'utf-8)
> (let ((select-safe-coding-system-function 'select-utf-8-or-raw))
> (save-buffer))))
Thanks!!! This gets me started.
~K