;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:39 2007 ;;; from file /home/cyd/emacs/lisp/double.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`double.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'double nil "Remap keyboard, but get original by typing the same key twice." :group 'i18n) #@254 Alist of key translations activated by double mode. Each entry is a list with three elements: 1. The key activating the translation. 2. The string to be inserted when the key is pressed once. 3. The string to be inserted when the key is pressed twice. (custom-declare-variable 'double-map ''((59 "\346" ";") (39 "\370" "'") (91 "\345" "[") (58 "\306" ":") (34 "\330" "\"") (123 "\305" "{")) '(#$ . 673) :group 'double :type '(repeat (list (character :tag "Key") (string :tag "Once") (string :tag "Twice")))) #@198 *Non-nil means that Double mode mapping only works for prefix keys. That is, for any key `X' in `double-map', `X' alone will be mapped but not `C-u X' or `ESC X' since the X is not the prefix key. (custom-declare-variable 'double-prefix-only 't '(#$ . -1189) :group 'double :type 'boolean) (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list double-last-event default-boundp set-default nil] 3) (defalias 'double-read-event #[(prompt) "\203\303 \210 \203\304\305 \n#\210\306 \304\307!\210\207\306 \207" [isearch-mode prompt double-last-event isearch-update message "%s%c" read-event ""] 4]) (byte-code "\301\302\303\"\210\304\300!\204\305\306!\210\307\310\311#\207" [isearch-mode-map global-set-key [ignore] (lambda nil (interactive)) boundp load-library "isearch" define-key [ignore] #[nil "\300 \207" [isearch-update] 1 nil nil]] 4) (defalias 'double-translate-key #[(prompt) "\n\203\f\306 !\202\201 \203\307 G\310V\203\306 !\202\201 \311=\203\\\312\f!\313 \"\314\315 !\210 =\203S\316\317A@GS\320\"\3218\322#\306\320!\202XC\323*\202\201 \324=\203f\325\202\201\313 \"A@ \316\310\326O\327\"\306\330H!))\207" [last-input-char key unread-command-events double-prefix-only prompt double-last-event vector this-command-keys 1 magic-start double-read-event assoc force-window-update selected-window append make-list 127 2 (magic-end) [ignore] magic-end [ignore] nil (magic-start) 0 double-map entry new exp] 4]) (defalias 'double-setup #[(enable-flag) "\203#\303\301!\210\304\301!\210\305 !\203\306 !\202\307 \310\311\312\n\313\"\"\207\303\301!\207" [enable-flag key-translation-map double-map kill-local-variable make-local-variable keymapp copy-keymap make-sparse-keymap mapcar #[(entry) "\302\303 @!\304#\207" [key-translation-map entry define-key vector double-translate-key] 4] append ((magic-start) (magic-end))] 5]) #@129 Toggle Double mode. Setting this variable directly does not take effect; use either \[customize] or the function `double-mode'. (custom-declare-variable 'double-mode 'nil '(#$ . 3100) :set #[(symbol value) "\301\203 \302\202\n\303!\207" [value double-mode 1 0] 2] :initialize 'custom-initialize-default :link '(emacs-commentary-link "double") :type 'boolean :require 'double :group 'double) (byte-code "\301\302!\210\302\236\204\303B\301\207" [minor-mode-alist make-variable-buffer-local double-mode (double-mode " Double")] 2) #@204 Toggle Double mode. With prefix arg, turn Double mode on iff arg is positive. When Double mode is on, some keys will insert different strings when pressed twice. See variable `double-map' for details. (defalias 'double-mode #[(arg) "\204 \204\303!\304X\203 \205-\305\306\305!\210)\305\307 \207 ?\205-\306\310!\210\310\307 \207" [arg double-mode double-map prefix-numeric-value 0 nil double-setup force-mode-line-update t] 2 (#$ . 3643) "P"]) (provide 'double)