1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-22 18:35:09 +00:00

* (locale-language-names):

Use Latin-1 (not Latin-3) for Afrikaans, Galician.
Use Latin-5 (not Cyrillic-ISO) for Byelorussian, Bulgarian,
Macedonian, Russian, Ukrainian, Serbian (Cyrillic alphabet).
Use Latin-8 for Welsh.
Use Latin-1 for English if "en" is explicitly specified.
Use Latin-1 for Scots Gaelic, Tagalog.
Use Latin-1 (not Latin-4) for Greenlandic.
Use Latin-1 (not Latin-2) for Albanian.
(locale-preferred-coding-systems, locale-language-names):
Remove generic ISO 8859 locales; locale-charset-language-names now
does this.
(locale-charset-language-names): New variable.
(set-locale-environment): Use language name specified by
locale-charset-language-names if its charsets disagree with the
language name specified by locale-language-names.
This commit is contained in:
Paul Eggert 1999-10-22 22:51:33 +00:00
parent 0b61dad2f1
commit 6ececc4d6e

View File

@ -1471,15 +1471,15 @@ of buffer-file-coding-system set by this function."
;;
; aa Afar
; ab Abkhazian
("af" . "Latin-3") ; Afrikaans
("af" . "Latin-1") ; Afrikaans
("am" . "Ethiopic") ; Amharic
; ar Arabic
; as Assamese
; ay Aymara
; az Azerbaijani
; ba Bashkir
("be" . "Cyrillic-ISO") ; Byelorussian
("bg" . "Cyrillic-ISO") ; Bulgarian
("be" . "Latin-5") ; Byelorussian
("bg" . "Latin-5") ; Bulgarian
; bh Bihari
; bi Bislama
; bn Bengali, Bangla
@ -1488,12 +1488,13 @@ of buffer-file-coding-system set by this function."
("ca" . "Latin-1") ; Catalan
; co Corsican
("cs" . "Czech")
; cy Welsh
("cy" . "Latin-8") ; Welsh
("da" . "Latin-1") ; Danish
("de" . "German")
; dz Bhutani
("el" . "Greek")
("en" . "English")
;; Users who specify "en" explicitly typically want Latin-1, not ASCII.
("en" . "Latin-1") ; English
("eo" . "Latin-3") ; Esperanto
("es" . "Latin-1") ; Spanish
("et" . "Latin-4") ; Estonian
@ -1504,9 +1505,9 @@ of buffer-file-coding-system set by this function."
("fo" . "Latin-1") ; Faroese
("fr" . "Latin-1") ; French
("fy" . "Latin-1") ; Frisian
("ga" . "Latin-1") ; Irish
; gd Scots Gaelic
("gl" . "Latin-3") ; Galician
("ga" . "Latin-1") ; Irish Gaelic (new orthography)
("gd" . "Latin-1") ; Scots Gaelic
("gl" . "Latin-1") ; Galician
; gn Guarani
; gu Gujarati
; ha Hausa
@ -1526,7 +1527,7 @@ of buffer-file-coding-system set by this function."
; jw Javanese
; ka Georgian
; kk Kazakh
("kl" . "Latin-4") ; Greenlandic
("kl" . "Latin-1") ; Greenlandic
; km Cambodian
; kn Kannada
("ko" . "Korean")
@ -1540,7 +1541,7 @@ of buffer-file-coding-system set by this function."
("lv" . "Latin-4") ; Latvian, Lettish
; mg Malagasy
; mi Maori
("mk" . "Cyrillic-ISO") ; Macedonian
("mk" . "Latin-5") ; Macedonian
; ml Malayalam
; mn Mongolian
; mo Moldavian
@ -1560,11 +1561,11 @@ of buffer-file-coding-system set by this function."
; ps Pashto, Pushto
("pt" . "Latin-1") ; Portuguese
; qu Quechua
("rm" . "Latin-1") ; Rhaeto-Romance
("rm" . "Latin-1") ; Rhaeto-Romanic
; rn Kirundi
("ro" . "Romanian")
("ru.*[_.]koi8" . "Cyrillic-KOI8") ; Russian
("ru" . "Cyrillic-ISO") ; Russian
("ru" . "Latin-5") ; Russian
; rw Kinyarwanda
("sa" . "Devanagari") ; Sanskrit
; sd Sindhi
@ -1576,7 +1577,7 @@ of buffer-file-coding-system set by this function."
; sm Samoan
; sn Shona
; so Somali
("sq" . "Latin-2") ; Albanian
("sq" . "Latin-1") ; Albanian
("sr" . "Latin-2") ; Serbian (Latin alphabet)
; ss Siswati
; st Sesotho
@ -1589,7 +1590,7 @@ of buffer-file-coding-system set by this function."
("th" . "Thai")
; ti Tigrinya
; tk Turkmen
; tl Tagalog
("tl" . "Latin-1") ; Tagalog
; tn Setswana
; to Tonga
("tr" . "Latin-5") ; Turkish
@ -1597,7 +1598,7 @@ of buffer-file-coding-system set by this function."
; tt Tatar
; tw Twi
; ug Uighur
("uk" . "Cyrillic-ISO") ; Ukrainian
("uk" . "Latin-5") ; Ukrainian
; ur Urdu
; uz Uzbek
("vi" . "Vietnamese")
@ -1617,15 +1618,6 @@ of buffer-file-coding-system set by this function."
("c$" . "ASCII")
("posix$" . "ASCII")
;; generic ISO 8859 locales
(".*8859[-_]?1" . "Latin-1")
(".*8859[-_]?2" . "Latin-2")
(".*8859[-_]?3" . "Latin-3")
(".*8859[-_]?4" . "Latin-4")
(".*8859[-_]?9" . "Latin-5")
(".*8859[-_]?14" . "Latin-8")
(".*8859[-_]?15" . "Latin-9")
;; The "IPA" Emacs language environment does not correspond
;; to any ISO 639 code, so let it stand for itself.
("ipa$" . "IPA")
@ -1634,32 +1626,38 @@ of buffer-file-coding-system set by this function."
("cz" . "Czech") ; e.g. Solaris 2.6
("ee" . "Latin-4") ; Estonian, e.g. X11R6.4
("iw" . "Hebrew") ; e.g. X11R6.4
("sp" . "Cyrillic-ISO") ; Serbian (Cyrillic alphabet), e.g. X11R6.4
("sp" . "Latin-5") ; Serbian (Cyrillic alphabet), e.g. X11R6.4
("su" . "Latin-1") ; Finnish, e.g. Solaris 2.6
)
"List of pairs of locale regexps and language names.
The first element whose locale regexp matches the start of a downcased
locale specifies the language name corresponding to that locale.
The first element whose locale regexp matches the start of a downcased locale
specifies the language name corresponding to that locale.
If the language name is nil, there is no corresponding language environment.")
(defvar locale-charset-language-names
'((".*8859[-_]?1\\>" . "Latin-1")
(".*8859[-_]?2\\>" . "Latin-2")
(".*8859[-_]?3\\>" . "Latin-3")
(".*8859[-_]?4\\>" . "Latin-4")
(".*8859[-_]?9\\>" . "Latin-5")
(".*8859[-_]?14\\>" . "Latin-8")
(".*8859[-_]?15\\>" . "Latin-9")
)
"List of pairs of locale regexps and charset language names.
The first element whose locale regexp matches the start of a downcased locale
specifies the language name whose charsets corresponds to that locale.
This language name is used if its charsets disagree with the charsets of
the language name that would otherwise be used for this locale.")
(defvar locale-preferred-coding-systems
'(("ja.*[._]euc" . japanese-iso-8bit)
("ja.*[._]jis7" . iso-2022-jp)
("ja.*[._]pck" . japanese-shift-jis)
("ja.*[._]sjis" . japanese-shift-jis)
(".*[._].*8859[-_]?1" . iso-8859-1)
(".*[._].*8859[-_]?2" . iso-8859-2)
(".*[._].*8859[-_]?3" . iso-8859-3)
(".*[._].*8859[-_]?4" . iso-8859-4)
(".*[._].*8859[-_]?5" . iso-8859-5)
(".*[._].*8859[-_]?7" . iso-8859-7)
(".*[._].*8859[-_]?8" . iso-8859-8)
(".*[._].*8859[-_]?9" . iso-8859-9)
)
"List of pairs of locale regexps and coding systems.
The first element whose locale regexp matches the start of a downcased
locale specifies the coding system to prefer when using that locale.
If the coding system is nil, there is no special preference.")
"List of pairs of locale regexps and preferred coding systems.
The first element whose locale regexp matches the start of a downcased locale
specifies the coding system to prefer when using that locale.")
(defun locale-name-match (key alist)
"Search for KEY in ALIST, which should be a list of regexp-value pairs.
@ -1707,10 +1705,19 @@ directory named `/usr/share/locale' or `/usr/lib/locale'."
(setq locale-name (downcase locale-name))
(let ((language-name (locale-name-match
locale-name locale-language-names))
(coding-system (locale-name-match
locale-name locale-preferred-coding-systems)))
(let ((language-name
(locale-name-match locale-name locale-language-names))
(charset-language-name
(locale-name-match locale-name locale-charset-language-names))
(coding-system
(locale-name-match locale-name locale-preferred-coding-systems)))
(if (and charset-language-name
(not
(equal (get-language-info language-name 'charset)
(get-language-info charset-language-name 'charset))))
(setq language-name charset-language-name))
(when language-name
;; Set up for this character set. This is now the right way