annotate lisp/double.el @ 24419:30e478cd167e

(shell-command-default-error-buffer): Renamed from shell-command-on-region-default-error-buffer. (shell-command-on-region): Mention in echo area when there is some error output. Mention success or failure, too. Accumulate multiple error outputs going forward, with formfeed in between. Display the error buffer when we have put something in it. (shell-command): Add the ERROR-BUFFER argument feature.
author Karl Heuer <kwzh@gnu.org>
date Mon, 01 Mar 1999 03:19:32 +0000
parents 95c97e05a03e
children e42d6599cade
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13337
84acc3adcd63 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 11561
diff changeset
1 ;;; double.el --- Support for keyboard remapping with double clicking
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
22861
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
3 ;; Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc.
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4
17982
24b81a90c347 Updated address.
Per Abrahamsen <abraham@dina.kvl.dk>
parents: 14169
diff changeset
5 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 ;; Keywords: i18n
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7
6001
7caad7f2269a Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 6000
diff changeset
8 ;; This file is part of GNU Emacs.
7caad7f2269a Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 6000
diff changeset
9
7caad7f2269a Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 6000
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 ;; it under the terms of the GNU General Public License as published by
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 ;; any later version.
6001
7caad7f2269a Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 6000
diff changeset
14
7caad7f2269a Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 6000
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; GNU General Public License for more details.
6001
7caad7f2269a Comment changes.
Richard M. Stallman <rms@gnu.org>
parents: 6000
diff changeset
19
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14040
diff changeset
23 ;; Boston, MA 02111-1307, USA.
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 ;;; Commentary:
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 ;; This mode is intended for use with languages that adds a small
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 ;; number of extra letters not available on the keyboard.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;;
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 ;; Examples includes Scandinavian and German with an US keyboard.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 ;;
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ;; The idea is that certain keys are overloaded. When you press it
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 ;; once it will insert one string, and when you press it twice the
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ;; string will be replaced by another. This can be used for mapping
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 ;; keys on a US keyboard to generate characters according to the local
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 ;; keyboard convention when pressed once, and according to US keyboard
14040
187735b53d52 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13337
diff changeset
37 ;; convention when pressed twice.
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 ;;
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 ;; To use this mode, you must define the variable `double-map' and
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 ;; then enable double mode with `M-x double-mode'. Read the
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 ;; documentation for both of them.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 ;;
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 ;; The default mapping is for getting Danish/Norwegian keyboard layout
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 ;; using ISO Latin 1 on a US keyboard.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 ;;
14040
187735b53d52 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13337
diff changeset
46 ;; Important node: While I would like to hear comments, bug reports,
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 ;; suggestions, please do @strong{not} expect me to put other mappings
14040
187735b53d52 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13337
diff changeset
48 ;; than the default into this file. There are billions and billions
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 ;; of such mappings, and just supporting the most common would
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 ;; increase the size of this nice small file manyfold.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 ;;; Code:
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53
20083
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
54 (defgroup double nil
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
55 "Remap keyboard, but get original by typing the same key twice."
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
56 :group 'i18n)
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
57
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
58 (defcustom double-map
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 '((?\; "\346" ";")
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 (?\' "\370" "'")
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 (?\[ "\345" "[")
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 (?\: "\306" ":")
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 (?\" "\330" "\"")
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 (?\{ "\305" "{"))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 "Alist of key translations activated by double mode.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 Each entry is a list with three elements:
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 1. The key activating the translation.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 2. The string to be inserted when the key is pressed once.
20083
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
70 3. The string to be inserted when the key is pressed twice."
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
71 :group 'double
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
72 :type '(repeat (list (character :tag "Key")
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
73 (string :tag "Once")
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
74 (string :tag "Twice"))))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
75
20083
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
76 (defcustom double-prefix-only t
10067
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
77 "*Non-nil means that Double mode mapping only works for prefix keys.
8008
049bc48732d6 (double-prefix-only): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7279
diff changeset
78 That is, for any key `X' in `double-map', `X' alone will be mapped
20083
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
79 but not `C-u X' or `ESC X' since the X is not the prefix key."
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
80 :group 'double
280dcaeeede3 Removed changelog comment section.
Karl Heuer <kwzh@gnu.org>
parents: 17982
diff changeset
81 :type 'boolean)
8008
049bc48732d6 (double-prefix-only): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7279
diff changeset
82
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 ;;; Read Event
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 (defvar double-last-event nil)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 ;; The last key that generated a double key event.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 (defun double-read-event (prompt)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 ;; Read an event
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90 (if isearch-mode (isearch-update))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 (if prompt
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 (prog2 (message "%s%c" prompt double-last-event)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93 (read-event)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 (message ""))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 (read-event)))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96
7279
89ed0051e237 (double-translate-key): Changed 'delete to 127 to make
Richard M. Stallman <rms@gnu.org>
parents: 6001
diff changeset
97 (global-set-key [ignore] '(lambda () (interactive)))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99 (or (boundp 'isearch-mode-map)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100 (load-library "isearch"))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101
7279
89ed0051e237 (double-translate-key): Changed 'delete to 127 to make
Richard M. Stallman <rms@gnu.org>
parents: 6001
diff changeset
102 (define-key isearch-mode-map [ignore]
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 (function (lambda () (interactive) (isearch-update))))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 (defun double-translate-key (prompt)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 ;; Translate input events using double map.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107 (let ((key last-input-char))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108 (cond (unread-command-events
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109 ;; Artificial event, ignore it.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 (vector key))
8008
049bc48732d6 (double-prefix-only): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7279
diff changeset
111 ((and double-prefix-only
049bc48732d6 (double-prefix-only): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7279
diff changeset
112 (> (length (this-command-keys)) 1))
049bc48732d6 (double-prefix-only): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7279
diff changeset
113 ;; This is not a prefix key, ignore it.
049bc48732d6 (double-prefix-only): New variable.
Richard M. Stallman <rms@gnu.org>
parents: 7279
diff changeset
114 (vector key))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 ((eq key 'magic-start)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 ;; End of generated event. See if he will repeat it...
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 (let ((new (double-read-event prompt))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
118 (entry (assoc double-last-event double-map)))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
119 (if (eq new double-last-event)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
120 (progn
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
121 (setq unread-command-events
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122 (append (make-list (1- (length (nth 1 entry)))
7279
89ed0051e237 (double-translate-key): Changed 'delete to 127 to make
Richard M. Stallman <rms@gnu.org>
parents: 6001
diff changeset
123 127)
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 (nth 2 entry)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 '(magic-end)))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126 (vector 127))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127 (setq unread-command-events (list new))
7279
89ed0051e237 (double-translate-key): Changed 'delete to 127 to make
Richard M. Stallman <rms@gnu.org>
parents: 6001
diff changeset
128 [ignore])))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129 ((eq key 'magic-end)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 ;; End of double event. Ignore.
7279
89ed0051e237 (double-translate-key): Changed 'delete to 127 to make
Richard M. Stallman <rms@gnu.org>
parents: 6001
diff changeset
131 [ignore])
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
132 (t
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133 ;; New key.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 (let ((exp (nth 1 (assoc key double-map))))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135 (setq double-last-event key)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136 (setq unread-command-events
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137 (append (substring exp 1) '(magic-start)))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138 (vector (aref exp 0)))))))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 ;;; Key Translation Map
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141
22861
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
142 (defun double-setup (enable-flag)
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
143 (if enable-flag
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
144 (progn
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
145 ;; Set up key-translation-map as indicated by `double-map'.
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
146 (kill-local-variable 'key-translation-map)
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
147 (make-local-variable 'key-translation-map)
23003
95c97e05a03e (double-setup): Only copy `key-translation-map' if it is a keymap.
Richard M. Stallman <rms@gnu.org>
parents: 22861
diff changeset
148 (setq key-translation-map (if (keymapp key-translation-map)
95c97e05a03e (double-setup): Only copy `key-translation-map' if it is a keymap.
Richard M. Stallman <rms@gnu.org>
parents: 22861
diff changeset
149 (copy-keymap key-translation-map)
95c97e05a03e (double-setup): Only copy `key-translation-map' if it is a keymap.
Richard M. Stallman <rms@gnu.org>
parents: 22861
diff changeset
150 (make-sparse-keymap)))
22861
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
151 (mapcar (function (lambda (entry)
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
152 (define-key key-translation-map
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
153 (vector (nth 0 entry))
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
154 'double-translate-key)))
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
155 (append double-map '((magic-start) (magic-end)))))
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
156 (kill-local-variable 'key-translation-map)))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
157
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
158 ;;; Mode
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
159
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
160 (defvar double-mode nil)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
161 ;; Indicator for the double mode.
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
162 (make-variable-buffer-local 'double-mode)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
163
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
164 (or (assq 'double-mode minor-mode-alist)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
165 (setq minor-mode-alist
10067
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
166 (cons '(double-mode " Double") minor-mode-alist)))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
167
10067
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
168 ;; This feature seemed useless and it confused describe-mode,
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
169 ;; so I deleted it.
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
170 ;;;(defvar double-mode-name "Double")
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
171 ;;;;; Name of current double mode.
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
172 ;;; (make-variable-buffer-local 'double-mode-name)
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
173
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
174 ;;;###autoload
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
175 (defun double-mode (arg)
10067
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
176 "Toggle Double mode.
8ab32ff7b97c (double-mode-name): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 8008
diff changeset
177 With prefix arg, turn Double mode on iff arg is positive.
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
178
11561
56399c411b8b (double-mode): Use force-mode-line-update.
Karl Heuer <kwzh@gnu.org>
parents: 10067
diff changeset
179 When Double mode is on, some keys will insert different strings
56399c411b8b (double-mode): Use force-mode-line-update.
Karl Heuer <kwzh@gnu.org>
parents: 10067
diff changeset
180 when pressed twice. See variable `double-map' for details."
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
181 (interactive "P")
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
182 (if (or (and (null arg) double-mode)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
183 (<= (prefix-numeric-value arg) 0))
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
184 ;; Turn it off
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
185 (if double-mode
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
186 (progn
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
187 (let ((double-map))
22861
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
188 (double-setup nil))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
189 (setq double-mode nil)
11561
56399c411b8b (double-mode): Use force-mode-line-update.
Karl Heuer <kwzh@gnu.org>
parents: 10067
diff changeset
190 (force-mode-line-update)))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
191 ;;Turn it on
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
192 (if double-mode
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
193 ()
22861
49e731d1ddb6 (default-key-translation-map): Variable deleted.
Richard M. Stallman <rms@gnu.org>
parents: 20083
diff changeset
194 (double-setup t)
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
195 (setq double-mode t)
11561
56399c411b8b (double-mode): Use force-mode-line-update.
Karl Heuer <kwzh@gnu.org>
parents: 10067
diff changeset
196 (force-mode-line-update))))
6000
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
197
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
198 (provide 'double)
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
199
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
200 ;;; double.el ends here
03f32cdd842a Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
201