[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is it possible to use new Emacsen with non-ASCII?

From: Eli Zaretskii
Subject: Re: Is it possible to use new Emacsen with non-ASCII?
Date: Fri, 16 May 2008 11:48:56 +0300

> From: Ilya Zakharevich <address@hidden>
> Date: Fri, 16 May 2008 07:24:49 +0000 (UTC)
> Bcc: address@hidden
> Originator: address@hidden
> > > When?  After (set-language-environment "Cyrillic-KOI8")?  nil
> > 
> > Then set it to whatever your terminal supports (koi8-r, I presume, but
> > that's a guess).  "M-x set-terminal-coding-system RET koi8-r RET".
> And why set-language-environment did not do it?  

It isn't supposed to.  set-language-environment sets things up for
using a given language inside Emacs, but it does not assume your
terminal and keyboard necessarily support that language.  So it leaves
the job of specifying the terminal's and keyboard's encoding to you.

> > Alternatively, try "(set-locale-environment koi8-r)", and see if that
> > does what you want.  This will also set your keyboard encoding to
> > koi8-r, and I'm not sure you want that.  (Maybe you should consider
> > describing more about what you want: what files do you want to edit,
> > how would you like your keyboard to be set, and what characters can
> > your terminal display.  There are probably a couple of lines you need
> > to add to your .emacs to get what you want, but it's hard to give
> > advice without knowing the conditions.)
> I did describe what I want (but maybe in a different place in the
> thread): Be as smart as cat is.  Allow characters which are input from
> keyboard (TTY), and allow them to be written a file.

Well, that is impossible, as I wrote elsewhere in this thread, not
with Emacs, anyway.

But what you say here is a solution, not the problem.  By ``what you
want'' I meant the description of your system setup as far as
non-ASCII support by its keyboard and display devices is considered.
I asked a few specific questions (see the citation above).  I'm quite
sure that if you describe that, an easy solution can be found in no
time.  I'm talking from experience: I'm using Cyrillic scripts all the
time in an environment that has nothing to do with Cyrillic languages
and doesn't support them natively.

> > > > If your LANG or LC_ALL environment variables are set appropriately,
> > > > Emacs should automatically use the correct terminal-coding-system,
> > > > language-environment etc.
> > > 
> > > Irrelevant.  I can't set LANG.
> > That's quite understandable, but set-locale-environment from within
> > Emacs has the same effect on Emacs, and doesn't affect anything but
> > Emacs.
> I do not follow.  Do you say that set-locale-environment is going to
> be useless anyway if the locale is not supported by the CRTL?

No, I'm saying that set-locale-environment does the same for Emacs as
setting LANG outside Emacs, with the crucial difference that the
former does not affect anything outside Emacs.  I assumed, perhaps
mistakenly, that you cannot set LANG because that would disrupt
operation of other programs on that machine.  If this assumption is
wrong, then please tell why you cannot set LANG; perhaps I
misunderstood the nature of your situation.

> [Suppose for a moment that I do not care which 8-bit chars are word
>  chars, which are whitespace etc.  All I need Emacs is to read bytes
>  from TTY, and write them down to a file.]

This cannot be done, not with Emacs.  Its current design simply
doesn't support such a paradigm, because the design assumes that
editing multilingual text is an important first-class goal of the
user.  It might be possible to tweak Emacs into behaving like what you
want, but I personally wouldn't bother to waste my time looking for
such a tweak, not the least because I don't need it: Emacs works well
for me, on text-mode and GUI terminals alike, with scripts that are
utterly alien to the underlying locale.  I'm quite sure it will work
well for you as well, once the nature of your system setup is
understood and accounted for in your .emacs.

reply via email to

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