|
From: | Kevin Rodgers |
Subject: | Re: C-z (Re: Two GTK related feature requests) |
Date: | Mon, 27 Oct 2003 12:44:10 -0700 |
User-agent: | Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:0.9.4.1) Gecko/20020406 Netscape6/6.2.2 |
Juri Linkov wrote:
Here is what I have in .emacs: (defvar my-map nil) (if (not my-map) (let ((c-z (global-key-binding "\C-z"))) (global-unset-key "\C-z") (setq my-map (make-sparse-keymap)) (define-key global-map "\C-z" my-map) (define-key my-map "\C-z" c-z))) (define-key my-map "t" ...) ... BTW, I once had one problem with this code. Before I added `if' condition, this code was called twice on the Emacs startup and created the cyclic keymap. The double loading was caused by the bug in the function `command-line' in lisp/startup.el:
I can't argue about the bug, but the recommended way to do that is: (defvar my-map (let ((map (make-sparse-keymap)) (c-z (global-key-binding "\C-z"))) (global-unset-key "\C-z") (define-key global-map "\C-z" my-map) (define-key map "\C-z" c-z) map)) (define-key my-map "t" ...) Or maybe there's even a better way, using define-prefix-command. -- Kevin Rodgers
[Prev in Thread] | Current Thread | [Next in Thread] |