From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kenichi Handa Newsgroups: gmane.emacs.bugs Subject: bug#5387: MS950 alias for CP950 charset Date: Fri, 15 Jan 2010 21:57:07 +0900 Message-ID: References: <87my0fy44r.fsf@jidanni.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1263561578 26467 80.91.229.12 (15 Jan 2010 13:19:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 15 Jan 2010 13:19:38 +0000 (UTC) Cc: 5387@debbugs.gnu.org To: jidanni@jidanni.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jan 15 14:19:30 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NVm5J-0007Fk-Qb for geb-bug-gnu-emacs@m.gmane.org; Fri, 15 Jan 2010 14:19:30 +0100 Original-Received: from localhost ([127.0.0.1]:35332 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NVm5K-0002Oj-Df for geb-bug-gnu-emacs@m.gmane.org; Fri, 15 Jan 2010 08:19:30 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NVm5F-0002NC-Mg for bug-gnu-emacs@gnu.org; Fri, 15 Jan 2010 08:19:25 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NVm5B-0002MX-80 for bug-gnu-emacs@gnu.org; Fri, 15 Jan 2010 08:19:25 -0500 Original-Received: from [199.232.76.173] (port=33258 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NVm5B-0002MU-0y for bug-gnu-emacs@gnu.org; Fri, 15 Jan 2010 08:19:21 -0500 Original-Received: from mx20.gnu.org ([199.232.41.8]:20691) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NVm5A-0003JN-Q4 for bug-gnu-emacs@gnu.org; Fri, 15 Jan 2010 08:19:20 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NVm5A-0001aT-4l for bug-gnu-emacs@gnu.org; Fri, 15 Jan 2010 08:19:20 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1NVlkY-0000xy-HF; Fri, 15 Jan 2010 07:58:02 -0500 X-Loop: bug-gnu-emacs@gnu.org Resent-From: Kenichi Handa Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Jan 2010 12:58:02 +0000 Resent-Message-ID: Resent-Sender: bug-gnu-emacs@gnu.org X-Emacs-PR-Message: followup 5387 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by 5387-submit@debbugs.gnu.org id=B5387.12635602393668 (code B ref 5387); Fri, 15 Jan 2010 12:58:02 +0000 Original-Received: (at 5387) by debbugs.gnu.org; 15 Jan 2010 12:57:19 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NVljq-0000x7-EL for submit@debbugs.gnu.org; Fri, 15 Jan 2010 07:57:18 -0500 Original-Received: from mx1.aist.go.jp ([150.29.246.133]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NVljo-0000x0-5E for 5387@debbugs.gnu.org; Fri, 15 Jan 2010 07:57:17 -0500 Original-Received: from rqsmtp2.aist.go.jp (rqsmtp2.aist.go.jp [150.29.254.123]) by mx1.aist.go.jp with ESMTP id o0FCv8w6014165; Fri, 15 Jan 2010 21:57:08 +0900 (JST) env-from (handa@m17n.org) Original-Received: from smtp4.aist.go.jp by rqsmtp2.aist.go.jp with ESMTP id o0FCv8t9020368; Fri, 15 Jan 2010 21:57:08 +0900 (JST) env-from (handa@m17n.org) Original-Received: by smtp4.aist.go.jp with ESMTP id o0FCv7ff029995; Fri, 15 Jan 2010 21:57:07 +0900 (JST) env-from (handa@m17n.org) Original-Received: from handa by etlken with local (Exim 4.69) (envelope-from ) id 1NVljf-00082q-PC; Fri, 15 Jan 2010 21:57:07 +0900 In-Reply-To: <87my0fy44r.fsf@jidanni.org> X-Spam-Score: -2.5 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list X-Spam-Score: -2.5 (--) Resent-Date: Fri, 15 Jan 2010 07:58:02 -0500 X-detected-operating-system: by mx20.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:34358 Archived-At: In article <87my0fy44r.fsf@jidanni.org>, jidanni@jidanni.org writes: >>> And it turns out MS950 is an alias for CP950, >>> Where did you get that information? > I inferred it from my single encounter. >>> I checked >>> and found that only MS936 is listed as an alias of GBK. > That makes two... or 1.5. And, iconv: MS932, MS936, MSCP949, MSCP1361 python: ms932, ms936, ms949, ms950, ms1361 hmmm... I've just installed the attached change to accept msXXX. canonicalize-coding-system-name is used by coding-system-from-name, and, at least, rmail uses it. If you are using rmail, please try the latest code, or the attached patch. --- Kenichi Handa handa@m17n.org === modified file 'lisp/international/mule-cmds.el' --- lisp/international/mule-cmds.el 2010-01-13 08:35:10 +0000 +++ lisp/international/mule-cmds.el 2010-01-15 12:33:24 +0000 @@ -226,19 +226,22 @@ ;; and delimiter characters. Support function of ;; coding-system-from-name. (defun canonicalize-coding-system-name (name) - (if (string-match "^iso[-_ ]?[0-9]" name) - ;; "iso-8859-1" -> "8859-1", "iso-2022-jp" ->"2022-jp" - (setq name (substring name (1- (match-end 0))))) - (let ((idx (string-match "[-_ /]" name))) - ;; Delete "-", "_", " ", "/" but do distinguish "16-be" and "16be". - (while idx - (if (and (>= idx 2) - (eq (string-match "16-[lb]e$" name (- idx 2)) - (- idx 2))) - (setq idx (string-match "[-_ /]" name (match-end 0))) - (setq name (concat (substring name 0 idx) (substring name (1+ idx))) - idx (string-match "[-_ /]" name idx)))) - name)) + (if (string-match "^\\(ms\\|ibm\\|windows-\\)\\([0-9]+\\)$" name) + ;; "ms950", "ibm950", "windows-950" -> "cp950" + (concat "cp" (match-string 2 name)) + (if (string-match "^iso[-_ ]?[0-9]" name) + ;; "iso-8859-1" -> "8859-1", "iso-2022-jp" ->"2022-jp" + (setq name (substring name (1- (match-end 0))))) + (let ((idx (string-match "[-_ /]" name))) + ;; Delete "-", "_", " ", "/" but do distinguish "16-be" and "16be". + (while idx + (if (and (>= idx 2) + (eq (string-match "16-[lb]e$" name (- idx 2)) + (- idx 2))) + (setq idx (string-match "[-_ /]" name (match-end 0))) + (setq name (concat (substring name 0 idx) (substring name (1+ idx))) + idx (string-match "[-_ /]" name idx)))) + name))) (defun coding-system-from-name (name) "Return a coding system whose name matches with NAME (string or symbol)."