Bug#341593: mule-ucs: package clobbers encode-char and decode-char

2005-12-02 Thread Dave Love
Tatsuya Kinoshita [EMAIL PROTECTED] writes:

 BTW, the current mule-ucs startup is for various reasons:

 * un-define is needed for utf-* on emacs21/xemacs21

There isn't a problem just loading `un-define'.  That doesn't redefine
decode-char/encode-char.  (I should have said that is probably only a
problem in Emacs, since XEmacs doesn't have those functions.)
However, the package loads `unicode', which does cause the trouble.
That should certainly not be necessary if you only want mule-ucs for
the coding systems it defines.  (I haven't heard of anyone apart from
himi who understands it well enough to do anything else :-/.)

 * loading un-define after other packages might cause problems

In what way?  I can't think how it would cause problems (apart from
possible conflict with ucs-tables, but that could happen anyway). 

 * loading ucs-tables after un-define might cause problems

It is actually preloaded in the current Emacs.  (Loading it after the
Debian mule-ucs startup might fail, since it uses decode-char.)

 * unify-8859-on-encoding-mode is usefull even if un-define is loaded

I thought that mule-ucs managed to do essentially the same thing,
though I've forgotten the details.  However, I think they will give
inconsistent results with the find-coding-systems-... functions.

 * unify-8859-on-decoding-mode conflicts with un-define

[Just for my information, what is the conflict?  I don't know whether
I ever looked at that when I did ucs-tables.]

 * setting utf-8 coding-priority is needed to prefer mule-ucs

That can be done (and undone) at any time.

The most important thing is that loading the package should not
clobber {en,de}code-char (or other Emacs functions -- I haven't
checked for others).


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#341593: mule-ucs: package clobbers encode-char and decode-char

2005-12-02 Thread Tatsuya Kinoshita
On December 2, 2005 at 10:51AM +,
fx (at gnu.org) wrote:

  BTW, the current mule-ucs startup is for various reasons:
 
  * un-define is needed for utf-* on emacs21/xemacs21

 There isn't a problem just loading `un-define'.  That doesn't redefine
 decode-char/encode-char.  (I should have said that is probably only a
 problem in Emacs, since XEmacs doesn't have those functions.)
 However, the package loads `unicode', which does cause the trouble.
 That should certainly not be necessary if you only want mule-ucs for
 the coding systems it defines.  (I haven't heard of anyone apart from
 himi who understands it well enough to do anything else :-/.)

`jisx0213' requires `mucs', and `mucs' redefines {en,de}code-char
and causes problems, such as (decode-char 'ucs #x00B7) - nil.
Loading `unicode' prevents it.

However, your report mentions that loading `unicode' is not a
complete solution.

  * loading un-define after other packages might cause problems

 In what way?  I can't think how it would cause problems (apart from
 possible conflict with ucs-tables, but that could happen anyway).

At least, bitmap-mule on emacs20 failed if un-define wasn't loaded
early in startup.  However, emacs20 is no longer exists in Debian...

  * loading ucs-tables after un-define might cause problems

 It is actually preloaded in the current Emacs.  (Loading it after the
 Debian mule-ucs startup might fail, since it uses decode-char.)

Ah, right.

  * unify-8859-on-encoding-mode is usefull even if un-define is loaded

 I thought that mule-ucs managed to do essentially the same thing,
 though I've forgotten the details.  However, I think they will give
 inconsistent results with the find-coding-systems-... functions.

I felt that unify-8859-on-encoding-mode's unification for
iso-8859-* is a good thing than mule-ucs's unification.

  * unify-8859-on-decoding-mode conflicts with un-define

 [Just for my information, what is the conflict?  I don't know whether
 I ever looked at that when I did ucs-tables.]

mule-ucs's unification seems to depend on legacy charset (such as
latin-iso8859-*).  However, unify-8859-on-decoding-mode prefer
mule-unicode-* rather than the legacy charset.  So, if
unify-8859-on-decoding-mode is enabled, mule-ucs is unusable for me.

  * setting utf-8 coding-priority is needed to prefer mule-ucs

 That can be done (and undone) at any time.

You are right.

I thought that prefering mule-ucs's utf-8 than emacs's mule-utf-8
is better for users if un-define is enabled in startup.

 The most important thing is that loading the package should not
 clobber {en,de}code-char (or other Emacs functions -- I haven't
 checked for others).

I agree with it.

BTW, next release of Emacs (22.1) supports utf-* (includes CJK),
mule-ucs is proving troublesome, and the mule-ucs upstream
development is not active.  I cannot recommend mule-ucs at this time.

Anyway, I'll reconsider the mule-ucs startup.

Thanks,
--
Tatsuya Kinoshita


pgpPVmyxpZ83g.pgp
Description: PGP signature


Bug#341593: mule-ucs: package clobbers encode-char and decode-char

2005-12-01 Thread Dave Love
Package: mule-ucs
Severity: important

I'm not sure whether this should be higher severity than `important'
-- it affects other packages.  In particular, nxml-mode now conflicts
with mule-ucs because of this issue, but it shouldn't need to.

The mule-ucs startup sucks in the library `mucs', which redefines
`encode-char' and `decode-char'.  These are fairly fundamental in
multilingual handling, and they no longer work properly.  E.g.

  (decode-char 'ucs #xfffe)
= nil

Firstly, these definitions should be renamed (or possibly advised so
that they try the mule-ucs stuff if the normal functions return nil).

Secondly, I don't think the startup should pull in the support
libraries anyway.  They aren't needed for just defining the utf coding
systems.  The startup could define what it needs in compiled code --
the four versions of `un-define' that it basically wants
(`jisx0213-flag' × `prefer-latin-flag') -- and choose one at run time.

Also, I'm surprised the startup turns on unify-8859-on-encoding-mode.
I'd expect that to conflict with mule-ucs, but I haven't checked what
actually happens now.

I don't think the un-define-style code should be turned on by default;
I see you've rejected that already in #312883, but I don't understand
the comments about it.  On the SPARC I just tried, mule-ucs adds 25s
to Emacs startup.  It doesn't really help that the development Emacs
makes mule-ucs mostly obsolete, since there's no sign of it even
becoming stable :-(.

-- System Information:
Debian Release: 3.1
  APT prefers stable
  APT policy: (900, 'stable')
Architecture: sparc (sparc64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-sparc64
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#341593: mule-ucs: package clobbers encode-char and decode-char

2005-12-01 Thread Tatsuya Kinoshita
On December 1, 2005 at 3:27PM +,
fx (at gnu.org) wrote:

 Package: mule-ucs
 Severity: important
 
 I'm not sure whether this should be higher severity than `important'
 -- it affects other packages.  In particular, nxml-mode now conflicts
 with mule-ucs because of this issue, but it shouldn't need to.
 
 The mule-ucs startup sucks in the library `mucs', which redefines
 `encode-char' and `decode-char'.  These are fairly fundamental in
 multilingual handling, and they no longer work properly.  E.g.
 
   (decode-char 'ucs #xfffe)
 = nil
 
 Firstly, these definitions should be renamed (or possibly advised so
 that they try the mule-ucs stuff if the normal functions return nil).
 
 Secondly, I don't think the startup should pull in the support
 libraries anyway.  They aren't needed for just defining the utf coding
 systems.  The startup could define what it needs in compiled code --
 the four versions of `un-define' that it basically wants
 (`jisx0213-flag' × `prefer-latin-flag') -- and choose one at run time.
 
 Also, I'm surprised the startup turns on unify-8859-on-encoding-mode.
 I'd expect that to conflict with mule-ucs, but I haven't checked what
 actually happens now.
 
 I don't think the un-define-style code should be turned on by default;
 I see you've rejected that already in #312883, but I don't understand
 the comments about it.  On the SPARC I just tried, mule-ucs adds 25s
 to Emacs startup.  It doesn't really help that the development Emacs
 makes mule-ucs mostly obsolete, since there's no sign of it even
 becoming stable :-(.

Thanks for the report.

I rejected the request about loading speed issue (#312883).
However, your report mentions that loading mule-ucs causes other
important problems.  I'll reconsider the mule-ucs startup issue.

BTW, the current mule-ucs startup is for various reasons:

* un-define is needed for utf-* on emacs21/xemacs21
* loading un-define after other packages might cause problems
* loading ucs-tables after un-define might cause problems
* unify-8859-on-encoding-mode is usefull even if un-define is loaded
* unify-8859-on-decoding-mode conflicts with un-define
* setting utf-8 coding-priority is needed to prefer mule-ucs
* etc...

-- 
Tatsuya Kinoshita


pgpXEO3NhrbUd.pgp
Description: PGP signature