all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ken <gebser@speakeasy.net>
To: help-gnu-emacs@gnu.org
Subject: Re: How to get rid of Microsoft dumb quotes, e.g. \222 for apostrophe?
Date: Fri, 16 Feb 2007 11:02:23 -0500	[thread overview]
Message-ID: <45D5D58F.2050900@speakeasy.net> (raw)
In-Reply-To: <87zm7e8e7j.fsf@wivenhoe.staff8.ul.ie>


On 02/16/2007 07:44 AM somebody named Brendan Halpin wrote:
> "Endless Story" <usable.thought@gmail.com> writes:
> 
>> I have just started seeing lots of nasty stuff like \222 instead of
>> apostrophes in working on text files in Emacs on XP, then trying to
>> reformat these files for LaTeX. 
> 
> Something like this might work: 
> 
>   (while (re-search-forward "[€-Ÿ]" nil t)
>     (let ((mschar (buffer-substring-no-properties 
>                    (match-beginning 0) (match-end 0))))
>       (cond 
>        ((string= mschar "‘") (replace-match "`" )) 
>        ((string= mschar "’") (replace-match "'" )) 
>        ((string= mschar "“") (replace-match "``")) 
>        ((string= mschar "”") (replace-match "''")) 
>        ((string= mschar "–") (replace-match "--")))))
> 
> Obviously, the list of matches can be extended.
> 
> Brendan

Thanks much for this.  To make better use, I added a bit of code to the
above:

(defun replace-garbage-chars ()
"Replace goofy MS and other garbage characters with latin1 equivalents."
(interactive)
(save-excursion				;save the current point
  (goto-char (point-min))		;go to begin of buffer
	     (while (re-search-forward "[€-Ÿ]" nil t)
	       (let ((mschar (buffer-substring-no-properties
			      (match-beginning 0) (match-end 0))))
		 (cond
		  ((string= mschar "‘") (replace-match "`" ))
		  ((string= mschar "Â’") (replace-match "'" ))
		  ((string= mschar "“") (replace-match "``"))
		  ((string= mschar "”") (replace-match "''"))
		  ((string= mschar "—") (replace-match "--'"))
		  ((string= mschar "–") (replace-match "--")))))))

This allows, or should allow, the binding of the function to a key
chord.  But something is not right.  Can anyone tell where the problem
is.  Running this function I get no errors, but the garbage/mschars are
not replaced.


tia,
ken

  reply	other threads:[~2007-02-16 16:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-16 12:19 How to get rid of Microsoft dumb quotes, e.g. \222 for apostrophe? Endless Story
2007-02-16 12:44 ` Brendan Halpin
2007-02-16 16:02   ` ken [this message]
2007-02-16 16:14     ` Sebastian P. Luque
2007-02-17 11:04       ` ken
     [not found]   ` <mailman.4605.1171641752.2155.help-gnu-emacs@gnu.org>
2007-02-16 16:59     ` Brendan Halpin
2007-02-16 22:22       ` ken
2007-02-17  1:47   ` Stefan Monnier
2007-02-17 12:06     ` ken
     [not found]     ` <mailman.4653.1171713988.2155.help-gnu-emacs@gnu.org>
2007-02-17 17:29       ` Stefan Monnier
2007-02-19 14:17   ` ken
2007-02-19 16:28     ` Shanks N
2007-02-19 18:48       ` ken
     [not found]   ` <mailman.4721.1171894691.2155.help-gnu-emacs@gnu.org>
2007-02-20  2:00     ` Stefan Monnier
2007-02-20 10:45       ` ken
2007-02-20 10:56         ` Juanma Barranquero
2007-02-20 12:46           ` ken
2007-02-20 13:07             ` Juanma Barranquero
2007-02-21  9:29     ` Endless Story
2007-02-16 16:22 ` Stefan Monnier
2007-02-16 17:00   ` Endless Story
2007-02-16 22:00     ` Radamanthe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45D5D58F.2050900@speakeasy.net \
    --to=gebser@speakeasy.net \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.