Hi,
A user who uses Gnus and uses Egg or Canna for entering CJK text
cannot use some summary commands in the Gnus article buffer. I
actually use Egg for enterting Japanese text. I noticed recently
the real cause of this long-standing problem while playing with
a certain function in the Gnus CVS trunk. It is because:
** Gnus runs `suppress-keymap' on the article keymap in order to
replace `self-insert-command', which many keys are bound to,
with `undefined'. And then it replaces `undefined' with the
command that reads the summary keymap and runs the summary
command (`gnus-article-read-summary-keys').
** Usually egg.el or canna.el is loaded when XEmacs starts and
replaces `self-insert-command' with `egg-self-insert-command'
or `canna-self-insert-command' respectively in `global-map'.
** `suppress-keymap' replaces only `self-insert-command' with
`undefined' in `global-map'.
Maybe what is bad is that Egg and Canna replace `self-insert-command'
in `global-map', but it seems quite hard to improve those traditional
tools. Instead, there are three possible solutions:
1. Make egg.el and canna.el modify `suppress-keymap' to support
Egg and Canna. This way is what I recommend (and also
implemented in old Egg and Canna for the modern Emacs).
-> Patch1
2. Make `suppress-keymap' support Egg and Canna in keymap.el.
But it is useless for people who don't use Egg or Canna.
-> Patch2
3. If both of the above are not acceptable to XEmacs, a user has
no choice but to add the one like the following to the XEmacs
init file:
(defadvice suppress-keymap (after remap-xxx-self-insert-command activate)
"Remap *-self-insert-command to `undefined'."
(substitute-key-definition 'egg-self-insert-command 'undefined
(ad-get-arg 0) global-map)
(substitute-key-definition 'canna-self-insert-command 'undefined
(ad-get-arg 0) global-map)
(substitute-key-definition 'can-n-egg-self-insert-command 'undefined
(ad-get-arg 0) global-map))
Regards,
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches