Mercurial > emacs
annotate lisp/international/isearch-x.el @ 18817:4a53a2477850
Arrange for the leim tar file to unpack in emacs-M.N/leim.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 16 Jul 1997 04:55:54 +0000 |
parents | bca5a6b78f91 |
children | 4d72985edb2d |
rev | line source |
---|---|
17052 | 1 ;;; isearch-x.el --- extended isearch handling commands |
2 | |
3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | |
18377
8b4a66c66dd6
Change copyright notice.
Richard M. Stallman <rms@gnu.org>
parents:
17071
diff
changeset
|
4 ;; Licensed to the Free Software Foundation. |
17052 | 5 |
6 ;; Keywords: multilingual, isearch | |
7 | |
8 ;; Author: Kenichi HANDA <handa@etl.go.jp> | |
9 ;; Maintainer: Kenichi HANDA <handa@etl.go.jp> | |
10 | |
11 ;; This file is part of GNU Emacs. | |
12 | |
13 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
14 ;; it under the terms of the GNU General Public License as published by | |
15 ;; the Free Software Foundation; either version 2, or (at your option) | |
16 ;; any later version. | |
17 | |
18 ;; GNU Emacs is distributed in the hope that it will be useful, | |
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 ;; GNU General Public License for more details. | |
22 | |
23 ;; You should have received a copy of the GNU General Public License | |
17071 | 24 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
25 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
26 ;; Boston, MA 02111-1307, USA. | |
17052 | 27 |
28 ;;; Code: | |
29 | |
30 ;;;###autoload | |
18713
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
31 (defvar isearch-input-method nil |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
32 "Input method activated in interactive search.") |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
33 |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
34 (defvar isearch-input-method-title nil |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
35 "Title string of input method activated in interactive search.") |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
36 |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
37 ;;;###autoload |
17052 | 38 (defun isearch-toggle-specified-input-method () |
18713
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
39 "Select an input method and turn it on in interactive search." |
17052 | 40 (interactive) |
18713
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
41 (setq isearch-input-method nil) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
42 (let ((default-input-method nil)) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
43 (isearch-toggle-input-method))) |
17052 | 44 |
45 ;;;###autoload | |
46 (defun isearch-toggle-input-method () | |
47 "Toggle input method in interactive search." | |
48 (interactive) | |
18713
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
49 (if isearch-input-method |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
50 (setq isearch-input-method nil) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
51 (setq isearch-input-method |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
52 (or default-input-method |
17052 | 53 (let ((overriding-terminal-local-map nil)) |
18713
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
54 (read-input-method-name "Input method: ")))) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
55 (if isearch-input-method |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
56 (setq isearch-input-method-title |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
57 (nth 3 (assoc isearch-input-method input-method-alist))) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
58 (ding))) |
17052 | 59 (isearch-update)) |
60 | |
61 (defun isearch-input-method-after-insert-chunk-function () | |
62 (funcall inactivate-current-input-method-function)) | |
63 | |
64 (defun isearch-process-search-multibyte-characters (last-char) | |
18713
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
65 (let ((overriding-terminal-local-map nil) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
66 ;; Let input method exit when a chunk is inserted. |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
67 (input-method-after-insert-chunk-hook |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
68 '(isearch-input-method-after-insert-chunk-function)) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
69 (input-method-inactivate-hook '(exit-minibuffer)) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
70 ;; Let input method work rather tersely. |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
71 (input-method-tersely-flag t) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
72 str) |
17052 | 73 (setq unread-command-events (cons last-char unread-command-events)) |
18713
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
74 (setq str (read-multilingual-string |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
75 (concat (isearch-message-prefix) isearch-message) |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
76 nil |
bca5a6b78f91
(isearch-input-method): New variable.
Kenichi Handa <handa@m17n.org>
parents:
18377
diff
changeset
|
77 isearch-input-method)) |
17052 | 78 (isearch-process-search-string str str))) |
79 | |
80 ;;; isearch-x.el ends here |