[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: $BN"5;(B: MW32IME de isearch



$BLpLZ$G$9!#(B

$B74;3D>Bg(B(KORIYAMA Naohiro) <kory@xxxxxxxxxxxxxxxx> writes:

>$B$G$b$3$N$d$jJ}$b>/!9LLE]$G$9$M!"$d$O$j!#(BLisp $B$NJ}$r$$$8$l$P$J$s$H$+$J(B
>$B$k$N$+$bCN$l$J$$$N$G$7$g$&$,!"C/$b$d$i$s$H$$$&$3$H$OLLE]$/$5$$$N$+$J$!!#(B

$BE,Ev$J$b$N$r$G$C$A$"$2$F$_$^$7$?!#(B
$B0l1~Fs$D$N%^%7%s$G;n$7$?$iF0$-$^$7$?!#(B
$B$?$@$7F|K\8lF~NO$N:]$O%_%K%P%C%U%!$G$J$/!"%5!<%A$7$F$$$k(B
$B%P%C%U%!$N%&%#%s%I%&$KJQ49Cf$NJ8;z$,I=<($5$l$^$9(B($B;EMM(B)$B!#(B

$BOC$OJQ$o$k$N$G$9$,!"(BMS-IME $B$N%m!<%^2>L>JQ49$N%+%9%?%^%$%:$N(B
$BJ}K!$,CN$j$?$$!#(B"ti" -> "$B$F$#(B" $B$H$+$d$j$?$$$N$G$9!#(B
$B$G$b(B quail $B$G2>L>F~NO$7$F(B IME $B$G4A;zJQ49$,$G$-$l$P$=$l$,(B
$BNI$$$N$@$1$I!#(B

$B$*$o$j(B

;;;;; setup for ime to use `current-input-method-title'

;;; mw32-ime $B$N(B current-input-method-title $B$r(B "$B$"(B" $B$K$9$k!#(B
(register-input-method "MW32-IME" "Japanese" 'mw32-ime-state-switch "$B$"(B"
		       "MW32 System IME")
(setq-default mw32-ime-mode-line-state-indicator nil)
(setq mw32-ime-mode-line-state-indicator-list nil)

;;; ime $B$N(B on, off $B$K$h$C$F(B "[--]", "[$B$"(B]" $B$,(B mode-line $B$KI=<($5$l$k$h$&$K$9$k(B
(setq transparent-mode-indicator "--")
(setq-default mode-line-mule-info
	      '("" (current-input-method ("[" current-input-method-title "]")
					 ("[" transparent-mode-indicator "]"))
		"%Z"))

;;;;; setup for ime input with isearch

;;; encoded-kbd-mode $B$r%(%_%e%l!<%H$9$k(B
(defun encoded-kbd-last-command-char ()
  (let ((command (lookup-key encoded-kbd-mode-map
			     (vector last-command-char))))
    (if (null command)
	last-command-char
      (save-excursion
	(set-buffer (get-buffer-create " *Encoded-kbd read char*"))
	(setq enable-multibyte-characters t)
	(buffer-disable-undo)
	(erase-buffer)
	(funcall command)
	(preceding-char)))))

;;; mw32-ime $B$N;~$O(B encoded-kbd-last-command-char $B$r;H$&$h$&$K$9$k(B
(defun isearch-printing-char ()
  "Add this ordinary printing character to the search string and search."
  (interactive)
  (if (equal current-input-method "MW32-IME")
      (let ((char (encoded-kbd-last-command-char)))
	(isearch-process-search-char char))
    (let ((char (isearch-last-command-char)))
      (if (and enable-multibyte-characters
	       (>= char ?\200)
	       (<= char ?\377))
	  (isearch-process-search-char (+ char nonascii-insert-offset))
	(if current-input-method
	    (isearch-process-search-multibyte-characters char)
	  (isearch-process-search-char char))))))

;;; $B$h$/$o$+$i$s(B
(defun isearch-ignore ()
  (interactive)
  (isearch-message))
(define-key isearch-mode-map [kanji]   'isearch-ignore)
(define-key isearch-mode-map [compend] 'isearch-ignore)

;;;;; end