mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
(default-key-translation-map): Variable deleted.
(double-setup): Make key-translation-map buffer-local here. New arg ENABLE-FLAG. (double-mode): Pass ENABLE-FLAG arg to double-setup.
This commit is contained in:
parent
526d204e20
commit
7cda860e7a
1 changed files with 16 additions and 18 deletions
|
|
@ -1,6 +1,6 @@
|
|||
;;; double.el --- Support for keyboard remapping with double clicking
|
||||
|
||||
;; Copyright (C) 1994,1997 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
|
||||
;; Keywords: i18n
|
||||
|
|
@ -139,21 +139,19 @@ but not `C-u X' or `ESC X' since the X is not the prefix key."
|
|||
|
||||
;;; Key Translation Map
|
||||
|
||||
(defvar default-key-translation-map
|
||||
(or key-translation-map (make-sparse-keymap))
|
||||
"Key translation you want to have effect, regardless of Double mode.
|
||||
This defaults to the value of `key-translation-map' when double was
|
||||
first loaded.")
|
||||
|
||||
(make-variable-buffer-local 'key-translation-map)
|
||||
|
||||
(defun double-setup ()
|
||||
;; Setup key-translation-map as indicated by `double-map'.
|
||||
(setq key-translation-map (copy-keymap default-key-translation-map))
|
||||
(mapcar (function (lambda (entry)
|
||||
(define-key key-translation-map (vector (nth 0 entry))
|
||||
'double-translate-key)))
|
||||
(append double-map '((magic-start) (magic-end)))))
|
||||
(defun double-setup (enable-flag)
|
||||
(if enable-flag
|
||||
(progn
|
||||
;; Set up key-translation-map as indicated by `double-map'.
|
||||
(kill-local-variable 'key-translation-map)
|
||||
(make-local-variable 'key-translation-map)
|
||||
(setq key-translation-map (copy-keymap key-translation-map))
|
||||
(mapcar (function (lambda (entry)
|
||||
(define-key key-translation-map
|
||||
(vector (nth 0 entry))
|
||||
'double-translate-key)))
|
||||
(append double-map '((magic-start) (magic-end)))))
|
||||
(kill-local-variable 'key-translation-map)))
|
||||
|
||||
;;; Mode
|
||||
|
||||
|
|
@ -185,13 +183,13 @@ when pressed twice. See variable `double-map' for details."
|
|||
(if double-mode
|
||||
(progn
|
||||
(let ((double-map))
|
||||
(double-setup))
|
||||
(double-setup nil))
|
||||
(setq double-mode nil)
|
||||
(force-mode-line-update)))
|
||||
;;Turn it on
|
||||
(if double-mode
|
||||
()
|
||||
(double-setup)
|
||||
(double-setup t)
|
||||
(setq double-mode t)
|
||||
(force-mode-line-update))))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue