Subject: Re: bug#10566: some files bind to global-map "C-x" instead of ctl-x-map
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Wed, 25 Jan 2012 21:37:58 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 24.0.93

Teika Kazura wrote:

> In recent versions of emacs - at least in 23.3.3 and 24.0.92 -

Since always probably (at least 21.1).

> some files do
>   (define-key global-map "\C-x\C-j" 'some-command)
> but it has to be
>   (define-key ctl-x-map "\C-j" 'some-command)
> If you bind "C-x" to non-keymap, you'll receive an error.

Thanks for the report.

> obsolete/iso-insert.el:624:      (define-key global-map "\C-x8" 8859-1-map))

Let's not worry about obsolete things (one more reason to remove it).

> dired-x.el:88:               (define-key global-map "\C-x\C-j" 'dired-jump)
> dired-x.el:89:               (define-key global-map "\C-x4\C-j" 'dired-jump-other-window))
> dired-x.el:91:               (define-key global-map "\C-x\C-j" nil))
> dired-x.el:93:               (define-key global-map "\C-x4\C-j" nil))))

Fixed.

> vc/vc-hooks.el:944:(define-key global-map "\C-xv" 'vc-prefix-map)

I don't think this matters, since it is preloaded, so it's impossible to
change the C-x mapping before this point, but I changed it anyway.

> eshell/em-term.el:221:;     (lookup-key (current-global-map) "\C-x"))
> eshell/em-term.el:244:;       (copy-keymap (lookup-key (current-global-map) "\C-x")))

Let's not worry about code that has never been uncommented.

> term.el:911:    (copy-keymap (lookup-key (current-global-map) "\C-x")))

Changed.

> term.el:3484:   (lookup-key (current-global-map) "\C-x"))

I think it is appropriate to leave this as-is.

> obsolete/iso-insert.el:623:   (if (not (lookup-key global-map "\C-x8"))

Obsolete, ignoring.

> dired-x.el:90:           (if (eq 'dired-jump (lookup-key global-map "\C-x\C-j"))
> dired-x.el:92:           (if (eq 'dired-jump-other-window (lookup-key global-map "\C-x4\C-j"))

Fixed.