[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fixing M$ character codes, redux
From: |
David Kastrup |
Subject: |
Re: fixing M$ character codes, redux |
Date: |
Fri, 08 Oct 2004 00:37:21 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux) |
ken <gebser@speakeasy.net> writes:
> Because I often confronted much the same set of goofy M$ (or whatever)
> characters, I followed the earlier thread about programmatically
> translating the bad characters into something useful. Unfortunately,
> like one other poster here, the supplied script didn't work at all for
> me. I'm guessing that the set of screwy characters I was getting
> might have been coming from somewhere else, maybe not from Windoze or
> maybe it's something to do with the input method or charset I'm set up
> for.
>
> So I created these handful of commands:
>
> (replace-string "\205" "..." nil nil nil) ; might be a dash (-) (??)
> (replace-string "\222" "'" nil nil nil)
> (replace-string "\223" "``" nil nil nil)
> (replace-string "\224" "''" nil nil nil)
> (replace-string "\226" "-" nil nil nil)
> (replace-string "\227" "-- " nil nil nil)
> (replace-string "\240" " " nil nil nil) ;soft space
>
> They all work just peachy. I run each one separately by doing C-x C-[
> C-[ (for me, the same as C-x ESC ESC) which minibuffer prompts me to
> run (redo) the last command. I delete the default that "redo"
> provides and paste in each of the above "replace-string ..." commands.
> I developed and tried it on one file today, and it works great. (Note
> please that the "characters" which appear in the file edited appear
> just as they do in the first arguments of the above commands, except
> that C-f acts like all four characters-- e.g., in "\234" are just one
> character... in a sense it is.)
>
> What I'd like to do is wrap all the above commands into one defun. I
> tried using some other code:
>
> (defun kef.de8 ()
> "Turn 8bit characters into 7bit equivalents."
> (interactive)
> (mapcar
> (function (lambda (old_and_new)
> (save-excursion (apply 'query-replace old_and_new))))
You are missing '( here
> ("\205" "...") ; might be a dash (-) (??)
> ("\222" "'")
> ("\223" "``" )
> ("\224" "''")
> ("\226" "-")
> ("\227" "-- ")
> ("\240" " ") ;soft space
> )))
>
> But running this didn't work-- the minibuffer told me it made no
> replacements; however, the above "(replace-string ...)" things did
> work. I could write a little utility in C and some other languages to
> do this, but elisp still makes an idiot out of me. Any help?
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum