# HG changeset patch # User Stefan Monnier # Date 1007165901 0 # Node ID 3fb1c54eb631491c53e87839b625b2a51ff1b3a6 # Parent d03985d6f325e67970a180a752c8ea6d16e01217 (encoded-kbd-mode): Use define-minor-mode. diff -r d03985d6f325 -r 3fb1c54eb631 lisp/international/encoded-kb.el --- a/lisp/international/encoded-kb.el Sat Dec 01 00:17:08 2001 +0000 +++ b/lisp/international/encoded-kb.el Sat Dec 01 00:18:21 2001 +0000 @@ -24,27 +24,9 @@ ;;; Code: -(defvar encoded-kbd-mode nil - "Non-nil if in Encoded-kbd minor mode.") -(put 'encoded-kbd-mode 'permanent-local t) - -;;; (let ((slot (assq 'encoded-kbd-mode minor-mode-alist)) -;;; (name " Encoded-kbd")) -;;; (if slot -;;; (setcar (cdr slot) name) -;;; (setq minor-mode-alist -;;; (cons '(encoded-kbd-mode " Encoded-kbd") minor-mode-alist)))) - (defconst encoded-kbd-mode-map (make-sparse-keymap) "Keymap for Encoded-kbd minor mode.") -(let ((slot (assq 'encoded-kbd-mode minor-mode-map-alist))) - (if slot - (setcdr slot encoded-kbd-mode-map) - (setq minor-mode-map-alist - (cons (cons 'encoded-kbd-mode encoded-kbd-mode-map) - minor-mode-map-alist)))) - ;; Subsidiary keymaps for handling ISO2022 escape sequences. (defvar encoded-kbd-iso2022-esc-map @@ -305,8 +287,9 @@ ;; Input mode at the time Encoded-kbd mode is turned on is saved here. (defvar saved-input-mode nil) +(put 'encoded-kbd-mode 'permanent-local t) ;;;###autoload -(defun encoded-kbd-mode (&optional arg) +(define-minor-mode encoded-kbd-mode "Toggle Encoded-kbd minor mode. With arg, turn Encoded-kbd mode on if and only if arg is positive. @@ -317,12 +300,9 @@ In Encoded-kbd mode, a text sent from keyboard is accepted as a multilingual text encoded in a coding system set by \\[set-keyboard-coding-system]." - (if encoded-kbd-mode - ;; We must at first reset input-mode to the original. - (apply 'set-input-mode saved-input-mode)) - (setq encoded-kbd-mode - (if (null arg) (null encoded-kbd-mode) - (> (prefix-numeric-value arg) 0))) + :global t + ;; We must at first reset input-mode to the original. + (if saved-input-mode (apply 'set-input-mode saved-input-mode)) (if encoded-kbd-mode (let ((coding (keyboard-coding-system))) (setq saved-input-mode (current-input-mode)) @@ -374,7 +354,6 @@ (setq encoded-kbd-mode nil) (error "Coding-system `%s' is not supported in Encoded-kbd mode" (keyboard-coding-system)))) - (encoded-kbd-setup-keymap coding) - (run-hooks 'encoded-kbd-mode-hook)))) + (encoded-kbd-setup-keymap coding)))) ;;; encoded-kb.el ends here