[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: Re: Character problems]
From: |
Eli Zaretskii |
Subject: |
Re: address@hidden: Re: Character problems] |
Date: |
Mon, 25 Mar 2002 21:58:52 +0200 |
> From: Richard Stallman <address@hidden>
> Date: Mon, 25 Mar 2002 05:02:06 -0700 (MST)
>
> Can someone please work on this?
I don't see any problem; see below.
> Why would the workings of assoc (which has nothing to do with the
> display be affected?!!!
You may wish to look at the definition of standard-display-european
(on disp-table.el). (``Use the source, Luke!'' is still the best
policy, even with Emacs 21 ;-) There you will see that it does all
kinds of non-trivial things: makes your Emacs session a unibyte
session, possibly switches to a different language environment,
changes your terminal encoding, etc. These changes can easily modify
what the non-ASCII characters you type produce internally in Emacs.
So, the first time you type some character it is interpreted as a
multibyte Latin-1 character, but after you turn
standard-display-european on or off, the same character is interpreted
differently, e.g. as a single-byte unibyte code. Or vice versa. Thus
the failure in assoc: the list has some multibyte code, while you are
looking for a unibyte code in [0..255], or the other way around.
To see what is actually in the buffer, go to the offending character
and type "C-u C-x =". Emacs will show you what it knows about that
character. Do it for both a character in the list and the one you use
in assoc, and I'm sure you will see they are two different characters.
The moral? don't use standard-display-european. It's confusing and
unnecessary. There are better ways to do what it does.