annotate lisp/mule/canna-leim.el @ 5855:0bddb59072b6

Look for cased character classes when deciding on case-fold-search, #'isearch lisp/ChangeLog addition: 2015-03-11 Aidan Kehoe <kehoea@parhasard.net> * isearch-mode.el: * isearch-mode.el (isearch-fix-case): Use the new #'no-case-regexp-p function if treating ISEARCH-STRING as a regular expression; otherwise, use the [[:upper:]] character class. * isearch-mode.el (isearch-no-upper-case-p): Removed. * isearch-mode.el (with-caps-disable-folding): Removed. These two haven't been used since 1998. * occur.el (occur-1): Use #'no-case-regexp-p here. * replace.el (perform-replace): Don't use #'no-upper-case-p, use #'no-case-regexp-p or (string-match "[[:upper:]]" ...) as appropriate. * simple.el: * simple.el (no-upper-case-p): Removed. This did two different things, and its secondary function (examining regular expressions) just became much more complicated; move the regular expression functionality to its own function, use character classes when examining non-regular-expressions instead. The code to look for character classes, and the design decision that this should be done, are from GNU, thank you Stefan Monnier. * simple.el (no-case-regexp-p): New. Given a REGEXP, return non-nil if it has nothing to suggest an interactive user wants a case-sensitive search. * simple.el (with-search-caps-disable-folding): * simple.el (with-interactive-search-caps-disable-folding): Update both these macros to use #'no-case-regexp-p.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 11 Mar 2015 18:06:15 +0000
parents b9167d522a9a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 333
diff changeset
1 ;;; canna-leim.el --- Canna-related code for LEIM -*- coding: iso-2022-7bit; -*-
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
2 ;; Copyright (C) 1997 Stephen Turnbull <turnbull@sk.tsukuba.ac.jp>
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
3 ;; Copyright (C) 1997 Free Software Foundation, Inc.
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
4 ;;
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
5 ;; Shamelessly ripped off from
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
6 ;;
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
7 ;; skk-leim.el --- SKK related code for LEIM
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
8 ;; Copyright (C) 1997
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
9 ;; Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp>
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
10 ;;
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
11 ;; Author: Stephen Turnbull <turnbull@sk.tsukuba.ac.jp>
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
12 ;; Version: canna-leim.el,v 1.2 1997/10/27 10:08:49 steve Exp
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
13 ;; Keywords: japanese, input method, LEIM
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
14 ;; Last Modified: 1997/10/27 10:08:49
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
15
5289
9e51b172d50f More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 3824
diff changeset
16 ;; This file is part of XEmacs.
9e51b172d50f More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 3824
diff changeset
17
5404
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
18 ;; XEmacs is free software: you can redistribute it and/or modify it
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
19 ;; under the terms of the GNU General Public License as published by the
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
20 ;; Free Software Foundation, either version 3 of the License, or (at your
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
21 ;; option) any later version.
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
22
5404
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
23 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
24 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
25 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
26 ;; for more details.
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
27
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
28 ;; You should have received a copy of the GNU General Public License
5404
91b3aa59f49b Convert lisp/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 3824
diff changeset
29 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
30
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
31 ;;; TODO
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
32 ;;
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
33 ;; Add pointers to Canna documentation in LEIM format
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
34
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 502
diff changeset
35 (globally-declare-boundp 'canna:*japanese-mode*)
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 502
diff changeset
36 (globally-declare-fboundp '(canna canna-toggle-japanese-mode))
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 502
diff changeset
37
3824
50d74a9d19b7 [xemacs-hg @ 2007-02-11 18:55:40 by scop]
scop
parents: 3010
diff changeset
38 ;; use (locate-file "canna_api" module-load-path module-extensions)
2973
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
39 ;; to locate the module without loading it.
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
40 ;; then we could autoload canna-activate and dump and/or autoload:
3824
50d74a9d19b7 [xemacs-hg @ 2007-02-11 18:55:40 by scop]
scop
parents: 3010
diff changeset
41 ;; (and (locate-file "canna_api" module-load-path module-extensions)
2973
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
42 ;; (locate-library "canna")
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
43 ;; (register-input-method 'japanese-canna "Japanese" 'canna-activate nil
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
44 ;; "Canna - a kana to kanji conversion program"))
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
45
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
46 (defun canna-activate (&optional name)
2973
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
47 ;; XEmacs 21.5.10 and later have 3-argument require.
3824
50d74a9d19b7 [xemacs-hg @ 2007-02-11 18:55:40 by scop]
scop
parents: 3010
diff changeset
48 (unless (require 'CANNA "canna_api" 'no-error)
2973
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
49 (error 'file-error
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
50 "No Canna API support!? See M-x describe-installation & C-h v module-load-path."))
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
51 (unless (require 'canna nil 'no-error)
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
52 (error 'file-error
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 778
diff changeset
53 "Canna LISP support not found. Is the mule-base package missing?"))
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
54 (setq inactivate-current-input-method-function 'canna-inactivate)
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
55 (unless (featurep 'leim-canna-initialized)
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
56 (canna)
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
57 (provide 'leim-canna-initialized))
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
58 (canna-toggle-japanese-mode))
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
59
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
60 (defun canna-inactivate ()
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 502
diff changeset
61 (cond (canna:*japanese-mode* (canna-toggle-japanese-mode))))
333
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
62
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
63 (register-input-method
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
64 'japanese-canna "Japanese"
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
65 'canna-activate nil
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
66 "Canna - a kana to kanji conversion program" )
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
67
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
68 (provide 'canna-leim)
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
69
4f79e16b1112 Import from CVS: tag r21-0-64
cvs
parents:
diff changeset
70 ;;; canna-leim.el ends here