[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sort-coding-systems in 21.3 and RC branch (was: New function `emacs-vers
From: |
Reiner Steib |
Subject: |
sort-coding-systems in 21.3 and RC branch (was: New function `emacs-version>=') |
Date: |
Mon, 05 May 2003 15:47:26 +0200 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) |
On Sat, May 03 2003, Stefan Monnier wrote:
>> Another example (BTW: Is this fixed in the RC branch?):
I've checked it now. It isn't fixed in RC. Could someone please
install this patch (see below) in the RC branch? It's the output of
"diff -u -r1.216 -r1.217 mule-cmds.el" in HEAD.
>> Gnus 5.9 bundled with Emacs 21.3 comes with a slightly broken version
>> of the function `sort-coding-systems'.[...]
>
> Have you tried to test something like
>
> (eq 'mule-utf-16-be (car (sort-coding-systems '(mule-utf-8
> mule-utf-16-be))))
No, I haven't. Thanks for the hint.
But your test is not sufficient:
,----[ b0rked `sort-coding-systems' ]
| ELISP> (sort-coding-systems '(mule-utf-8 mule-utf-16-be))
| (mule-utf-8 mule-utf-16-be)
| ELISP> emacs-version
| "21.3.1"
`----
`find-coding-systems-region' returns, e.g.
(mule-utf-16-be mule-utf-16-le mule-utf-8 compound-text ...).
And the b0rked (21.3.1) version of `sort-coding-systems' doesn't
sort the list correctly:
,----[ b0rked `sort-coding-systems' ]
| ELISP> (sort-coding-systems '(mule-utf-16-be mule-utf-16-le mule-utf-8))
| (mule-utf-16-be mule-utf-16-le mule-utf-8)
`----
The fixed version (e.g. in HEAD) gives:
,----[ Fixed `sort-coding-systems' ]
| ELISP> (sort-coding-systems '(mule-utf-16-be mule-utf-16-le mule-utf-8))
| (mule-utf-8 mule-utf-16-be mule-utf-16-le)
`----
So using '(mule-utf-16-be mule-utf-16-le mule-utf-8) in your
suggestion does the trick:
(eq 'mule-utf-8
(car (sort-coding-systems
'(mule-utf-16-be mule-utf-16-le mule-utf-8))))
(I don't know if mule-utf-16-le is necessary, at least it doesn't
hurt.)
Thanks for suggestion!
Bye, Reiner.
--8<---------------cut here---------------start------------->8---
--- mule-cmds.el 26 Dec 2002 17:27:20 -0000 1.216
+++ mule-cmds.el 3 Jan 2003 20:16:11 -0000 1.217
@@ -425,9 +425,18 @@
(let ((base (coding-system-base x)))
(+ (if (eq base most-preferred) 64 0)
(let ((mime (coding-system-get base 'mime-charset)))
+ ;; Prefer coding systems corresponding to a
+ ;; MIME charset.
(if mime
- (if (string-match "^x-" (symbol-name mime))
- 16 32)
+ ;; Lower utf-16 priority so that we
+ ;; normally prefer utf-8 to it, and put
+ ;; x-ctext below that.
+ (cond ((or (eq base 'mule-utf-16-le)
+ (eq base 'mule-utf-16-be))
+ 16)
+ ((string-match "^x-" (symbol-name mime))
+ 8)
+ (t 32))
0))
(if (memq base lang-preferred) 8 0)
(if (string-match "-with-esc$" (symbol-name base))
--8<---------------cut here---------------end--------------->8---
--
,,,
(o o)
---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/
- Re: New function `emacs-version>=', (continued)
- Re: New function `emacs-version>=', Stefan Monnier, 2003/05/02
- Re: New function `emacs-version>=', Juanma Barranquero, 2003/05/02
- Re: New function `emacs-version>=', Ehud Karni, 2003/05/03
- Re: New function `emacs-version>=', Juanma Barranquero, 2003/05/03
- Re: New function `emacs-version>=', Stephen J. Turnbull, 2003/05/03
- Re: New function `emacs-version>=', Juanma Barranquero, 2003/05/04
- Re: New function `emacs-version>=', Stephen J. Turnbull, 2003/05/06
- Re: New function `emacs-version>=', Richard Stallman, 2003/05/04
- Re: New function `emacs-version>=', Reiner Steib, 2003/05/03
- Re: New function `emacs-version>=', Stefan Monnier, 2003/05/03
- sort-coding-systems in 21.3 and RC branch (was: New function `emacs-version>='),
Reiner Steib <=
- Re: sort-coding-systems in 21.3 and RC branch (was: New function `emacs-version>='), Kenichi Handa, 2003/05/06
Re: [Suggestion] New function `emacs-version>=', Thien-Thi Nguyen, 2003/05/02
Re: [Suggestion] New function `emacs-version>=', Richard Stallman, 2003/05/04
Re: [Suggestion] New function `emacs-version>=', Istvan Marko, 2003/05/06
RE: [Suggestion] New function `emacs-version>=', Wedler, Christoph, 2003/05/05
RE: [Suggestion] New function `emacs-version>=', Wedler, Christoph, 2003/05/06