help-gnu-emacs
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]