changeset 5101:c95efc1cf15b

(iso-accents-enable): New variable. (key-translation-map): Enable an accent only if in iso-accents-enable.
author Richard M. Stallman <rms@gnu.org>
date Sun, 21 Nov 1993 22:54:37 +0000
parents 33de23a28204
children e035ea595cf6
files lisp/international/iso-acc.el
diffstat 1 files changed, 26 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/iso-acc.el	Sun Nov 21 22:43:09 1993 +0000
+++ b/lisp/international/iso-acc.el	Sun Nov 21 22:54:37 1993 +0000
@@ -55,6 +55,9 @@
 ;;
 ;; Function `iso-accents-mode' can be used to enable the iso accents
 ;; minor mode, or disable it.
+
+;; If you want only some of these characters to serve as accents,
+;; set iso-accents-enable to the list of characters that should be special.
 
 ;;; Code:
 
@@ -181,15 +184,27 @@
       (setq unread-command-events (list second-char))
       (vector first-char))))
 
+(defvar iso-accents-enable '(?' ?` ?^ ?\" ?~ ?/)
+  "*List of accent keys that become prefixes in ISO Accents mode.
+The default is (?' ?` ?^ ?\" ?~ ?/), which contains all the supported
+accent keys.  For certain languages, you might want to remove some of
+those characters that are not actually used.")
+
 (or key-translation-map (setq key-translation-map (make-sparse-keymap)))
 ;; For sequences starting with an accent character,
 ;; use a function that tests iso-accents-minor-mode.
-(define-key key-translation-map "'"  'iso-accents-accent-key)
-(define-key key-translation-map "`"  'iso-accents-accent-key)
-(define-key key-translation-map "^"  'iso-accents-accent-key)
-(define-key key-translation-map "\"" 'iso-accents-accent-key)
-(define-key key-translation-map "~" 'iso-accents-accent-key)
-(define-key key-translation-map "/" 'iso-accents-accent-key)
+(if (memq ?' iso-accents-enable)
+    (define-key key-translation-map "'"  'iso-accents-accent-key))
+(if (memq ?` iso-accents-enable)
+    (define-key key-translation-map "`"  'iso-accents-accent-key))
+(if (memq ?^ iso-accents-enable)
+    (define-key key-translation-map "^"  'iso-accents-accent-key))
+(if (memq ?\" iso-accents-enable)
+    (define-key key-translation-map "\"" 'iso-accents-accent-key))
+(if (memq ?~ iso-accents-enable)
+    (define-key key-translation-map "~" 'iso-accents-accent-key))
+(if (memq ?/ iso-accents-enable)
+    (define-key key-translation-map "/" 'iso-accents-accent-key))
 
 ;; It is a matter of taste if you want the minor mode indicated
 ;; in the mode line...
@@ -207,6 +222,10 @@
 \(`, ', \", ^, / and ~) do not self-insert; instead, they modify the following
 letter key so that it inserts an ISO accented letter.
 
+The variable `iso-accents-enable' specifies the list of characters to
+enable as accents.  If you don't need all of them, remove the ones you
+don't need from that list.
+
 Special combinations: ~c gives a c with cedilla,
 ~d gives a d with dash.
 \"s gives German sharp s.
@@ -214,7 +233,7 @@
 /e gives an a-e ligature.
 ~< and ~> give guillemets.
 
-With an argument, a positive argument enables ISO-accents mode, 
+With an argument, a positive argument enables ISO Accents mode, 
 and a negative argument disables it."
 
   (interactive "P")