* Re: windows-1251 language environment [not found] <mailman.878.1064866468.21628.bug-gnu-emacs@gnu.org> @ 2003-09-30 17:11 ` Kevin Rodgers [not found] ` <200310032356.54476.pogonyshev@gmx.net> 1 sibling, 0 replies; 49+ messages in thread From: Kevin Rodgers @ 2003-09-30 17:11 UTC (permalink / raw) Paul Pogonyshev wrote: > I recompiled Emacs today and found that "Windows-1251" language > environment is gone. This is definitely a wrong decision. Maybe you > removed it because you dislike Windows (me too, i don't use it) -- i > don't know, but by far the most of russian speakers use `cp1251' > codepage and i and many others have to cooperate. > > It was not hard for me to hack `language/cyrillic.el' and return that > language environment, but i ask you to revert the change in the Emacs > CVS tree. I think this message explains that change. Also, please report CVS Emacs bugs to emacs-pretest-bug@gnu.org, not here (bug-gnu-emacs@gnu.org). From: Anton Zinoviev <anton@lml.bas.bg> Newsgroups: gmane.emacs.devel Subject: Patch for some Cyrillic languages Date: Fri, 26 Sep 2003 19:02:40 +0300 Lines: 336 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Approved: news@gmane.org Message-ID: <20030926160239.GI25564@lml.bas.bg> NNTP-Posting-Host: deer.gmane.org ... emacs/lisp/language/cyrillic.el ... CP1251: This coding system was implemented differently that the others. A buffer with symbols from iso-8859-5 character set can not be saved using CP1251 (although iso-8859-5 is a subset of CP1251). There was no support for cp1251 fonts and no mime-charset. I haven't given much thought about this, I simply reimplemented this coding system the same way as the other Cyrillic coding systems are implemented. During this I renamed this coding system from windows-1251 to cp1251 (the first stays still as an alias). Reason: the name CP1251 is used by Glibc and GNU utilities (includingly gettext), this name is what most people are used to and will expect from Emacs. This patch doesn't include a generic language environment for CP1251. I will make such an environment latter since CP1251 is widely used for several languages. -- Kevin Rodgers ^ permalink raw reply [flat|nested] 49+ messages in thread
[parent not found: <200310032356.54476.pogonyshev@gmx.net>]
[parent not found: <rzq1xtrsdrm.fsf@albion.dl.ac.uk>]
[parent not found: <200310060013.52049.pogonyshev@gmx.net>]
* Re: windows-1251 language environment [not found] ` <200310060013.52049.pogonyshev@gmx.net> @ 2003-10-07 2:54 ` Kenichi Handa 2003-10-07 11:56 ` Anton Zinoviev ` (2 more replies) 0 siblings, 3 replies; 49+ messages in thread From: Kenichi Handa @ 2003-10-07 2:54 UTC (permalink / raw) Cc: emacs-devel, d.love, jasonr At first, I have installed a mechanism of auto-loading a coding system. As Dave suggested long ago, I added a code to auto-load a coding system in the function Fcheck_coding_system. See the change in code-pages.el which adds one autoload cookie for iso-8859-11 as an example. I have not yet tested it fully. We may have to add GCPROs in several places. In article <200310060013.52049.pogonyshev@gmx.net>, Paul Pogonyshev <pogonyshev@gmx.net> writes: >> [Not even utf-8?] That's not the point, though. You're arguing >> essentially for an explosion of language environments crossing the >> existing ones with windows-125N &c (not just Cyrillic ones). We think >> that isn't the right way to approach the problem and no-one else seems >> likely to work on this. I agree that we should avoid creating many many predefined language environments. > This basically ends the discussion. However, i don't agree that it's the > most intuitive interface. Right. I think what we need for language environment is a mechanism similar to face; i.e. creating a new one easily while allowing inheriting, and customizing an existing one easily. > Let's imagine how it happens. People look at language/coding support and > see language environment. They think: "Aha, i set a language environment > and everything works". But then they suddenly discover that setting > "Russian" (or some else) language environment doesn't suffice. They look > for another, similar environment, but with different codepage. And don't > found it. For instance, in such a case, we can allow people to create a new lang. env. by inheriting, for instance, Russian, and modifying coding-system to windows-1251. C-h L (describe-language-environment) should also have these clickable lines: You can customize this language environment. and You can create a new language environment that inherits this language environment. --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-07 2:54 ` Kenichi Handa @ 2003-10-07 11:56 ` Anton Zinoviev 2003-10-12 15:45 ` Dave Love 2003-10-08 4:51 ` Richard Stallman 2003-10-10 17:11 ` Dave Love 2 siblings, 1 reply; 49+ messages in thread From: Anton Zinoviev @ 2003-10-07 11:56 UTC (permalink / raw) Cc: jasonr, d.love, pogonyshev On 7.X.2003 at 11:54 Kenichi Handa wrote: > > For instance, in such a case, we can allow people to create > a new lang. env. by inheriting, for instance, Russian, and > modifying coding-system to windows-1251. That is a good feature, it will be usefull say for Bulgarian as Bulgarians use two completely different keyboard layouts. The example given here however is very bad. CP1251 is not similar to the others CP???? coding systems because it is used extensively for several languages in the GNU systems. Unfortunately the name of this coding system often confuses people. This coding system is standard for Belarusian and Bulgarian languages and it is used very often also for other languages. It supports and _is_ often used for all non-Asian Cyrillic languages. The generic language environment for CP1251 should have a generic input method (rather than Russian). The TUTORIAL should not be presented in Russian as many people outside the former SU do not know Russian. The mails sent in this environment should not be encoded in koi8-r. Anton Zinoviev P.S. On 26 September I sent here a message regarding the Cyrillic support of Emacs. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-07 11:56 ` Anton Zinoviev @ 2003-10-12 15:45 ` Dave Love 2003-10-17 12:49 ` Anton Zinoviev 0 siblings, 1 reply; 49+ messages in thread From: Dave Love @ 2003-10-12 15:45 UTC (permalink / raw) Cc: pogonyshev, jasonr, emacs-devel Anton Zinoviev <anton@lml.bas.bg> writes: > Bulgarians use two completely different keyboard layouts. > CP1251 is not similar to the others CP???? coding systems because it > is used extensively for several languages in the GNU systems. I don't understand this. As far as I know, the only significant difference between that and the other 125N charsets is that 1251 is used by the two GNU locales. Presumably the others are widely used for the languages they support. > The generic language environment for CP1251 should have a generic > input method (rather than Russian). I'm still unconvinced that there should be such a _language_ environment. > The TUTORIAL should not be presented in Russian as many people > outside the former SU do not know Russian. Actually, the environments named after a charset don't have tutorials. I think the tutorial is currently the only thing language-specific in language environments unless you count input methods which only make sense in specific languages. > The mails sent in this environment should not be encoded in koi8-r. I'm surprised that might happen if you prefer a different coding system, but I only know how Gnus Message mode works in detail. [I don't know why there are a separate Message and Sendmail modes...] Actually, how mail should be encoded isn't always clear cut. For instance, if you are replying to koi8-r mail, you could argue the reply should be in koi8-r even if you have preferred a different Cyrillic charset generally. By the way, I think the Bulgarian tutorial should be encoded in windows-1251. Only non-Bulgarians commented (negatively) on that as far as I know. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-12 15:45 ` Dave Love @ 2003-10-17 12:49 ` Anton Zinoviev 2003-10-17 13:22 ` Terje Rosten 2003-10-21 22:38 ` Dave Love 0 siblings, 2 replies; 49+ messages in thread From: Anton Zinoviev @ 2003-10-17 12:49 UTC (permalink / raw) Cc: emacs-devel, jasonr, pogonyshev On 12.X.2003 at 16:45 Dave Love wrote: > > > CP1251 is not similar to the others CP???? coding systems because it > > is used extensively for several languages in the GNU systems. > > I don't understand this. What is the difference between CP1251 and some ISO 8859 coding system? The only difference that I can see is the name. > As far as I know, the only significant difference between that and > the other 125N charsets is that 1251 is used by the two GNU locales. > Presumably the others are widely used for the languages they > support. I'am pretty sure that the other 125N coding systems are not as widely used in GNU systems as 1251 is. The other 125N coding systems have corresponding ISO 8859. You don't have to use CP1252 because you can use ISO 8859-1. The correspondence between CP1250 and ISO8859-2 is not as close, but again -- if your encoding is ISO8859-2 you can read text coded with CP1250. However if you have text coded with CP1251 then you want be able to read anything unless your system uses exactly CP1251. Thats one reason why CP1251 became standard for the Belarusian and Bulgarian Glibc locales and thats why there are some GNU/Linux distributions that make CP1251 standard also for Russian and Ukrainian. Another reason is that among plenty of Cyrillic coding systems CP1251 is the only that supports all Cyrillic Slavic languages. It supports also several non-slavic Cyrillic languages. It is interesting to know which CP125N encodings XFree86 supports. That are CP1251, CP1255 and CP1256. The first is Cyrillic, the second is Hebrew and the third is Arabic. This is another demonstration of the problems that non-Latin users have. Anton Zinoviev ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-17 12:49 ` Anton Zinoviev @ 2003-10-17 13:22 ` Terje Rosten 2003-10-17 14:36 ` Anton Zinoviev 2003-10-21 22:38 ` Dave Love 1 sibling, 1 reply; 49+ messages in thread From: Terje Rosten @ 2003-10-17 13:22 UTC (permalink / raw) * Anton Zinoviev | | What is the difference between CP1251 and some ISO 8859 coding system? >From Unicode Demystified, Richard Gillam, ISBN 0-201-70052-2, page 41: Windows code page 1252, the Western European encoding for Windows, for example, is a superset of ISO 8859-1. It includes all of the Latin-1 characters, but then fills the C1 space with additional printing characters. I believe the same is true for code page 1251. The C1 space in ISO 8859 is reserved for control characters. - Terje ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-17 13:22 ` Terje Rosten @ 2003-10-17 14:36 ` Anton Zinoviev 2003-10-17 16:58 ` Terje Rosten 0 siblings, 1 reply; 49+ messages in thread From: Anton Zinoviev @ 2003-10-17 14:36 UTC (permalink / raw) Cc: emacs-devel On 17.X.2003 at 15:22 Terje Rosten wrote: > * Anton Zinoviev > | > | What is the difference between CP1251 and some ISO 8859 coding system? > > >From Unicode Demystified, Richard Gillam, ISBN 0-201-70052-2, page 41: > > Windows code page 1252, the Western European encoding for Windows, > for example, is a superset of ISO 8859-1. It includes all of the > Latin-1 characters, but then fills the C1 space with additional > printing characters. > > I believe the same is true for code page 1251. No, that is not true. I'd like to stress that cp1251 is a non-latin coding system. Even if you terminal supports only ASCII, then you probably can read French or German or Spanish, etc, as most of the characters are basic latin. But try to use the command `iconv -tebcdic-us' in order to recode some English text to EBCDIC. Then you will understand better the difference between the Latin and the non-Latin cp125N coding systems. Anton Zinoviev ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-17 14:36 ` Anton Zinoviev @ 2003-10-17 16:58 ` Terje Rosten 0 siblings, 0 replies; 49+ messages in thread From: Terje Rosten @ 2003-10-17 16:58 UTC (permalink / raw) * Anton Zinoviev | | No, that is not true. | | I'd like to stress that cp1251 is a non-latin coding system. Sorry, I was a bit quick. Overlook the Latin part, it seems to me that code page 1251 is filled with printing characters in the C1 space while all ISO 8859 encodings have control characters here. Hence it is a difference between code page 1251 and any ISO 8859 encoding. - Terje ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-17 12:49 ` Anton Zinoviev 2003-10-17 13:22 ` Terje Rosten @ 2003-10-21 22:38 ` Dave Love 2003-10-23 9:23 ` Richard Stallman 2003-10-24 17:07 ` Anton Zinoviev 1 sibling, 2 replies; 49+ messages in thread From: Dave Love @ 2003-10-21 22:38 UTC (permalink / raw) Cc: emacs-devel, jasonr, pogonyshev Anton Zinoviev <anton@lml.bas.bg> writes: > You don't have to use CP1252 because you can use ISO 8859-1. Please don't tell me what charsets I need. I've provided support for the ones you need -- with considerable opposition -- and I've fought for people to be able to use which charsets they want/need. > This is another demonstration of the problems that non-Latin users > have. I'm sorry, I don't understand the problem, and particularly why you're saying this to me. It sounds as though you're confusing me with the Russian-speaking maintainer who has long opposed providing the proper windows-125[12] repertoire. There is rather extensive support for Cyrillic and other non-Latin scripts in Emacs. The multilingual features actually come from Japan. Obviously there is room for improvement, but not by considering particular scripts or character sets as special cases. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-21 22:38 ` Dave Love @ 2003-10-23 9:23 ` Richard Stallman 2003-10-24 17:07 ` Anton Zinoviev 1 sibling, 0 replies; 49+ messages in thread From: Richard Stallman @ 2003-10-23 9:23 UTC (permalink / raw) Cc: pogonyshev, jasonr, anton, emacs-devel Obviously there is room for improvement, but not by considering particular scripts or character sets as special cases. There is no aprioii principle against considering them as special cases. there have to be valid special reasons for doing do. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-21 22:38 ` Dave Love 2003-10-23 9:23 ` Richard Stallman @ 2003-10-24 17:07 ` Anton Zinoviev 1 sibling, 0 replies; 49+ messages in thread From: Anton Zinoviev @ 2003-10-24 17:07 UTC (permalink / raw) Cc: emacs-devel On 21.X.2003 at 23:38 Dave Love wrote: > Anton Zinoviev <anton@lml.bas.bg> writes: > > > You don't have to use CP1252 because you can use ISO 8859-1. > > Please don't tell me what charsets I need. If my message seams offensive to you -- I apologise. When I wrote "You don't have to use CP1252 because you can use ISO 8859-1" I wanted to write "People don't have to use CP1252 because they can use ISO 8859-1". > I've provided support for the ones you need -- with considerable > opposition -- and I've fought for people to be able to use which > charsets they want/need. I know this -- thank you. Anton Zinoviev ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-07 2:54 ` Kenichi Handa 2003-10-07 11:56 ` Anton Zinoviev @ 2003-10-08 4:51 ` Richard Stallman 2003-10-08 10:40 ` Kenichi Handa 2003-10-10 17:11 ` Dave Love 2 siblings, 1 reply; 49+ messages in thread From: Richard Stallman @ 2003-10-08 4:51 UTC (permalink / raw) Cc: emacs-devel, d.love, jasonr, pogonyshev [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 789 bytes --] Inheritance of language environments could be a useful idea, but I am not sure how much it would save. Consider this one: (set-language-info-alist "French" '((tutorial . "TUTORIAL.fr") (charset ascii latin-iso8859-1) (coding-system iso-latin-1 iso-latin-9) (coding-priority iso-latin-1) (nonascii-translation . latin-iso8859-1) (unibyte-syntax . "latin-1") (unibyte-display . iso-latin-1) (input-method . "latin-1-prefix") (sample-text . "French (Français) Bonjour, Salut") (documentation . "\ This language environment is almost the same as Latin-1, but it selects the French tutorial and input method.")) '("European")) We could make it shorter using inheritance, but it is already pretty short; is it really worth while making it any shorter? ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-08 4:51 ` Richard Stallman @ 2003-10-08 10:40 ` Kenichi Handa 2003-10-09 14:44 ` Richard Stallman 0 siblings, 1 reply; 49+ messages in thread From: Kenichi Handa @ 2003-10-08 10:40 UTC (permalink / raw) Cc: emacs-devel, d.love, jasonr, pogonyshev In article <E1A76I5-0002tC-Rk@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes: > Inheritance of language environments could be a useful idea, > but I am not sure how much it would save. Consider this one: [...] > We could make it shorter using inheritance, but it is already pretty > short; is it really worth while making it any shorter? The purpose of inheritance is not only to make it shorter. With inheritance, users can make a new lang. env. easily by inheriting the one that matches best to his purpose. Another way is to make a new lang. env. by copying an existing one. With inheritance, the change to parent affects lang. envs inheritting it. With copying, no. So, purhaps both method is useful (as well as the case of face). --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-08 10:40 ` Kenichi Handa @ 2003-10-09 14:44 ` Richard Stallman 2003-10-12 15:40 ` Dave Love 2003-10-13 23:50 ` Kenichi Handa 0 siblings, 2 replies; 49+ messages in thread From: Richard Stallman @ 2003-10-09 14:44 UTC (permalink / raw) Cc: pogonyshev, jasonr, d.love, emacs-devel With inheritance, the change to parent affects lang. envs inheritting it. With copying, no. So, purhaps both method is useful (as well as the case of face). Is it useful enough to warrant spending time writing it and debugging it, and spend time and paper documenting it? We could do other things instead. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-09 14:44 ` Richard Stallman @ 2003-10-12 15:40 ` Dave Love 2003-10-13 23:50 ` Kenichi Handa 1 sibling, 0 replies; 49+ messages in thread From: Dave Love @ 2003-10-12 15:40 UTC (permalink / raw) Cc: pogonyshev, emacs-devel, jasonr, Kenichi Handa Richard Stallman <rms@gnu.org> writes: > Is it useful enough to warrant spending time writing it and debugging > it, and spend time and paper documenting it? We could do other things > instead. Apart from making `language' settings interact well with the locale charset, another thing that needs to be done in this area is customizing fontsets conveniently and making the default font usage sensible for the locale. E.g. users presumably want to favour a windows-1251 font for all characters it can encode when the locale uses windows-1251 (although in that case it isn't a standard X encoding, and I don't know if any X fonts use it). I ran into problems related to normal face customization when I worked on it, and I don't think they got fixed. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-09 14:44 ` Richard Stallman 2003-10-12 15:40 ` Dave Love @ 2003-10-13 23:50 ` Kenichi Handa 2003-10-14 19:31 ` Richard Stallman 1 sibling, 1 reply; 49+ messages in thread From: Kenichi Handa @ 2003-10-13 23:50 UTC (permalink / raw) Cc: pogonyshev, jasonr, d.love, emacs-devel In article <E1A7c1w-00079A-Bu@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes: > With inheritance, the change to parent affects lang. envs > inheritting it. With copying, no. So, purhaps both method > is useful (as well as the case of face). > Is it useful enough to warrant spending time writing it and debugging > it, and spend time and paper documenting it? We could do other things > instead. This issue is not that urgent, but I'm sure we must do something to allow users to customize a language environment and to avoid the explosion of numbers of language environments. --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-13 23:50 ` Kenichi Handa @ 2003-10-14 19:31 ` Richard Stallman 2003-10-15 13:44 ` Kenichi Handa 0 siblings, 1 reply; 49+ messages in thread From: Richard Stallman @ 2003-10-14 19:31 UTC (permalink / raw) Cc: pogonyshev, jasonr, d.love, emacs-devel This issue is not that urgent, but I'm sure we must do something to allow users to customize a language environment Why aren't the existing facilities enough for that? and to avoid the explosion of numbers of language environments. Asking users to define their own language environments, instead of defining them in Emacs, can help with that. I don't see how inheritance would help. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-14 19:31 ` Richard Stallman @ 2003-10-15 13:44 ` Kenichi Handa 2003-10-15 14:55 ` Stefan Monnier 2003-10-16 14:06 ` Richard Stallman 0 siblings, 2 replies; 49+ messages in thread From: Kenichi Handa @ 2003-10-15 13:44 UTC (permalink / raw) Cc: pogonyshev, jasonr, d.love, emacs-devel In article <E1A9Usz-0006PI-SL@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes: > This issue is not that urgent, but I'm sure we must do > something to allow users to customize a language environment > Why aren't the existing facilities enough for that? Existing facility is to write Emacs Lisp code in .emacs which is not for normal users. > and to avoid the explosion of numbers of language > environments. > Asking users to define their own language environments, instead of > defining them in Emacs, can help with that. I don't see how > inheritance would help. Currently, a user must define his own language environment from scratch. But, usually what they want is to prefer the diffent default input method, prefer the different coding system than the existing one. In such a case, what he have to do is, currently, see source code of lisp/language/XXX.el, copy (set-language-info-alist ....) into his .emacs, and modify some part of it. If we allow inheritance, he can do something like: (define-language-environment Japanese-utf-8 '((inherit . "Japanese") (coding-sytem utf-8 iso-2022-jp euc-jp))) > My intention is to have something like "new" under this menu: > <menu-bar> <options> <mule> <set-language-environment> > When "new" is selected, Emacs put a user in a buffer in > which he can create his own language environment > interactively. Typing C-c C-c should ask if he want to use > that environment in the future session. > That seems like a good feature. It could be implemented with > or without define-derived-language. Yes, but in the above buffer, it seems that "inherit" and "copy" button is helpful. For instance, clicking "inherit" and selecting LANG will show the default values for each slots. Clicking "copy" and selecting LANG fills all slots by values of LANG. I don't intend to have the actual functions define-derived-language. I think just adding a new key "inherit" in language-info-alist is enough. --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-15 13:44 ` Kenichi Handa @ 2003-10-15 14:55 ` Stefan Monnier 2003-10-16 9:16 ` Stephen J. Turnbull 2003-10-20 19:47 ` Dave Love 2003-10-16 14:06 ` Richard Stallman 1 sibling, 2 replies; 49+ messages in thread From: Stefan Monnier @ 2003-10-15 14:55 UTC (permalink / raw) Cc: d.love, jasonr, emacs-devel, rms, pogonyshev > Currently, a user must define his own language environment > from scratch. But, usually what they want is to prefer the > diffent default input method, prefer the different coding > system than the existing one. In such a case, what he have > to do is, currently, see source code of > lisp/language/XXX.el, copy > (set-language-info-alist ....) > into his .emacs, and modify some part of it. If we allow > inheritance, he can do something like: > (define-language-environment Japanese-utf-8 > '((inherit . "Japanese") > (coding-sytem utf-8 iso-2022-jp euc-jp))) I've never seen anyone do that. Instead, people do: (set-language-environment "foo") (prefer-coding-system 'bar) (setq default-input-method "baz") That doesn't look particularly bad to me, except for the fact that some things are set via `setq' others via `set-foo-bar', etc... And of course the fact that it can only be done in elisp but not in `custom'. > Yes, but in the above buffer, it seems that "inherit" and > "copy" button is helpful. For instance, clicking "inherit" > and selecting LANG will show the default values for each > slots. Clicking "copy" and selecting LANG fills all slots > by values of LANG. I don't think users who are unable to use elisp will be able to make any use of the subtle distinction between `inherit' and `copy'. I think only `inherit' makes sense in a user-interface. Stefan ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-15 14:55 ` Stefan Monnier @ 2003-10-16 9:16 ` Stephen J. Turnbull 2003-10-16 16:44 ` Stefan Monnier 2003-10-20 19:47 ` Dave Love 1 sibling, 1 reply; 49+ messages in thread From: Stephen J. Turnbull @ 2003-10-16 9:16 UTC (permalink / raw) Cc: Kenichi Handa, jasonr, rms, d.love, emacs-devel, pogonyshev >>>>> "Stefan" == Stefan Monnier <monnier@IRO.UMontreal.CA> writes: Stefan> I've never seen anyone do that. Instead, people do: Stefan> (set-language-environment "foo") Stefan> (prefer-coding-system 'bar) Stefan> (setq default-input-method "baz") On my Windows box I have three Japanese environments. One is for TRAMPed files from my Linux host where the coding system is EUC, the second is native and Shift-JIS, and the third can be used on either with UTF-8. I also fiddle the coding priority list more generally, although I'm not sure that is really needed. Pretty soon I hope to add Korean to the list of needed environments (Japanese serves well enough for English and Lisp). It would be nice to be able to do all the changes with one set-language-environment (usually invoked from the menubar) call. -- Institute of Policy and Planning Sciences http://turnbull.sk.tsukuba.ac.jp University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN Ask not how you can "do" free software business; ask what your business can "do for" free software. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-16 9:16 ` Stephen J. Turnbull @ 2003-10-16 16:44 ` Stefan Monnier 2003-10-17 6:10 ` Stephen J. Turnbull 2003-10-21 22:48 ` Dave Love 0 siblings, 2 replies; 49+ messages in thread From: Stefan Monnier @ 2003-10-16 16:44 UTC (permalink / raw) Cc: Kenichi Handa, jasonr, rms, d.love, emacs-devel, pogonyshev > On my Windows box I have three Japanese environments. One is for > TRAMPed files from my Linux host where the coding system is EUC, the > second is native and Shift-JIS, and the third can be used on either > with UTF-8. I also fiddle the coding priority list more generally, > although I'm not sure that is really needed. Pretty soon I hope to > add Korean to the list of needed environments (Japanese serves well > enough for English and Lisp). Interesting. How does this use of multiple language environments work in practice? I mean, the language environment setting is global, so how does it interact with the various pre-existing buffers when you switch? What is changed between those environments other than the preferred coding system ? Is this arrangement natural, convenient, and intuitive, or is it more like a work around for lack of other forms of configurations (such as a way to specify preferred coding system based on mount-points, for example) ? Stefan ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-16 16:44 ` Stefan Monnier @ 2003-10-17 6:10 ` Stephen J. Turnbull 2003-10-21 22:48 ` Dave Love 1 sibling, 0 replies; 49+ messages in thread From: Stephen J. Turnbull @ 2003-10-17 6:10 UTC (permalink / raw) Cc: jasonr, rms, pogonyshev, Stephen J. Turnbull, Kenichi Handa, d.love, emacs-devel >>>>> "Stefan" == Stefan Monnier <monnier@IRO.UMontreal.CA> writes: Stefan> How does this use of multiple language environments work Stefan> in practice? I mean, the language environment setting is Stefan> global, so how does it interact with the various Stefan> pre-existing buffers when you switch? I have a C-c binding to switch language environments, works like C-x b. Emacs doesn't know a buffer<->language environment mapping. I suspect there may be underlying problems, for example with XIM, because my usage is quite restricted and I just may not be seeing them. (I don't use XIM because my preferred IM is kinput2, which eats meta characters in its Xt filter and thus conflicts badly with Emacs.) Stefan> What is changed between those environments other than the Stefan> preferred coding system ? (1) The whole coding priority list. On Unix I have lots of files in ISO-2022-JP, and I need to bump the priority of little-endian UTF-16 too, so that I can (sometimes) get autorecognition of .doc files (I don't know of a better doc2txt utility than Emacs for _Japanese_ .doc at this time). I don't do mail from Windows, and I have Word, so I don't do those tweaks on Windows. (2) If I were capable of handling other languages, the default input method would change. (This would probably have to tweak C-\'s notion of current input method and its state of activation, too, my language switch function does that when I switch to or from English.) (3) If these hypothetical other languages were European, I'd probably want my ispell dictionary to change, too. (Yah, that's not part of an Emacs "language environment", but maybe it should be?) Stefan> Is this arrangement natural, convenient, and intuitive, Natural, well, we're talking about a perverse environment to start with. I tend to work on one system, multiple tasks, for an extended amount of time. So I don't need to switch very often. I think the "natural" thing to do (in XEmacs) would be to make language environment be a specifier variable (XEmacs's generalization of buffer/frame locals). Actually, what I'd _really_ like is to automatically be in Japanese language environment (with input method invoked) in regions of japanese-jisx*, and in English environment elsewhere. The whole POSIX concept of locale (as a global variable that "gets set") gives me an itch. It makes sense in the POSIX environment, at least a little bit, but Emacs should be able to do a lot better. -- Institute of Policy and Planning Sciences http://turnbull.sk.tsukuba.ac.jp University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN Ask not how you can "do" free software business; ask what your business can "do for" free software. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-16 16:44 ` Stefan Monnier 2003-10-17 6:10 ` Stephen J. Turnbull @ 2003-10-21 22:48 ` Dave Love 1 sibling, 0 replies; 49+ messages in thread From: Dave Love @ 2003-10-21 22:48 UTC (permalink / raw) Cc: Kenichi Handa, jasonr, rms, Stephen J. Turnbull, emacs-devel, pogonyshev Stefan Monnier <monnier@IRO.UMontreal.CA> writes: [About something that hasn't reached me.] > Is this arrangement natural, convenient, and intuitive, It doesn't look that way to me. If there's some problem (in Emacs) with using the multilingual features buffer-locally, it probably should be fixed. > or is it more > like a work around for lack of other forms of configurations (such as a way > to specify preferred coding system based on mount-points, for example) ? You can do that in Emacs. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-15 14:55 ` Stefan Monnier 2003-10-16 9:16 ` Stephen J. Turnbull @ 2003-10-20 19:47 ` Dave Love 1 sibling, 0 replies; 49+ messages in thread From: Dave Love @ 2003-10-20 19:47 UTC (permalink / raw) Cc: pogonyshev, emacs-devel, rms, jasonr, Kenichi Handa Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > And of course the fact that it can only be done in elisp but > not in `custom'. At least the language environment and the default input method are customized. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-15 13:44 ` Kenichi Handa 2003-10-15 14:55 ` Stefan Monnier @ 2003-10-16 14:06 ` Richard Stallman 2003-10-28 8:51 ` Kenichi Handa 1 sibling, 1 reply; 49+ messages in thread From: Richard Stallman @ 2003-10-16 14:06 UTC (permalink / raw) Cc: pogonyshev, jasonr, d.love, emacs-devel Currently, a user must define his own language environment from scratch. But, usually what they want is to prefer the diffent default input method, prefer the different coding system than the existing one. Other people pointed out that it's easy to do this by first specifying the standard language environment, and second overriding other specific data. A customization UI could generate the Lisp code in .emacs to specify the information in exactly that way. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-16 14:06 ` Richard Stallman @ 2003-10-28 8:51 ` Kenichi Handa 0 siblings, 0 replies; 49+ messages in thread From: Kenichi Handa @ 2003-10-28 8:51 UTC (permalink / raw) Cc: pogonyshev, jasonr, d.love, emacs-devel Richard Stallman <rms@gnu.org> writes: > Currently, a user must define his own language environment > from scratch. But, usually what they want is to prefer the > diffent default input method, prefer the different coding > system than the existing one. > Other people pointed out that it's easy to do this by first specifying > the standard language environment, and second overriding other > specific data. > A customization UI could generate the Lisp code in .emacs to specify > the information in exactly that way. That makes the UI code unnecessarily complicated. In addition, in that way, C-h L (describe-language-environment) doesn't work. I think it is simpler to make the UI allows a user to customize the variable `language-info-alist' by modifying the existing slot or by adding a new slot to language-info-alist. --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-07 2:54 ` Kenichi Handa 2003-10-07 11:56 ` Anton Zinoviev 2003-10-08 4:51 ` Richard Stallman @ 2003-10-10 17:11 ` Dave Love 2003-10-10 17:42 ` Stefan Monnier ` (2 more replies) 2 siblings, 3 replies; 49+ messages in thread From: Dave Love @ 2003-10-10 17:11 UTC (permalink / raw) Cc: emacs-devel, jasonr, pogonyshev Kenichi Handa <handa@m17n.org> writes: > At first, I have installed a mechanism of auto-loading a > coding system. Is it really worth it for the 8-bit sets? I'm not sure whether to think this is significant or not: let ((stats (garbage-collect))) (load "code-pages") (pp (list stats (garbage-collect)))) => (((50679 . 9813) (10196 . 1) (587 . 129) 127582 175645 (55 . 76) (48 . 22) (8025 . 1488)) ((54148 . 6344) (10538 . 39) (588 . 128) 134356 312873 (55 . 76) (48 . 22) (8443 . 1070))) > I have not yet tested it fully. We may have to add GCPROs > in several places. <URL:ftp://dlpx1.dl.ac.uk/fx/emacs/Mule/autoload-coding-systems.diff> was reasonably well tested, probably also on a system where gcpro was relevant then (though I don't know if I tested it by forcing GC during loading). > Right. I think what we need for language environment is a > mechanism similar to face; i.e. creating a new one easily > while allowing inheriting, and customizing an existing one > easily. I did something about customizing the language alist some time ago. As far as I remember, it naturally used the mechanism for overriding elements of the standard value in customized lists, and that interface was vetoed for reasons I didn't understand. Presumably inheritance would use a similar mechanism, but I'm not sure how useful it is. As it is, a language environment has to cover several things that should be orthogonal: * The language (which might influence input methods as well as the default Ispell dictionary, at least); * The charset/coding system preferences (which might also influence input methods, though the hooks now in Quail make that less of an issue); * Other things that currently aren't dealt with properly, like paper size (for ps-print), calendar holidays &c (which may depend on the locale territory, not just the language). > For instance, in such a case, we can allow people to create > a new lang. env. by inheriting, for instance, Russian, and > modifying coding-system to windows-1251. Is this actually better than allowing them to specify (the equivalent of) the locale ru_RU.windows-1251? ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-10 17:11 ` Dave Love @ 2003-10-10 17:42 ` Stefan Monnier 2003-10-12 17:21 ` Richard Stallman ` (2 more replies) 2003-10-13 12:46 ` Dave Love 2003-10-14 0:37 ` Kenichi Handa 2 siblings, 3 replies; 49+ messages in thread From: Stefan Monnier @ 2003-10-10 17:42 UTC (permalink / raw) Cc: pogonyshev, emacs-devel, jasonr, Kenichi Handa >> For instance, in such a case, we can allow people to create >> a new lang. env. by inheriting, for instance, Russian, and >> modifying coding-system to windows-1251. > Is this actually better than allowing them to specify (the equivalent > of) the locale ru_RU.windows-1251? Completely agreed. Locales are pretty limited, but language environments even more so. And locales are more likely to be already properly setup (for other applications). Language environments might make sense internally, but I think we should encourage people to configure their Emacs by doing: - 1st and foremost, set your locale properly, or call `set-locale-environment' in your .emacs. - If that's not quite right, fix the parts you don't like directly by specifying preferred coding systems, preferred language for tutorial, preferred input systems, ... Also I wonder what would be the point of doing: (define-derived-language "foo" "bar" bla bla bla) (set-language-environment "foo") rather than (set-language-environment "bar") bla bla bla Or do you expect define-derived-language to be used elsewhere than in a .emacs ? Stefan ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-10 17:42 ` Stefan Monnier @ 2003-10-12 17:21 ` Richard Stallman 2003-10-14 22:24 ` Dave Love 2003-10-14 0:44 ` Kenichi Handa 2003-10-14 22:33 ` Dave Love 2 siblings, 1 reply; 49+ messages in thread From: Richard Stallman @ 2003-10-12 17:21 UTC (permalink / raw) Cc: handa, emacs-devel, d.love, jasonr, pogonyshev Language environments might make sense internally, but I think we should encourage people to configure their Emacs by doing: - 1st and foremost, set your locale properly, or call `set-locale-environment' in your .emacs. This might make sense if these locale names are effectively standard. They are not standardized by POSIX. Is there a de-facto standard? How widely is it used? In general, I would prefer to have some Emacs-native way to do set these things, rather than rely on an external data type such as a locale name which is not defined naturally in Emacs terms. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-12 17:21 ` Richard Stallman @ 2003-10-14 22:24 ` Dave Love 2003-10-15 20:00 ` Richard Stallman 2003-10-15 22:27 ` Jason Rumney 0 siblings, 2 replies; 49+ messages in thread From: Dave Love @ 2003-10-14 22:24 UTC (permalink / raw) Cc: handa, emacs-devel, Stefan Monnier, jasonr, pogonyshev Richard Stallman <rms@gnu.org> writes: > This might make sense if these locale names are effectively standard. > They are not standardized by POSIX. Is there a de-facto standard? See `locale-language-names' and comments in it. The major problem is interpreting the codeset part in terms of a coding system since the names are quite variable. I don't know how the equivalent is supposed to work in MS Windows & al. > In general, I would prefer to have some Emacs-native way to do set > these things, rather than rely on an external data type such as a > locale name which is not defined naturally in Emacs terms. If you don't try to interpret it, Emacs probably won't behave consistently with other programs. Anyhow, you can set the coding priority and input method trivially, and they are the only relevant things at present. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-14 22:24 ` Dave Love @ 2003-10-15 20:00 ` Richard Stallman 2003-10-20 19:50 ` Dave Love 2003-10-15 22:27 ` Jason Rumney 1 sibling, 1 reply; 49+ messages in thread From: Richard Stallman @ 2003-10-15 20:00 UTC (permalink / raw) Cc: handa, emacs-devel, monnier, jasonr, pogonyshev See `locale-language-names' and comments in it. The major problem is interpreting the codeset part in terms of a coding system since the names are quite variable. I don't know how the equivalent is supposed to work in MS Windows & al. It sounds like you are saying that there's a more-or-less standard for GNU and Unix systems, but that Windows is different. Is that right? > In general, I would prefer to have some Emacs-native way to do set > these things, rather than rely on an external data type such as a > locale name which is not defined naturally in Emacs terms. If you don't try to interpret it, Emacs probably won't behave consistently with other programs. We are miscommunicating. Of course Emacs should pay attention to the locale, as well as it reliably can do so. What I said is that Emacs should not *rely on* an external mechanism such as locales for customization. It should provide an Emacs-natural customize mechanism *also*. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-15 20:00 ` Richard Stallman @ 2003-10-20 19:50 ` Dave Love 2003-10-22 9:24 ` Richard Stallman 0 siblings, 1 reply; 49+ messages in thread From: Dave Love @ 2003-10-20 19:50 UTC (permalink / raw) Cc: handa, emacs-devel, monnier, jasonr, pogonyshev Richard Stallman <rms@gnu.org> writes: > It sounds like you are saying that there's a more-or-less standard > for GNU and Unix systems, but that Windows is different. Is that > right? Actually, it looks as if I mis-interpreted eggert's comments in mule-cmds.el. They appear to say that the components of the name are standardized, but the Single Unix Spec v3 (now equivalent to POSIX?) actually says they are implementation-defined: If the locale value has the form: language[_territory][.codeset] it refers to an implementation-provided locale, where settings of language, territory, and codeset are implementation-defined. LC_COLLATE , LC_CTYPE , LC_MESSAGES , LC_MONETARY , LC_NUMERIC , and LC_TIME are defined to accept an additional field @ modifier, which allows the user to select a specific instance of localization data within a single category (for example, for selecting the dictionary as opposed to the character ordering of data). The syntax for these environment variables is thus defined as: [language[_territory][.codeset][@modifier]] Of the systems I can check, current Solaris, Tru64 and Irix do use the ISO language and territory codes. > What I said is that Emacs > should not *rely on* an external mechanism such as locales for > customization. It should provide an Emacs-natural customize mechanism > *also*. I don't think customization based on language, territory and codeset is really unnatural. (Which isn't to say that locales are perfect.) The relevant parameters can already be set individually in Lisp, obviously. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-20 19:50 ` Dave Love @ 2003-10-22 9:24 ` Richard Stallman 2003-10-25 16:10 ` Dave Love 0 siblings, 1 reply; 49+ messages in thread From: Richard Stallman @ 2003-10-22 9:24 UTC (permalink / raw) Cc: handa, emacs-devel, monnier, jasonr, pogonyshev They appear to say that the components of the name are standardized, but the Single Unix Spec v3 (now equivalent to POSIX?) actually says they are implementation-defined: POSIX has never tried to specify the locales. But if there is a broadly accepted de-facto standard, that's just as good for us to use as an official standard. > What I said is that Emacs > should not *rely on* an external mechanism such as locales for > customization. It should provide an Emacs-natural customize mechanism > *also*. I don't think customization based on language, territory and codeset is really unnatural. 1. You specify the locale with an envvar. Emacs must provide a way to do it with commands or user options. 2. It is ok to have a command or user option whose argument or value is a locale name. But there should also be a command or user option where you specify just the language, and other things default from that to the extent possible. And that's what should be in the menus. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-22 9:24 ` Richard Stallman @ 2003-10-25 16:10 ` Dave Love 2003-10-26 15:33 ` Alex Schroeder 2003-10-27 7:02 ` Richard Stallman 0 siblings, 2 replies; 49+ messages in thread From: Dave Love @ 2003-10-25 16:10 UTC (permalink / raw) Cc: handa, emacs-devel, monnier, jasonr, pogonyshev Richard Stallman <rms@gnu.org> writes: > 1. You specify the locale with an envvar. Emacs must provide > a way to do it with commands or user options. I'm not disagreeing. (I actually thought `set-locale-environment' was interactive, but I see it isn't.) > 2. It is ok to have a command or user option whose argument or value > is a locale name. But there should also be a command or user option > where you specify just the language, and other things default from > that to the extent possible. And that's what should be in the menus. The trouble with `language' environments is that they have little to do with the language per se. If you're not going by system defaults (locales), I think you want to provide orthogonal customization of language, codeset, and other features. If you lump them all together, you'll have probably four for each Western European language: latin-1, latin-9, windows-1252 and utf-8. Then multiply by two or three for the possible input methods. Then the calendar is different in territories with the same language... ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-25 16:10 ` Dave Love @ 2003-10-26 15:33 ` Alex Schroeder 2003-10-28 8:50 ` Kenichi Handa 2003-10-27 7:02 ` Richard Stallman 1 sibling, 1 reply; 49+ messages in thread From: Alex Schroeder @ 2003-10-26 15:33 UTC (permalink / raw) Dave Love <d.love@dl.ac.uk> writes: > The trouble with `language' environments is that they have little to > do with the language per se. If you're not going by system defaults > (locales), I think you want to provide orthogonal customization of > language, codeset, and other features. If you lump them all together, > you'll have probably four for each Western European language: latin-1, > latin-9, windows-1252 and utf-8. Then multiply by two or three for > the possible input methods. Then the calendar is different in > territories with the same language... I agree with Dave Love. Take Switzerland as an example, and let us only talk about German and French, excluding Italian and Rhaeto-Romance. We speak German, but we use a different ispell dictionary because instead of a sharp s we use double-s, and we use our own keyboard layout. We use any of the four coding systems Dave lists. We use a different date format (last time I checked). The French speaking Swiss use the French ispell dictionary, but they, too, have a different keyboard layout. The language per se is not enough information. Alex. -- http://www.emacswiki.org/alex/ There is no substitute for experience. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-26 15:33 ` Alex Schroeder @ 2003-10-28 8:50 ` Kenichi Handa 0 siblings, 0 replies; 49+ messages in thread From: Kenichi Handa @ 2003-10-28 8:50 UTC (permalink / raw) Cc: emacs-devel In article <87ekx0dne0.fsf@emacswiki.org>, Alex Schroeder <alex@emacswiki.org> writes: > Dave Love <d.love@dl.ac.uk> writes: >> The trouble with `language' environments is that they have little to >> do with the language per se. If you're not going by system defaults >> (locales), I think you want to provide orthogonal customization of >> language, codeset, and other features. If you lump them all together, >> you'll have probably four for each Western European language: latin-1, >> latin-9, windows-1252 and utf-8. Then multiply by two or three for >> the possible input methods. Then the calendar is different in >> territories with the same language... > I agree with Dave Love. Take Switzerland as an example, and let us > only talk about German and French, excluding Italian and > Rhaeto-Romance. We speak German, but we use a different ispell > dictionary because instead of a sharp s we use double-s, and we use > our own keyboard layout. We use any of the four coding systems Dave > lists. We use a different date format (last time I checked). The > French speaking Swiss use the French ispell dictionary, but they, too, > have a different keyboard layout. > The language per se is not enough information. That's why I didn't simply use the term "language" but used "language environment". I agree that it's ridiculous to provide all possible combinations in advance. But, I think there should be a way to name a set of various orthogonal customizations so that a user can easily switch from one set to another by specifying a name. I think we should treat a "language environment" as something like a `theme' which is a collection of customizations of faces. --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-25 16:10 ` Dave Love 2003-10-26 15:33 ` Alex Schroeder @ 2003-10-27 7:02 ` Richard Stallman 2003-10-28 12:35 ` Dave Love 1 sibling, 1 reply; 49+ messages in thread From: Richard Stallman @ 2003-10-27 7:02 UTC (permalink / raw) Cc: handa, emacs-devel, monnier, jasonr, pogonyshev The trouble with `language' environments is that they have little to do with the language per se. If you're not going by system defaults (locales), I think you want to provide orthogonal customization of language, codeset, and other features. If you lump them all together, you'll have probably four for each Western European language: latin-1, latin-9, windows-1252 and utf-8. that wd be tru if thatwere the one and only way to spec all of them. but we already have other ways in emacs. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-27 7:02 ` Richard Stallman @ 2003-10-28 12:35 ` Dave Love 2003-10-29 19:01 ` Richard Stallman 0 siblings, 1 reply; 49+ messages in thread From: Dave Love @ 2003-10-28 12:35 UTC (permalink / raw) Cc: handa, emacs-devel, monnier, jasonr, pogonyshev Richard Stallman <rms@gnu.org> writes: > The trouble with `language' environments is that they have little to > do with the language per se. If you're not going by system defaults > (locales), I think you want to provide orthogonal customization of > language, codeset, and other features. If you lump them all together, > you'll have probably four for each Western European language: latin-1, > latin-9, windows-1252 and utf-8. > > that wd be tru if thatwere the one and only way to spec all of them. > but we already have other ways in emacs. I was responding to: But there should also be a command or user option where you specify just the language, and other things default from that to the extent possible. And that's what should be in the menus. I can't see how simply `language' is the appropriate way to deal with this, and a one-dimensional specification of the parameters seems quite impractical, as above. Also I can't see why customizing language, territory and character set (with defaults for the latter two) isn't a reasonable thing to offer users. I have given this some thought and some implementation. If you must consider only language, why isn't this an appropriate use of Custom themes, anyway? ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-28 12:35 ` Dave Love @ 2003-10-29 19:01 ` Richard Stallman 0 siblings, 0 replies; 49+ messages in thread From: Richard Stallman @ 2003-10-29 19:01 UTC (permalink / raw) Cc: pogonyshev, emacs-devel, monnier, jasonr, handa with broken arm, i dont have time to keep on arguing w you about this, so youll just have to accept the decision ive stated. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-14 22:24 ` Dave Love 2003-10-15 20:00 ` Richard Stallman @ 2003-10-15 22:27 ` Jason Rumney 2003-10-16 16:16 ` Kevin Rodgers 1 sibling, 1 reply; 49+ messages in thread From: Jason Rumney @ 2003-10-15 22:27 UTC (permalink / raw) Cc: handa, emacs-devel Dave Love <d.love@dl.ac.uk> writes: > See `locale-language-names' and comments in it. The major problem is > interpreting the codeset part in terms of a coding system since the > names are quite variable. > > I don't know how the equivalent is supposed to work in MS Windows & > al. MS Windows uses three letter codes for languages instead of the two letter ISO codes that POSIX uses. In most cases the first two letters are the same, so most of the regexps in locale-language-names work. Japanese and Chinese are exceptions, which are listed in the non-standard section at the bottom of locale-language-names. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-15 22:27 ` Jason Rumney @ 2003-10-16 16:16 ` Kevin Rodgers 2003-10-16 16:38 ` Jason Rumney 0 siblings, 1 reply; 49+ messages in thread From: Kevin Rodgers @ 2003-10-16 16:16 UTC (permalink / raw) Jason Rumney wrote: > MS Windows uses three letter codes for languages instead of the two > letter ISO codes that POSIX uses. In most cases the first two letters > are the same, so most of the regexps in locale-language-names > work. Japanese and Chinese are exceptions, which are listed in the > non-standard section at the bottom of locale-language-names. ISO 639 (Code for the Representation of the Names of Languages) defines 2-letter codes, whereas ISO 639-2 (... Part 2: Alpha-3 Code) defines 3- letter codes. Is that what Microsoft uses? -- Kevin Rodgers ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-16 16:16 ` Kevin Rodgers @ 2003-10-16 16:38 ` Jason Rumney 0 siblings, 0 replies; 49+ messages in thread From: Jason Rumney @ 2003-10-16 16:38 UTC (permalink / raw) Cc: emacs-devel Kevin Rodgers wrote: > ISO 639 (Code for the Representation of the Names of Languages) defines > > 2-letter codes, whereas ISO 639-2 (... Part 2: Alpha-3 Code) defines 3- > letter codes. Is that what Microsoft uses? I'm pretty sure CHS and CHT (for Simplified and Traditional Chinese) do not come from any official list. But it appears that might be where JPN for Japanese comes from. All the other languages that Windows supports seem to be the ISO 639 two letter code plus an extra letter, I don't have time right now to go through and see if they are the same as 639-2. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-10 17:42 ` Stefan Monnier 2003-10-12 17:21 ` Richard Stallman @ 2003-10-14 0:44 ` Kenichi Handa 2003-10-14 19:31 ` Richard Stallman 2003-10-14 22:33 ` Dave Love 2 siblings, 1 reply; 49+ messages in thread From: Kenichi Handa @ 2003-10-14 0:44 UTC (permalink / raw) Cc: emacs-devel, d.love, jasonr, pogonyshev In article <jwv8yntgfly.fsf-monnier+emacs/devel@vor.iro.umontreal.ca>, Stefan Monnier <monnier@IRO.UMontreal.CA> writes: > Or do you expect define-derived-language to be used elsewhere than in > a .emacs ? My intention is to have something like "new" under this menu: <menu-bar> <options> <mule> <set-language-environment> When "new" is selected, Emacs put a user in a buffer in which he can create his own language environment interactively. Typing C-c C-c should ask if he want to use that environment in the future session. --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-14 0:44 ` Kenichi Handa @ 2003-10-14 19:31 ` Richard Stallman 0 siblings, 0 replies; 49+ messages in thread From: Richard Stallman @ 2003-10-14 19:31 UTC (permalink / raw) Cc: pogonyshev, d.love, jasonr, monnier, emacs-devel My intention is to have something like "new" under this menu: <menu-bar> <options> <mule> <set-language-environment> When "new" is selected, Emacs put a user in a buffer in which he can create his own language environment interactively. Typing C-c C-c should ask if he want to use that environment in the future session. That seems like a good feature. It could be implemented with or without define-derived-language. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-10 17:42 ` Stefan Monnier 2003-10-12 17:21 ` Richard Stallman 2003-10-14 0:44 ` Kenichi Handa @ 2003-10-14 22:33 ` Dave Love 2 siblings, 0 replies; 49+ messages in thread From: Dave Love @ 2003-10-14 22:33 UTC (permalink / raw) Cc: pogonyshev, emacs-devel, jasonr, Kenichi Handa I installed some stuff I had hanging around which should DTRT if, for instance, you set LANG to `ru_RU.cp1251'. Of course, setlocale in this environment will typically fail (on a GNU system, at least). That may cause trouble by provoking messages from subprocesses, for instance. This also isn't the way I think locale processing should be done properly, especially as it doesn't deal with settings for LC_TIME and others, which should be matched on the territory. (Note that in Emacs 22 we stand a better chance of doing something sensible with the LC_COLLATE part of the locale if we can use facilities from libc.) ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-10 17:11 ` Dave Love 2003-10-10 17:42 ` Stefan Monnier @ 2003-10-13 12:46 ` Dave Love 2003-10-14 0:37 ` Kenichi Handa 2 siblings, 0 replies; 49+ messages in thread From: Dave Love @ 2003-10-13 12:46 UTC (permalink / raw) Cc: jasonr, pogonyshev I wrote: > I did something about customizing the language alist some time ago. I realize I actually installed something in the Emacs 22 branch, though it isn't what I meant above. See `language-info-custom-alist'. It's not terribly satisfactory, particularly because it's not undoable. The fact that I'd forgotten about it shows how long that stuff has been hanging around filing to see the light of day. ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-10 17:11 ` Dave Love 2003-10-10 17:42 ` Stefan Monnier 2003-10-13 12:46 ` Dave Love @ 2003-10-14 0:37 ` Kenichi Handa 2003-10-15 14:38 ` Dave Love 2 siblings, 1 reply; 49+ messages in thread From: Kenichi Handa @ 2003-10-14 0:37 UTC (permalink / raw) Cc: pogonyshev, jasonr, emacs-devel In article <rzqismxvwz1.fsf@albion.dl.ac.uk>, Dave Love <d.love@dl.ac.uk> writes: > Kenichi Handa <handa@m17n.org> writes: >> At first, I have installed a mechanism of auto-loading a >> coding system. > Is it really worth it for the 8-bit sets? I'm not sure whether to > think this is significant or not: > let ((stats (garbage-collect))) > (load "code-pages") > (pp (list stats (garbage-collect)))) It's not easy to see the effect of preloading code-pages from this output. But, when I put this in loadup.el (load "international/code-pages") the resulting Emacs is 585K-byte bigger. I think we can't ignore this size. >> I have not yet tested it fully. We may have to add GCPROs >> in several places. > <URL:ftp://dlpx1.dl.ac.uk/fx/emacs/Mule/autoload-coding-systems.diff> > was reasonably well tested, probably also on a system where gcpro was > relevant then (though I don't know if I tested it by forcing GC during > loading). Stefan also showed me his implementation. I reached my code because I didn't want to change anything other than the place related to coding-system. That is because this mechanism is obsolte in emacs-unicode in which defining a coding system is so cheap that there's no need of this mechanism. >> Right. I think what we need for language environment is a >> mechanism similar to face; i.e. creating a new one easily >> while allowing inheriting, and customizing an existing one >> easily. > I did something about customizing the language alist some time ago. > As far as I remember, it naturally used the mechanism for overriding > elements of the standard value in customized lists, and that interface > was vetoed for reasons I didn't understand. Presumably inheritance > would use a similar mechanism, but I'm not sure how useful it is. > As it is, a language environment has to cover several things that > should be orthogonal: > * The language (which might influence input methods as well as the > default Ispell dictionary, at least); > * The charset/coding system preferences (which might also influence > input methods, though the hooks now in Quail make that less of an > issue); > * Other things that currently aren't dealt with properly, like paper > size (for ps-print), calendar holidays &c (which may depend on the > locale territory, not just the language). >> For instance, in such a case, we can allow people to create >> a new lang. env. by inheriting, for instance, Russian, and >> modifying coding-system to windows-1251. > Is this actually better than allowing them to specify (the equivalent > of) the locale ru_RU.windows-1251? If that locale is available to a user, that is ok. Otherwise, there should be a way to provide the same environment to him. --- Ken'ichi HANDA handa@m17n.org ^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: windows-1251 language environment 2003-10-14 0:37 ` Kenichi Handa @ 2003-10-15 14:38 ` Dave Love 0 siblings, 0 replies; 49+ messages in thread From: Dave Love @ 2003-10-15 14:38 UTC (permalink / raw) Cc: pogonyshev, jasonr, emacs-devel Kenichi Handa <handa@m17n.org> writes: > It's not easy to see the effect of preloading code-pages > from this output. But, when I put this in loadup.el > (load "international/code-pages") > the resulting Emacs is 585K-byte bigger. I think we can't > ignore this size. Yes, sorry, I mis-read the GC data. They do show the space used, though I haven't checked they add up. However, the allocated data should mostly be able to go in purespace if they are dumped. > Stefan also showed me his implementation. We seem to have the usual duplication of effort :-(. > If that locale is available to a user, that is ok. It probably isn't on the system, but I think a locale name is a good way to specify the thing. The components are all well-defined as long as the codeset is in the IANA list. You could even specify the input method as a modifier part for Emacs's purposes. > Otherwise, there should be a way to provide the same > environment to him. Isn't it just this? (set-language-environment "Russian") (prefer-coding-system 'windows-1251) (setq default-input-method ...) The preferred coding system isn't currently customized, but I don't think there's a good reason for that. ^ permalink raw reply [flat|nested] 49+ messages in thread
* windows-1251 language environment @ 2003-09-29 16:47 Paul Pogonyshev 0 siblings, 0 replies; 49+ messages in thread From: Paul Pogonyshev @ 2003-09-29 16:47 UTC (permalink / raw) I recompiled Emacs today and found that "Windows-1251" language environment is gone. This is definitely a wrong decision. Maybe you removed it because you dislike Windows (me too, i don't use it) -- i don't know, but by far the most of russian speakers use `cp1251' codepage and i and many others have to cooperate. It was not hard for me to hack `language/cyrillic.el' and return that language environment, but i ask you to revert the change in the Emacs CVS tree. Paul Pogonyshev ^ permalink raw reply [flat|nested] 49+ messages in thread
end of thread, other threads:[~2003-10-29 19:01 UTC | newest] Thread overview: 49+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <mailman.878.1064866468.21628.bug-gnu-emacs@gnu.org> 2003-09-30 17:11 ` windows-1251 language environment Kevin Rodgers [not found] ` <200310032356.54476.pogonyshev@gmx.net> [not found] ` <rzq1xtrsdrm.fsf@albion.dl.ac.uk> [not found] ` <200310060013.52049.pogonyshev@gmx.net> 2003-10-07 2:54 ` Kenichi Handa 2003-10-07 11:56 ` Anton Zinoviev 2003-10-12 15:45 ` Dave Love 2003-10-17 12:49 ` Anton Zinoviev 2003-10-17 13:22 ` Terje Rosten 2003-10-17 14:36 ` Anton Zinoviev 2003-10-17 16:58 ` Terje Rosten 2003-10-21 22:38 ` Dave Love 2003-10-23 9:23 ` Richard Stallman 2003-10-24 17:07 ` Anton Zinoviev 2003-10-08 4:51 ` Richard Stallman 2003-10-08 10:40 ` Kenichi Handa 2003-10-09 14:44 ` Richard Stallman 2003-10-12 15:40 ` Dave Love 2003-10-13 23:50 ` Kenichi Handa 2003-10-14 19:31 ` Richard Stallman 2003-10-15 13:44 ` Kenichi Handa 2003-10-15 14:55 ` Stefan Monnier 2003-10-16 9:16 ` Stephen J. Turnbull 2003-10-16 16:44 ` Stefan Monnier 2003-10-17 6:10 ` Stephen J. Turnbull 2003-10-21 22:48 ` Dave Love 2003-10-20 19:47 ` Dave Love 2003-10-16 14:06 ` Richard Stallman 2003-10-28 8:51 ` Kenichi Handa 2003-10-10 17:11 ` Dave Love 2003-10-10 17:42 ` Stefan Monnier 2003-10-12 17:21 ` Richard Stallman 2003-10-14 22:24 ` Dave Love 2003-10-15 20:00 ` Richard Stallman 2003-10-20 19:50 ` Dave Love 2003-10-22 9:24 ` Richard Stallman 2003-10-25 16:10 ` Dave Love 2003-10-26 15:33 ` Alex Schroeder 2003-10-28 8:50 ` Kenichi Handa 2003-10-27 7:02 ` Richard Stallman 2003-10-28 12:35 ` Dave Love 2003-10-29 19:01 ` Richard Stallman 2003-10-15 22:27 ` Jason Rumney 2003-10-16 16:16 ` Kevin Rodgers 2003-10-16 16:38 ` Jason Rumney 2003-10-14 0:44 ` Kenichi Handa 2003-10-14 19:31 ` Richard Stallman 2003-10-14 22:33 ` Dave Love 2003-10-13 12:46 ` Dave Love 2003-10-14 0:37 ` Kenichi Handa 2003-10-15 14:38 ` Dave Love 2003-09-29 16:47 Paul Pogonyshev
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.