diff options
| author | Kenichi Handa | 1998-06-20 02:59:51 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-06-20 02:59:51 +0000 |
| commit | 22e382fda989339efde59bc5b1f14bc78a8fdeb7 (patch) | |
| tree | f855e52098fba15ae770b0731d1531253ba4b218 | |
| parent | b3c357b6a0df3d3026790dd6b29e398a23f388d3 (diff) | |
| download | emacs-22e382fda989339efde59bc5b1f14bc78a8fdeb7.tar.gz emacs-22e382fda989339efde59bc5b1f14bc78a8fdeb7.zip | |
Delete codes for ethio-mode, which
includes deletion of varialble ethio-mode, variable
ethio-mode-map, and function ethio-mode.
(exit-ethiopic-environment-data): New variable.
(setup-ethiopic-environment): Recode information of changed key
bindings in exit-ethiopic-environment-data. Add
ethio-select-a-translation to quail-mode-hook.
(exit-ethiopic-environment): New function.
(ethio-find-file): Don't check ethio-mode.
(ethio-write-file): Likewise.
| -rw-r--r-- | lisp/language/ethio-util.el | 112 |
1 files changed, 46 insertions, 66 deletions
diff --git a/lisp/language/ethio-util.el b/lisp/language/ethio-util.el index ec3bb538f8d..ff5c54aa090 100644 --- a/lisp/language/ethio-util.el +++ b/lisp/language/ethio-util.el | |||
| @@ -26,71 +26,57 @@ | |||
| 26 | 26 | ||
| 27 | ;;; Code: | 27 | ;;; Code: |
| 28 | 28 | ||
| 29 | ;; Information for exiting Ethiopic environment. | ||
| 30 | (defvar exit-ethiopic-environment-data nil) | ||
| 31 | |||
| 29 | ;;;###autoload | 32 | ;;;###autoload |
| 30 | (defun setup-ethiopic-environment () | 33 | (defun setup-ethiopic-environment () |
| 31 | "Setup multilingual environment for Ethiopic." | 34 | "Setup multilingual environment for Ethiopic." |
| 32 | (interactive) | 35 | (interactive) |
| 33 | (setup-english-environment) | 36 | (setup-english-environment) |
| 34 | (setq default-input-method "ethiopic")) | 37 | (setq default-input-method "ethiopic") |
| 35 | 38 | ||
| 36 | ;; | 39 | (let ((key-bindings '((" " . ethio-insert-space) |
| 37 | ;; Ethio minor mode | 40 | ([?\S- ] . ethio-insert-ethio-space) |
| 38 | ;; | 41 | ([?\C-'] . ethio-gemination) |
| 39 | 42 | ([f2] . ethio-toggle-space) | |
| 40 | (defvar ethio-mode nil "Non-nil if in Ethio minor mode.") | 43 | ([S-f2] . ethio-replace-space) ; as requested |
| 41 | (make-variable-buffer-local 'ethio-mode) | 44 | ([f3] . ethio-toggle-punctuation) |
| 42 | 45 | ([f4] . ethio-sera-to-fidel-buffer) | |
| 43 | (or (assq 'ethio-mode minor-mode-alist) | 46 | ([S-f4] . ethio-sera-to-fidel-region) |
| 44 | (setq minor-mode-alist | 47 | ([C-f4] . ethio-sera-to-fidel-mail-or-marker) |
| 45 | (cons '(ethio-mode " Ethio") minor-mode-alist))) | 48 | ([f5] . ethio-fidel-to-sera-buffer) |
| 46 | 49 | ([S-f5] . ethio-fidel-to-sera-region) | |
| 47 | (defvar ethio-mode-map | 50 | ([C-f5] . ethio-fidel-to-sera-mail-or-marker) |
| 48 | (let ((map (make-sparse-keymap))) | 51 | ([f6] . ethio-modify-vowel) |
| 49 | (define-key map " " 'ethio-insert-space) | 52 | ([f7] . ethio-replace-space) |
| 50 | (define-key map [?\S- ] 'ethio-insert-ethio-space) | 53 | ([f8] . ethio-input-special-character))) |
| 51 | (define-key map [?\C-'] 'ethio-gemination) | 54 | kb) |
| 52 | (define-key map [f2] 'ethio-toggle-space) | 55 | (while key-bindings |
| 53 | (define-key map [S-f2] 'ethio-replace-space) ; as requested | 56 | (setq kb (car (car key-bindings))) |
| 54 | (define-key map [f3] 'ethio-toggle-punctuation) | 57 | (setq exit-ethiopic-environment-data |
| 55 | (define-key map [f4] 'ethio-sera-to-fidel-buffer) | 58 | (cons (cons kb (global-key-binding kb)) |
| 56 | (define-key map [S-f4] 'ethio-sera-to-fidel-region) | 59 | exit-ethiopic-environment-data)) |
| 57 | (define-key map [C-f4] 'ethio-sera-to-fidel-mail-or-marker) | 60 | (global-set-key kb (cdr (car key-bindings))) |
| 58 | (define-key map [f5] 'ethio-fidel-to-sera-buffer) | 61 | (setq key-bindings (cdr key-bindings)))) |
| 59 | (define-key map [S-f5] 'ethio-fidel-to-sera-region) | 62 | |
| 60 | (define-key map [C-f5] 'ethio-fidel-to-sera-mail-or-marker) | 63 | (add-hook 'quail-mode-hook 'ethio-select-a-translation) |
| 61 | (define-key map [f6] 'ethio-modify-vowel) | 64 | (add-hook 'find-file-hooks 'ethio-find-file) |
| 62 | (define-key map [f7] 'ethio-replace-space) | 65 | (add-hook 'write-file-hooks 'ethio-write-file) |
| 63 | (define-key map [f8] 'ethio-input-special-character) | 66 | (add-hook 'after-save-hook 'ethio-find-file)) |
| 64 | map) | 67 | |
| 65 | "Keymap for Ethio minor mode.") | 68 | (defun exit-ethiopic-environment () |
| 66 | 69 | "Exit Ethiopic language environment" | |
| 67 | (or (assq 'ethio-mode minor-mode-map-alist) | 70 | (while exit-ethiopic-environment-data |
| 68 | (setq minor-mode-map-alist | 71 | (global-set-key (car (car exit-ethiopic-environment-data)) |
| 69 | (cons (cons 'ethio-mode ethio-mode-map) minor-mode-map-alist))) | 72 | (cdr (car exit-ethiopic-environment-data))) |
| 70 | 73 | (setq exit-ethiopic-environment-data | |
| 71 | ;;;###autoload | 74 | (cdr exit-ethiopic-environment-data))) |
| 72 | (defun ethio-mode (&optional arg) | 75 | |
| 73 | "Toggle Ethio minor mode. | 76 | (remove-hook 'quail-mode-hook 'ethio-select-a-translation) |
| 74 | With arg, turn Ethio mode on if and only if arg is positive. | 77 | (remove-hook 'find-file-hooks 'ethio-find-file) |
| 75 | 78 | (remove-hook 'write-file-hooks 'ethio-write-file) | |
| 76 | Also, Ethio minor mode is automatically turned on | 79 | (remove-hook 'after-save-hook 'ethio-find-file)) |
| 77 | when you activate the Ethiopic quail package. | ||
| 78 | |||
| 79 | The keys that are defined in ethio-mode are: | ||
| 80 | \\{ethio-mode-map}" | ||
| 81 | |||
| 82 | (interactive) | ||
| 83 | (setq ethio-mode | ||
| 84 | (if (null arg) (not ethio-mode) | ||
| 85 | (> (prefix-numeric-value arg) 0))) | ||
| 86 | (if ethio-mode | ||
| 87 | (progn | ||
| 88 | (add-hook 'find-file-hooks 'ethio-find-file) | ||
| 89 | (add-hook 'write-file-hooks 'ethio-write-file) | ||
| 90 | (add-hook 'after-save-hook 'ethio-find-file)) | ||
| 91 | (remove-hook 'find-file-hooks 'ethio-find-file) | ||
| 92 | (remove-hook 'write-file-hooks 'ethio-write-file) | ||
| 93 | (remove-hook 'after-save-hook 'ethio-find-file))) | ||
| 94 | 80 | ||
| 95 | ;; | 81 | ;; |
| 96 | ;; ETHIOPIC UTILITY FUNCTIONS | 82 | ;; ETHIOPIC UTILITY FUNCTIONS |
| @@ -1826,9 +1812,6 @@ Otherwise, [0-9A-F]." | |||
| 1826 | "Transcribe file content into Ethiopic dependig on filename suffix." | 1812 | "Transcribe file content into Ethiopic dependig on filename suffix." |
| 1827 | (cond | 1813 | (cond |
| 1828 | 1814 | ||
| 1829 | ((null ethio-mode) | ||
| 1830 | nil) | ||
| 1831 | |||
| 1832 | ((string-match "\\.sera$" (buffer-file-name)) | 1815 | ((string-match "\\.sera$" (buffer-file-name)) |
| 1833 | (save-excursion | 1816 | (save-excursion |
| 1834 | (ethio-sera-to-fidel-buffer nil 'force) | 1817 | (ethio-sera-to-fidel-buffer nil 'force) |
| @@ -1863,9 +1846,6 @@ Otherwise, [0-9A-F]." | |||
| 1863 | "Transcribe Ethiopic characters in ASCII depending on the file extension." | 1846 | "Transcribe Ethiopic characters in ASCII depending on the file extension." |
| 1864 | (cond | 1847 | (cond |
| 1865 | 1848 | ||
| 1866 | ((null ethio-mode) | ||
| 1867 | nil) | ||
| 1868 | |||
| 1869 | ((string-match "\\.sera$" (buffer-file-name)) | 1849 | ((string-match "\\.sera$" (buffer-file-name)) |
| 1870 | (save-excursion | 1850 | (save-excursion |
| 1871 | (ethio-fidel-to-sera-buffer nil 'force) | 1851 | (ethio-fidel-to-sera-buffer nil 'force) |