Xref: utzoo comp.emacs:10167 gnu.emacs.gnews:99 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!rpi!crdgw1!uunet!mcsun!hp4nl!ruuinf!piet From: piet@cs.ruu.nl (Piet van Oostrum) Newsgroups: comp.emacs,gnu.emacs.gnews Subject: Problem with mail-abbrevs and Gnews Message-ID: <4914@ruuinf.cs.ruu.nl> Date: 22 Feb 91 13:50:04 GMT Sender: news@ruuinf.cs.ruu.nl Reply-To: piet@cs.ruu.nl (Piet van Oostrum) Followup-To: comp.emacs Organization: Dept of Computer Science, Utrecht University, The Netherlands Lines: 47 I started using mail-abbrevs that was posted recently and soon got a problem when I used both Gnews and mail in the same session. The symptoms were that my mail-mode got some keybindings from e-reply-mode. I tracked it down to mail-abbrev making a non-sparse copy of the keymap that is used by mail-mode and e-reply-mode trying to make a copy of that keymap for private use. However, Gnews uses a private keymap-copy routine that is incorrect: if the keymap is non-sparse it doesn't copy it, but shares the keymap. I think this is because it was written for a version of emacs that didn't have vector keymaps. Anyway, the solution is to get rid of the private keymap copying routine in Gnews: *** prims.el.~1~ Fri Sep 15 15:25:56 1989 --- prims.el Fri Feb 22 14:45:59 1991 *************** *** 144,159 **** (put 'gnews-replace 'lisp-indent-hook 2) ! (defun gnews-copy-keymap (keymap) ! ;; unneeded for v18.51 and up... ! "Copy a sparse KEYMAP recursively, so that no subkey in the new map ! can have a side effect on the original." ! (if (atom keymap) ! keymap ! (cons (if (consp (car keymap)) ! (gnews-copy-keymap (car keymap)) ! (car keymap)) ! (gnews-copy-keymap (cdr keymap))))) (defun gnews-subst-command-keys (s) "Replace command names in string S with extra compact key descriptions; --- 144,150 ---- (put 'gnews-replace 'lisp-indent-hook 2) ! (fset 'gnews-copy-keymap 'copy-keymap) (defun gnews-subst-command-keys (s) "Replace command names in string S with extra compact key descriptions; -- Piet* van Oostrum, Dept of Computer Science, Utrecht University, Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands. Telephone: +31 30 531806 Uucp: uunet!mcsun!ruuinf!piet Telefax: +31 30 513791 Internet: piet@cs.ruu.nl (*`Pete') Brought to you by Super Global Mega Corp .com