# HG changeset patch # User Richard M. Stallman # Date 901998075 0 # Node ID 49e731d1ddb62cda1f4254cb5f6105af62174d85 # Parent 349fa4ee1f27ec355c4a0f4a867c934c239d8d22 (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. diff -r 349fa4ee1f27 -r 49e731d1ddb6 lisp/double.el --- a/lisp/double.el Fri Jul 31 10:53:30 1998 +0000 +++ b/lisp/double.el Sat Aug 01 19:01:15 1998 +0000 @@ -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 ;; Keywords: i18n @@ -139,21 +139,19 @@ ;;; 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 @@ (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))))