[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: isearch-mode-map



On Thu, 26 Jan 2006 15:24:51 +0300
Artem Chuprina <ran@ran.pp.ru> wrote:

> Vladimir Zolotykh -> debian-russian@lists.debian.org  @ Thu, 26 Jan 2006 12:50:38 +0200:
> 
>  >> VZ> (define-key isearch-mode-map [f31]
>  >> VZ>   '(lambda ()
>  >> VZ>      (interactive)
>  >> VZ>      (if current-input-method (isearch-toggle-input-method) (isearch-update))))
>  >> VZ> (define-key isearch-mode-map [f32]
>  >> VZ>   '(lambda ()
>  >> VZ>      (interactive)
>  >> VZ>      (if current-input-method (isearch-update) (isearch-toggle-input-method))))
>  >>
>  >> VZ> C-s в Emacs-е в minibuffer просит строку поиска.
>  >> VZ> Вроде бы вторая форма (второй вызов define-key) должен бы переключить минибуфер
>  >> VZ> во ввод русских букв, но вместо этого поиск просто отменяется и никакого
>  >> VZ> переключения нет
>  >>
>  >>А кнопка передается та самая?  А то у меня с f12 работает...
>  >>  
>  >>
>  VZ> Пришли пожалуйста как у тебя работает с f12,
>  VZ> я что-то никак не могу понять в чем дело
> 
> (global-set-key [f12] '(lambda () (interactive) (inactivate-input-method)))	; CAPS from emacs_ruslat
> (global-set-key [S-f12] '(lambda () (interactive) (unless current-input-method (toggle-input-method)))) ; S-CAPS from emacs_ruslat
> (define-key isearch-mode-map [f12] '(lambda () (interactive) (if current-input-method (isearch-toggle-input-method) (isearch-update))))
> (define-key isearch-mode-map [S-f12] '(lambda () (interactive) (if current-input-method (isearch-update) (isearch-toggle-input-method))))

Просто какая-то загадка!
вот это работает
(global-set-key [f13] '(lambda () (interactive) (inactivate-input-method)))
(global-set-key [f14] '(lambda () (interactive) (unless current-input-method (toggle-input-method))))
где в xkb написано
	xkb_symbols   { include "pc/pc(pc104)+pc/us+pc/ru(winkeys):2"
			 key <CAPS> { [ F13, F14 ], actions[Group1] = [LockGroup(group=1), LockGroup(group=2)] };
			  };
а вот это НЕ РАБОТАЕТ в минибуфере при поиске isearch
(define-key isearch-mode-map [f13] 
  '(lambda () 
     (interactive) 
     (if current-input-method (isearch-toggle-input-method) (isearch-update))))
(define-key isearch-mode-map [f14] 
  '(lambda () 
     (interactive) 
     (if current-input-method (isearch-update) (isearch-toggle-input-method))))
хотя вроде бы должно работать, но что хуже всего и чего я совсем уж не понимаю, так это
то что вот это
(define-key isearch-mode-map [S-f14] 
  '(lambda () 
     (interactive) 
     (if current-input-method (isearch-update) (isearch-toggle-input-method))))
РАБОТАЕТ, если кто то видит в этом хоть какой-то смысл и скажет какой , буду признателен,
или может быть скажет, где можно задать такой вопрос по Emacs-y (в comp.emacs тишина)

> 
> Работает и в stable, и в emacs-snapshot от 20050901.
> 
> -- 
> Artem Chuprina
> RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
> 
> Дело говоришь!
> Теперь делай его.
> 	Кнышев.
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 


-- 
Vladimir Zolotykh



Reply to: