migemo-1.9.1/0000755000175000017500000000000012357372314012642 5ustar uwabamiuwabamimigemo-1.9.1/README.md0000644000175000017500000000125012357372314014117 0ustar uwabamiuwabami# migemo.el migemo.el provides Japanese increment search with 'Romanization of Japanese'(ローマ字). ## screenshot ![migemo-screenshot](images/migemo.png) ## Requirements * Emacs 24 or higher. * [cmigemo](https://github.com/koron/cmigemo) or [CVS Head migemo](http://0xcc.net/migemo/) ## Sample Configuration ### cmigemo ```el (require 'migemo) (setq migemo-command "cmigemo") (setq migemo-options '("-q" "--emacs")) ;; Set your installed path (setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict") (setq migemo-user-dictionary nil) (setq migemo-regex-dictionary nil) (setq migemo-coding-system 'utf-8-unix) (load-library "migemo") (migemo-init) ``` migemo-1.9.1/images/0000755000175000017500000000000012357372314014107 5ustar uwabamiuwabamimigemo-1.9.1/images/migemo.png0000644000175000017500000015307612357372314016106 0ustar uwabamiuwabamiPNG  IHDR8ܞosBIT|d IDATxgxUր}jz H)"@:iWDQB `\NRBMONqbdek)i]*63ΌSĥf@ ?$q-% OkuZrJ:Y+xhP3!xx0 :dJ;Yݱ@ n~>^ce=}"0zC4,~~f*Ue<+۟QJm @ X(MHDjOa2ymMhƯm6L;>f}R Y9F2 H:Vhh3g*KTUA Ft72E݈,+@i7G g:ɨ2m(ʯ$@U .ebB@=R-GX^c(,׮A:?''$7yV5 |-i:5c'ϒeƢ@ %Dq:pڳ0Mw\kfr .LU<н| 2,W_فOh4]7pL~i[Sbqb8pXH?&W-p ʶ dK#o1bF+5Ŗw"dk-e浊F![є!sP{=+G߼~?MSAiִ1N;(Rϒϭ-Ŗ#@d3qQki!n/cFv\&>'g ğXdҾܙ$6 MSd;m[4eϡj*/^&%5sIbҋ# BѼYSŒ#LO2ztЎ@9WI*Pϓgta$/0uۑB@ܡظ4lPϽazE{Đ|Cwu _ӑaqХ@>az|'J9v#%,q ˏ=^^GV, cv2c̙˗lbWJ q%s6E"<'&{OvDS4m܈0IH3=roZ޽s1E`ྨN+Œ)=rqkגi^4EFgz|nhh+í[X:42I}̢g.4krkxWA= G[{INIIWxd~ty1!]p zWt ΗJ`"{ij:}JéT1S=Rz35bCz!,'.db40ȊJB5]d[dUΝKOdү@V=P5i' k.^tj+"WҪCxx1,1%BCC8u/tt&Owےѓ)_eYv =ˁbˋWp8NoSQ!G\N<Ņ\Av?MSt|6 3ˮڿG! Xm6*zϧ@ >I\_+QG$#Op\%12.YWw6l@f > Noѻ'? >>>Mlٶ U-j?$)"Yx{{!$jWfSn~-zys4kژ~?X]|tzdYfѠ~]Z< >.PO4EmD] H:=_}U7Jh0A'vn{0iY# q]]t{0H?7PhjU.\D6w\m/%ůP·$,Nq7ـfqSp JPHGOsק:c U 3{3k|V/uk( {We8sYEr㧰pޫ<ܪv$6Oά铩W6$ޠlА̦X}yvhzz$?G 2s0tIo,nC7ɧ7Nʹ3D' HЍԺS7h#;m(N!uژ/p_Ç@HM?Å˿ah.JU: "-5`F#IވblIg ņnCg0ۚ*3"[1tAH@SS3sZmƗn'!1aǣˉWa/qrQYzudd;Й׳is&WEMYz@ & _aeQZ E4I^I:G7]x} i9B\k9eȻAْƗ{qNxqoqѺѿ97}r8=@ -PZŢAB R"e10qRuoEg4iK >L:mљ}Jk+@@p{)ƣ(PVTʼnHzS=@ PJQ茞$@ 0λ@ oD׾#]A@ a( @  $g0@ E@ ACQ @P 9VC @wCx@ R"Cq˖hRRR-[qǏ3vKl޼V+k׮vth+kp:ˉ'IHHȧKA7DF'99:í˥;{YPիWsU -[m۶%i[Ds){1|y& ڵ+߾0z^63t3\ɩS~@ {|X+2_k׮a60M|垞ԯ_!o$IsS[IK.p_n:vM{nzn>}5j4W^QF̚5WEPw3ɲŋJ*L6?ڵkyd0ի닷-yK.aFcؾ}F?DI$V*гƓO>AfM\Wzj,Ynf^z"2?m /tp(-~q._† H,lE%*CQMruQZ-|~:uTOEoEM߿/Gҿ_SPnykhV; S9ط{>p%キՍ?oÕ+Сc>N+S'>gժx{мy|{jj6m"==M6DӦMiٲEQ:#VXi>[l?ݻдifx\EGhbi߾cǾ^'==W_K˖-X~#aax9pORzu^~ysO|iW^#,,MӸx"…ض-I>Q+>~bK}.u 6lHpp0ǎ/{nrsA}®Iqe׷{czYQm@ sAKG3gk̙ǎw5k֔ qx>>e-55@v@?ihFVV&[Ġ(2.'n]dt(Lwر/1t賬]G#**Mp8|7˯Yʕ+isxض-QFtJ{M[ȑpD4V+Gst :ʊæMs[\^5)6SwиtfʬYmvw[%}Vo]Խ-H"$?#A =5{j鉧'$k78y$FoGQ4oޜ|4j-kקILL,VwooozkxԮ]>Y1zYslfԨ  Ć >|X:#GU 11[۷gܸ Mٶ-]l6`--UZlAJJ*QQ[8|0=PC!I={ 55k׮ѳgw?iFj>|u:oomuM*|ިWy^/oooڶmO?ٳKtn ӯ{[ J<ܬYS6m.NAbAҹv;? f[?VZ4G155 v+UHBBB)t/|I0cXmX,<==z sNMM-.Z˯]FPP{;00kcf3aaahhp? ,x>XFϞ߿MC%!mEժy\.E!|Me%6mR`{gvvS&E]^>|(Fٳg2iTv-9sfi={#I??}PbE @Ϟ}[a,NNe3x2͡cq 8//OY]e5Xn=g%$$;υP ???y?nyp^t9gϞ}eiz^oÃ7ߜiҺu+:w7ڵ)@Z ++~*#W}A(}\ {#<$jo ԺS-r*p7^^^ʒSd26^_٨-`&88Ƚ#|6o@jjjʪ(X,RmٰX ﲠiFo*OKKXfQ\E]WaН>7W{[ _QF$+((剧WexyyLf@@@`2ʢNǷzw3ST٭P\4E]WaН>7W{[ oJ<,(L&# @ o Cx@ oijMsys9@ g@ ACQ @P z@ fzx@ xwV|u@ m@ O(@ (a( @  D@ 1wuY㽼}"عs'G&::#F0μs>/,Ɣ3L>/ՃYCW_K/Yr%ݻwaIxxTb}7ԪUUܒ%K>G\ǐC\CX~}$nȟ}v(!!A$(-[AVV>>>=o>Tsٜ >f,Wػw{anVKZZ:k>Z =&33\ 'Pvk׮>|9!..ٳ_uf̙cƌ1} ySYfQYf;v Y1*)"S9Ž!4M* KiesT60w}Wo@pw-t:$ IFFZ*<п07_i iРOvZxzzJuAA!TXEQUNNC\F(HT5ʕ8~ {Kz8pXFIڵ<ر^Ѹeȑ#Yh&Mbǎۗ/<%qHz=ĝo5sNy爊ba\r2O@HVoýl1 IDATKgΫ1glL?ܲO:e,I/O,UWp;ׯ<..J?tM5aעq;—&aM1yzмrӡ<Q/N97;LWCHG]3!>@ 3F\h82z___0ddd,^N#wnMCV<#MժU1ǟerJ2degb[q:n]$7`40 .oN4TUb&(0k׮Y>g}Ndz&ѣG =СüTZWw$ܹsDDDˈ#عs'{fϞ=Lm%{<577ga֭ 6h"""ׯoj}g&߂~ٹs;ӦNgŇn*,~o1^=yK[7x7n?CynX[y=K:j7'^ ׫ԨY 222R:\ tW2!qv4`':Q4ʡ1 yk{fLW /ţ @,+$ O/O|}9>FJQSUYj{稪ZhVшdl6c2x'طoiSUU\Lҥ"F*Zܮ]E˖ƒ5g}شilٲp!ZlQswEsXIZ aMb rF*g^mH[fy.|gtړÇӨQ#wGaiҾ}{> +?\OK0@Jr2;v`ǎro#i]i[YVlw^_NI'a20޼(rp_+'|Ӿ}(h9sj(JK&Mb6{`41M9kގ);q:8e'>rݗv:9B|tiҬ kE(*-Z ~xnJ=Y`A98}zojQn_#iV/}J ^C"(( Fa12~,/Ѻ|޽{ Lad4 oooB Dq(J^뒛Y1RVUI'aZC6#~grR} ]́KaXP̲SKi׮]#;;M~noqڬ\zMHMM˨TsM4%&&޽{C5=7؉t{|&F>>qxg 8h222QUG,Z'L7',,[ݻ~ƍ/Gvx]6_@4z+6mJ'c}(=qkџL'r7~ oObŊ9?Ν󼾟 كڵpe'^heh*WĿ>zw^>VJ^Xf/^ʕܞ?љ-[('Gחy);2k,ym ,1t֝~g#ǰuV\|1%ɻwΌ35zixuBUivۦb(Y10̘LF zNBծфhfsɎa) DnGbA. 5MLXN@N+SU]lIh5+ 5*ZI(Jd[N'ժV%-=F5BVdNEq"+`L%pK"ƌfŊ9t0~̌|jFfF&4kJ~}$/55aFMLL < L{ 3>Od?o^+o]_6{>}ѣr5ߘ/Әdӆ`ӧwMϞ=Yv-Çgٲe5-'44^={]8yM\rjUPQ*rY+EJU,v, +W/ωéPF Cуǩت1jf: CޠwY *. IAQv4lN$Lڡ$} ZD=<$;q. ArU܁(VkLzf'AAFߝI͹+t: }>}N'z}#]7}}}IO 璖/.%᯿ΰ0w.z۬l~e͘ʑwަ˓YЫ7o͠eKe1ҫW|yGE#G`J口x=zMs[6& +qcTk?ga>Mu0L( gŦ h+gpڒhb,Q,hk8,2l0cmY$ihLiAsN5찣:hN' N!rpmKNį*ntt" fHΝ;>OmY#e.#q޼6*Tŋo2& ψp8\p222?ӦM-w 0hqٵk>,111 4hޙIll,b۶m :;v0`"##۷/7oo߾\~*G{!I׮]+@IrUNRnq8:}kt(2x{{iNىX^RqߨШʥD~T~~=CՉ]x933sGa64GXN&CʕIIIܹsT^PFbi~M{ .;Sϼa={K.Ɨ_~EfHBB"_K_燹y>>%ۦDEEѥK6oLDDׯ'"" 6ݻ4h;v`7vsҥKV\I>}.]ʈ#شi#G"))_z*UBX0}U8v(-[t]P^O6IfK6۶jje_[(#f R&P+0SAIΣ΢h[/垺U\?h2!\lO!((c_k`25ŪSJ?A@@ uIL "!8MB%.di5?҉ubxj6*ʟ|bi p ,+v5 hDӑHb@U23lQ+>Mjfe.˃ܗ͌jH(Hz .#Q1U{C3p:Mf^,0<`nX,8q!c.oݎ/)?i蔑 &M`0`B44 F-**)ŢE5kV_QFi& N޼y3}ᣏ>O>,_VX3<Ê+ݻ7֭#""IbhW{O>$cOrdeVpwzzOz}Nm۴; VZZE&%܇8jK_^gp(Þts͕kg IQQCA4 ScǾQ#&00]?44wokזvں_zEF7:&#wٓr]W>cF2t| ecx{O;o"7Ĉ!6GYj#ǔZj;A5\3`iW|9fcdd99g?3;{gjzTʣv*TRz.г!aem*pi[ K4?5wѢE ѣ1c%*P#rWı!j`2Gx@tĥ@к>jM{ۃ7m؏a(Zz `X4`/D6f P-m uodTͬD (r9`T,@EQ⇀QFQX(v W>Pd())AJ+\/|<^#FAOO L|D@_Ѧ͇۴i+aQr|aɬӤ߿-I;w-[ 1=/^ ̟? ,ٳ xzzbڴipww+f͚777̜93gԩS,-yU}Ja"hvm]'7otPKb$'V0'rsFX-[W/ܼ'N-+q.xg΢8>gO!? z-]+ܙOMaaau*Q/so7]]S:н-;Dyy9x<2T+CyywĬ9s{N7B\X,cf@mۮcuSik%jzC2v>N]H@)WV_>D%`0`Dj ]( Q,V˳0T1Kii)l6~]T8M6apssúuKb۶mXhv܉y!$$3gDHHM`̘1AAA5kn݊ٳg#00...8y2 ÇSz?|XZ:htHydm'} BhdAWd_v{ lfX-^{kW~-IN]â{jX-mEYuut<ۣg(//GeE9x2x\xerh8.2pS~aܮ "/Db,8 -P@A{9`1PPT#++M<)qD,z!XEE%Á ޽ c ?'M6lp8Ev~u #"O;())jdd2ӧ",,]PQQG(Odd'OСCؾ};ooooڵ fBpp0ܰuV̜9AAA1c0gl޼sŦM0w\mĦMub%-H ws8r<)P( (REQEQ_񮠷EQEQL4P((d"EQEQ%233|PEQEQ6$&>AQEQE}f0dH ikό((w˝_g뜶PlTÏBQEQE}ƎuRjOiHQEQ++GT_4:Ꙣ((EQEQL4P((xx<^@((?]ě7viHQEQ@+{wCE(7#uĴ)xP:{(`c3TUդ敔!77Gj: )(#\.JKKd( }LQEQEDE((J&虢((+䠁"EQEQW*1EQEQT5  )(R*ÿc = )(bYo߂np%iL&Kb]Ꙣ((EQEQL4P((d"EQEQ% )((hHQEQEDE((J&(REQEQ2@((EQEQL4P((d"EQEQ% )((hHQEQEDE((J&(REQEQ2@((EQEQL4P((d"EQEQ%EQ{xogAzY(%$&&}y濝/۽qڷoO[ ׻=푿RdGv@f  ;xz lt˝Xb:Hہ4JKK,|R%%%HHHcժU2׭1cIQT ݻ˖-z3Tnn.0w\J_RRiӦ!>>#&M ##n={6w5X׮]6lB % v0 ~dڴi駟lԨ!ch߾=㡧TVVJmBW^#<< EQuÇ#66FFFUTT0|ؿFFFXh|7/_ԩS>s_`t-[TjHDGGC @ ĉkLƾ}Q=puKwt f͒9}vmj~19Ot ּg6Ύliz(nނ;PcCh}%׷FEGu4 6J7Z8fdP]QQҐ%~eggwssØ1cQ qVWPPsaɒ%-uL 777DGGr Ϟ=Þ={bŊ:K.HLLѨQ#`0dS%M:Jz1:;w(.!sAdd$ߏ|~P\\@rM/WWW}Լ\xhѢ,,,$ 00;wnRRΞ= 6 %سgo<_~Xp!uVԸqcXXXڵkrKdp8[˨JTTT@EEE`a* <^+q;f\&a1ooTQ]6n!;g 3Z; @m`"Bw_ Z "fht)иPNId--- aaax0Lj p8PWWG^ХK4mڴnBA uVw^xǃ:ӧ1b"""p]4k Zǫi2%$$`ʔ)x9lmm֭[pttDΝq mV)꿊6fk׮ӧRUTT`8r?Iibii):&+-- o߾B?<o߾qWQQ[n5jļlݺ.]1PĤgKKKtG@@D,[ ֖WYY 6[)cTVV/.e˖AKK s^z;;;<}mڴ˗?$"8{b^rSٯ$^YLZX$ _Zs( {s t7fDfml7x# ęE|0s+QKs&rW%{} &4 `ƍԩ:u+++t&&&0227N:7bAzz:Z+?bbbǏdkk|"PǡH~~>֭[1cEb^ff&O@c@ݮcVZaǎR/^ @hݺ5:˗/#** |>WaggI&Iwubذa8<7o puuKKK*QY޽éS```@`Ϟ=xٛ7obHOOG۶mN"W^aժUHNNFǎSSSe_`q: ,P:RaѸ|21gΜ:m[Y͛7k_@JJ l޼Y28uƌ&1c ##>?C;vmXxw[ֹիCDDB;88ȑ# (:99Oɓp={_FrrD)Ǐ&l6 p8(++Fff&|>ڴiܼ|mҍȽ9*jHMWy7PiHS4` Mq! T맍2Km$qp f!J0 2@WZ^*;dggK嵲CEnn.=z$~\]b՘?:QQQX`4Q-[HL/((y({JKKuVhBb Z>uLv4440tP=zϟСCabb"Zl6mڈ׭ypvvΝ;ӟ?ۋ߷l'0g?R*Pp8x=YYY={6F 333L<?z @OOǠA`ooGGG?VVVx޽{}B__FիWѯ_?DN %%%xRi^ӧ#-- зo_)`ذahѢd0СCpvv7x" éu'OD@kݻwWBxbKk֬Aii)45)Yf2dp!DGGCSS3f x< tA\⨢(epAqP2s-\^Z`r3(_0h}4^iM~A( .:J&5Wm$H#_lg\H!q&兤$|>+;#F{3k,:~~~XnT[{{{֚r߿!!!`Xh ɓ'ѻw:U}똢'55V¥K $$x󃋋\ѼyslݺUb wwwipww'233S%I@1:::t700hU* 555l۶ 7n> ===oʼn'`00c 4i=z4aODaҥo(.D֭n:I'O((fff޹&??˖-Ν;1tP,ZHT&=ʛȔ)Sj dݻ>}HTppԘllli&8;;cС022Bhh( .7nH ri8;;cR:<e277@ @BB )J]%'Fkջd@vv6#хJdd$F===>|('56l؀ &~ܮG)/ȉ*V˒-[XCBB0c )7o̙3uO?$3P|1 ;;;=zɁ \.n޼P=L0Ϟ=Cǎ~"""p0~OKKÄ 0bX~= Ν'z pB| 'NʔfU...ܹsf͚)~~~~7fp?j|=6ʻhAӍTPir0xmW DC1ڝb]&@qvT@5C&ųD`(ݔܹs;vI&!!!AX6DGGcĈR\T=({prrرcĕ+Wヶmbʔ)W!c(^xbFfgΜQf69/1ܹsҒՙ^UJu*۷7oFrr2/$aK ݢ"VVV믿|rt  e`mmtD%:qwwǩSAB:2w!44SL 0qD֭[ 9r$бcG?r`eeUc@X=::2Kim6xzz*Z5''(--ŋ1sL(X:>{{{ׯc޼yի<(ǿJh(CT1..]tSѢE ؠ{Ń@AaaB)'CZCRp'Gg#𛩠tHVhAl>5G: rGhw.Tq~#}^z~7 IDAT̻]%`3%S BB}4fQXXBH[jLLLd@剟ZԦǡ!nwưa0vX7NTc]j*GϞ=[cO<'NQz' ^z%.MǏ$sGzCHRTm>Zw7\]]r<,QD4RnKvm۶ƍXnLK!YYY Uh㰺t̙3ݺuÞ={^Ǹ5۷/(z0h 4GGG4nSNh۶-> @}ٻq)+ sss_I\UTTĥpqqAiiDIԩSqUܸq3֭[5n-Z$VC  77MHVWqiρ%8X;n5)--a_y9,--{t]UII aeeM"&&FEKK ΝرctR̟?Ʊq5JkdiԨ޼y#1̘5kXۣiӦCBB.\˗cݺu7o444`aaӧ wޕZL tdJT:]l>t6gʜWV ZsQA3=h# 4"vDfhtP^L`gB [rbÇcǎ1cT?pBL8QW=NRSSQ^^.qCݿPQQ *XGY +W޽{e8;;#>>۶mX.??>>>8q"~zBQ%J;ݿ_q"̙ ٳHKKÈ#?`Ŋ0551j(888`РAh߾=RSSѷo_,\Pѿo:uBff&\aooݻcʕp}iƍObʕغuR#dggغu+a,^XҸ2l۶ +WD&MpuUVV"00ٳi&Rfѣ`2 ݻ[bw{{{_̙3q1ѣ bpP\\oװT@VԨ={6͛mmm9rڵYfaԩxܼnbjҘfgX*z'xhPfo3z@9u*۩g4QCh? գ$=-~-ِC#ևޯ cD!CG5t邎;q8\O>}ݻo޼_%[dɓ|2={peiӦ  4ӦMC޽`Ŋh޼ңdggcƍʕ+ԧ[VV;urr¶m$f֭[2.ÇbIr9|0^Zq]ׯcÆ XbJJJd.ooo!.\UVEEEhӦx={ѣG>Rޙ-lRM*۫´ 48.4JWH Q`?}p;!J ᶸXwI%`a~U{+o ؾ};9ŋ~ 6={D@@?ӧݥ!C]vaŊ(((e˖5H{]}#r)qĥaaaXz,Y::: PSSȀ'LR*)꿈ƁDO.$dǯq`˖-X~Wq*//ѣGabbR`[ H'SׯѧO5'!xx_ijjDդ%%%56s?d<PV$7qA0Jj̻]$ rw{td29mՠ- !~1x'?rya ϡ[h,´D%VNQTz"995HAbb"v*s>7ZW!ê߿۷cʕ ҟgCS:֐z<<<;yDl_T\\,wCp=Yo߂/%iL& bc#ƻ@Q8+(R4)N(YjC ̂uyM}el&~D\f.%i-Uc@WQG *I\0h#Gc3 `Le0LH}hkk7}@w%֭[A]jZΆ#T'z 6#DFKJ"ΏpE}:4P> >@@h TVV6X_dboo_~!l{ީ\\KPPP)Shc\+@((==gM}@ h]|Mn߾pѪ<<<ALL =դL& eee())*,,DQQQ;{""" `ѢEֲ`صkݻI;m4Od[ٰa,|߫kܸ1,,,pڵOIyu yIHH)SsBSS111ǭ[Ν;ĉVrkmY[Uff&6n܈;vUuj)&&Fz Y8}D֐qKM i[;E&)qF;w.߿8qBFZ 9;;vf1cƌZr\$''ӧЦM-[モۇ LLL>I;w/FFF5p(:lII  tn:3FCLL>)))R?ظq#:uN: :t SNaƍuQFI+((֭[qҥ/&P֮]=z`Ϟ=RߟѣGѷo_i凞wYl2K~Fusubذa8<7o puuKKK*|+\(₎;ٳgu/ֺ\.ݻSر#7n޽999سgT: Ȳ~cŊpwwWx/N_RTT$U݀'ϗ$?z"C%5'EfΜ)wpuҸqc0LҮ];biiI˗۷ozoʕ+Pjs璖-[{"ݻw'#GlBEE2diܸ1y͜9 y۶m#HJJR&ݻw'o޼O&:::$004 ɾ}'NHCU.]"jjjۻNLu9}||:IJJFGM#22 R.]J n޼I6mJ.]*s~aa!'ӧO"5"l6_*B~GҢE `0b*a2ϏBHxx8@歾qKuAAAdիW+P[c;!̌ &=N}E^ ϟ%'I$)!G> ObcIȎ$/k@|t֭Mܾ}[^ѫ266ʕ+QFa/]Tc݂Kԏ455EPP:w SSShhh //СC@(ŋW^>|gdd077w~Ր&7nnݺϣSN ~fcѢEطox'OD޽ III!|>WWW;v #F@aeeUcEEEǂ 7oy(//Ǹq>nݺ#GbܹظqŸS|I! R#""Ю]/_~!..}ٲe(,,Te@ tѠ_:ߛ5k!C Btt4455amm1cƀ}~_|r4o[nKr̄%%%VSvZ纕|}} Jd'D~~>,,, . &&/_@ tR;F/^aÆoq[[ AAAصk׿du ϟ/b۶me>iҤ NHHEBx꒒ѣG+Ѯ];}ZԩS={6̙'''ۣ_~!bccq ( ر{_Y,0m4ܺu rQVVh?yyyPWWqeX[[ch١u())9rrr~2OEpvv`yyy8y$567Œ9ѣGuL33{Ul߾W8(z066 ._:O>DdddVHCu ʼn'yfW_xl 7oބ ZŢ"ݻW?{ 2_f F@8˖-ý{`llUV!44 ,@dd7nC`` >6>6veDz=z&)e˖BEE;6,[ SLAdd$*?ޯ'Oɓu)**Bv///$$$ !!o޼4mGVh\'O ./ڸ{.9cƌX~Tݣ1޽{Rhjj* cǎEPPX,߿ 8W\ڶm)S(s΁K14iPYY)q VURRcXZZ}pww1|p8;;c066_QF###xzzI&HKKÁ`ffӧOטI9-- &L#*XY~= Ν[CKK͛78sL駟<ƍCǎ~:mS/...ܹs =pWMy/~\xb={v-3P ѢE :u*0k,z=v}!CO4jHuqa|~ bbb?&yןT܁`kk+t4%%@%"=۷^zUV_Z5~xdggO\MgӦMqㆸ`CTH䦵~tYGee9s&aii)~C-"ӦMëW0o<[tdJL6 ~~~ݻ77n,5`aڴi2}wO݅ݣG$7y޽* ?dt qㆸӶm۰m6̙3VVV o޼quիjjj"$$ШsY_g@{.6oެCCC([nݻw#33cǎŸqJfP>Khܸ1kbRMMM 7nɓ1d$&&  Ä o*lii)3H˃wcǎI;wлwo>G} **JsT__NNNprrGʥr]T$AbEEMP]]?`իWiٳg\ѣѩ/+++L&۷oǁ$ СCwBoDu生PILUoUTT&MHqKUW//^,E": .Ij=ڴi]J,wQgΜ9x%7o^kTL\|AAApssÏ?(.VKo߆qUw܁1RRRХKzg@XB\r1gt {Qz}sssku۷oǒ%K(]] IDAT]`ɒ%2$''I&R.P>}2e Zh=zرcV}R!OF``!|㹰Æ CVVÕ*I?@aaaL/^ĉ1rHnwAϞ=4|p LQ=7|UHNN5\:uꄶmۊK|>ѷo_ 0@jǏԩSpww[k͚5wDc̙prru(]]]]?FFFF=z`eD.YYY())Lo߾l6['Q#eG,ORʕ+vZYFL8Hdd$!#G ͍BMY,&!!!`K.dE|||L<55lْCfh׮qwwWxbEl6133⠼7 Yq!!_~Ennnno߾$!!;v`B!yyyCdРARM65Y|7 }|B={FLMM6vZH!_&W^NKYԩSdԨQbFe˖Oz+ٙiӆp8zmBiԨQb)V!߿0L@&L@Ç%#/&L&r͠ K+//'$]$##t֍oߞ7775kFvI._L:w,g]]]I!yxx7 K___˕VZKKKg=o &P,L?fUVXtirqQVϞ=*QD`` ٳgcӦM7Gd"((<wnV)ՋHMӫ[`ڵؼy3qY 2=z􀵵5ѥKtQC---c@bb|޽6l ֬Y#7/o޼AӦMѥKtZZZ3f X,rKSPPk׮!%% | [>\VVm۶aʕhҤ _^G111;v,ܢ~ر|>X`.\X 냞9s&;={=z􀡡!X,8[~RDb03f lyflڴ XnByYtttp1v۷r̙36mYcj?Wla,:Q Ce&RXKFXj,%2И$c%)Bi6Ggulcgt{|g8|0.]_~Eh;w&Mœ9sm۶q&] … ѭ[7ѣG6mbbbpit y&JKK-+V@UUQYY={bɒ%hݺ58;;F jJ ϟ?o  [[[L:'=kanܸ<{ٴi#+++2.--e֭[,YhT43ccc˗ڏ(7ndzם7o3x`&,,u+++3f0QQQ %sckhii1222W%Y...f|||MZW"s13'Odt,ȸ6<qٳtRݻ3cǎet0i?H\f'|><~>cŋ g.]xxx0g5-6#ϟ3Gnև$>Ϙ0ӧOg8)**b,YYYٚ>`^z%VMdee1x<Ą cFfu7̃y WQxРKJJBjj* s!sR\\l|7-1n/tCcpYytu  >II)܏iVV?ݱay뚶C it퓥L"PVVJ!֜>ǸcO Y|ѓ܏\ޤ,󐕕SNAOOfff8Bت=-$inVrk׮ -ȀRSS[0apA|xxmD%xn̙5ۿ?p֭O]'a4F>|jjjk_ϟGqq1HJJjTj5]QQѤ}7Eyy9___̞=>'** ]v|2 "En݂ 8|HJJB||<ƍ&.muaIEn:x,*++QVVi&HHH7oĦM@qӦMx=&;wח +**pE#99]vEVƖ9??077.^zggg]β_r㑛 aҤI077op(>qYS׾}{DGGzGy޽޽P8۷QQQXjt]| xRRRs!-- xfϞ-tn݊޽{c۶m8x ,XOOMֿ7)Pĵk0iҤFm;w~hTrudggn~ >}(޻w1rHlu۷oqǎ =/(޺u Æ c|>HNNFrr2{TVVBIIIɡ!컧ի033޽{1fuΝ󃌌 8[[[$&&JJJ/nݺ+++ N|{JLL/xk XAA ,mۆ5k@ZZ[ns```7n`ҥbo\x<bbb 999#** ؾ};bcc##zUZZ~Icoܸ߭[7n޽{qqYcƌܹXjU9:teeeXf˱ 1rH׮]Cee%!%%ќ~8ĉqY?b͚5峱踶~ FFFxf̘ 5tP :/_%,,,cx󃇇gƎoVoKKKmxbڢźucزeжذa֯_gggl۶.66Lnii :mY5ińcǎV|/PرcG?,Y,))0mFBΝEEE(**aF@̙3ؿG4nʕ+kkk}XX1vX?ƒ%KеkW8::6l :o 9==`...e///G=m"߷o_P]x1;L2Eໂܹu68::{Q޿@HJJ_jj*222 ##(?~߿GFFk.9ZZZ+sѣ# -2d"##Eƍ9s&"##ѡC,[ ufXjj6Zyii)Ν;s:sF^XXgϲ-\BBBc+V9?,ƍqu?~999X~}XiӦ^L̙3B G8z{뺬 ƍÔ)Sg P=߹RiccSo05sL+^| XXX MS_8|0ً۸p*++۷cORDFFwE=8po޼?=?ի0e7nF7l ("װѣ9hūWbŊXz5333oegg͛7B-ݻ}ϟ?ǹs܏6ٜYZZ&O ߿](PcѾ}{\x  p`^#uuuގ96)v ͫs/rE'^z |;wrNF\(ֺ2dD͛#Gu޹,ZHhZ~ :unٲeseeeHOOGUUK.@MMM͜9˗/Yfƹs琒Kנ 6oغup5$$$4x_rrr5_gϞ5RFԩS#@ݻwpvvƤIp!s۷(++̙3!//C&;;?aum˗عsP3cM?[1 >>0m4t >>> ><ѱcGz 8tTL4 DZZЋ]ǎ!!!SNq#::߿Ǒ#G믿]v^9_999h׮v%ݑ#G0x`Ջ]VZZ 1k,$ 5?}Tf7y=/^ϟ#99`axxxØ:u*'tא -[%%%l޼cƌٳ7`~aҥ-2j [o222zh5j5t8ٳ8o X[[رcM ~AAA6lgիWC[[;wX~=DUUpssCff&ttt\/]vujNAAAmۄDzTb.]Я_?}||o}<\vQ8޼ycǢ]v8}tГ'Op,^zzzx5qZׯ_M6k999MJJ 222BEzdffb}MIIA^pڵzmb̘1ضm %%%bڴi(++kѼ^Wb炂DDDHIIA^^pĉ dll쿴j*ݽx>̶\d8z(;ߴ@Ў;ac֬YDyy9 CCCk233QgZXX{{{;rrr5KEEXz5.]EEE\v %%%Xj|@ a`ȑ#ŢE08j󣤤|.]BTT^x>7bʕ)StRxxx`رBsڴi6myƌ B`` 6mڄaÆaܸqsnuz3t^^^pwwǔ)S?ֹjeee&Tse`` 6CCC,[}(III`MR?zhܸqcii)N:[ IIIƐ!CG\\\ŷo… ;wGӧO yyy ;Vz]p%չ^dd$ "p̼<())k꼹4WTT¥?cڵ©Spa{p=:t7ns=]]]bňF||<1i$?vɓ'ƨQ !!>}@WWm۶ŷ~QD_={`}١ :::?~<6n܈QF5Y‚Vs޽Xxq5<ѣuϰ%P3g`X`fΜI&!!!Btt4'1|>7oBEE| F .5֮]ׯcakk[}䵵 &+JRR-Z<9_VVVx<HJJ UUUؽ{7lmm;wׯ nYIT?j_n݂@@]VVYOpp0֭Ä T7;;;cժUD׮]f6˗8q#GģG )) cccaSSS@r֭_o/^ ???Ձbj+vź)((=.]\zՅ?Z͞={_~8yd0 9)))bʕӧOQRR"ԩ… PVVưaÄY0lL7Jm%Ƅ p1dÆ 3L߾}J }}}Ǐ_EEEyfff(--͛79vލk׮`M,X]vʕ+忡ܹN:aݺu:t(;&?hII  b , IDATtѡC_~q M5KKKу3}ևYTo߾femnD P<~8fΜ ڵ RRR{.0rH\v ˗/GΝakk+rxΞ=Gbĉx"n݊ڵkljChѣG/)) >,eGdd9IIIϗrlڴ 7nDee%~g>}OXɉ~/6r @KK G~ !!͛Xz5̙@\~] S#221cLEEhq%%%^-… 0~x/'ODhh(޽{ɓ'Ν;ׯ_KKK;vD\\gvv6Ǝ+P߾}{dee;m VZ[[[\|Av srrpTVV_{n oooرcck3"##GUUZl̙8vNڨ/\ϟcXd Ν;'Ԅ@ht#G`nnY{ @t(>޽{amm=z4OiN:!447LJbpssHX8ַo_;v 033öm`mm UUUܺu޲[u)..?oߎTۋ|\~=LMM9z~ok֬a?3?~VPPU~ԇ .]*0X())DFFr6qa 첚nNNNHHHP ݻ?;xxx`۶mXl֯_ϞTBz[M6QXXbUUq9#88uСC&d <fffB(--pBxaaa3f 233ŪQ[VV&?Md}}|}}1`"00b͍˗+44є***8px ,--.|4QiF`ee];LpwwLj#?CSSSLF\#55Ç!!!L<رc͛}}zDz҇+GDDUVBk^j{9bbb؎uy [0e\tI(QM_ćw*++={j ëW`mm.+(('ͧcِBHHg1gvzzz}g̚Ycǎ,--9Dxb߿zzz"6mWWW >1118s ߿/o7n?>ѷ~+6Cزe ߏVZapss>ukP \bٳ-[`ƌ"(NS";;lYvRrO>;&YK3rlrVVvڅ;wBAAFii)qaܹBe TܹQQQǞ={Viii888`˖-N@QZZ=,--1~x˳7wcccxyyΝ;ٓ}}}ؼR ##%%%x<~ZZ۶mIII"ifff8uTLCxx8<Xp!=oѹsg6lx<-[###Q'Oę3grJ`ر+WDxbرBDDDS~b„ dSGcѸr LLLPZZ*vИ1cؚ/^رcVn>|P^7nsX~rEEEvTh ???())y~сPx% 2YĚA٘j?3Ϯ]пf3!! £GZ<8Ǐ ,DFԋk,X}\&@BCC1i$~۷o笑:t@?el ;vě7oY&--p`٨VX!2y}]zsL/-- ;;;O<[0tPHHH`?>^xsss 6 ܹsѪU+O>fk/sV,Xx2 g"%%Ǐ,YM˖-t5N<]dYm5 U */_㊊  Ù! :t(n߾saʕ";sL\|Y`?}6/66022b8___!pww/V@BB^^^cEi&lٲÆ L@!>@BFF.]jЃwp@YYX#hk$&&bĉHKKÅ K(Obڴix\9r.8r`aas5Ѿ}Ю];ٳС BCCT+V|.))f̘YBAZZk׮46FS(++CAA/_̙3Xf 9ė/_l8zFYYY8p7o=zt;uqq1\cǎܹsŪUzjj5עfxrrr/{ἷ/1l G:ݻ2e q%jd 4055k7n uHKK [j%0vMr|###sΉ,Cs<^~ kkkܻw...~:85k`ٲe:u*\]]7oMMFm󓟟___899AEEeeel%BHH455~GTTZnV!** CŠA0~x8q߬ ΝWSNE8\= 1`8s@׮YFn3pm5~&L`k qaBWW}8 BtCW^022޿L< &M yxx/Ojj*N> ?Da׮]xǏtRĉ0`޿oFHH***~:u]8y$vލx Sٳ$5)//ݻ֭[#,,IRRRsNݻ:::uVgiigϞ ;wlL$ CVV,pS+VTTݻlPO'''8q #---HIIEEE@JJ @BB8~8~Iغu+lGGGx{{sn~z()) tjի/ӧ9r$455QUUcʕoFYijq?}ASSXdIx544`llkĉ҂PVV2͛7(--ŝ;w8_ v튬,6G kFnݺ8w\ԩSpppԩScl(B---$$$4\q]ygձcG̙3l3+u)S`Ŋh۶-._\oPuUάMb TUUٳ',Y vvv jի]Cq l޼Xn~zۮ7zhHKKcǎuV*VPP7n 99D8tann#77xȋ&UO<&&& Ebb" -- 555@۶m#\t ܹ3ƌ#xe)**khjjrYFffVX!4E<***lYtVc Xx1[mL(⨩3gN멨u4̜9w;K,AXXѩS't֍7/))ANN̰iӦ&OS.2225jtiiiTUU!==o߾066FXX6nOOOS`***bٲeu@u?`Յ,;v} B%Km۶8x ֮]8;; ۷kFF \\\ !!&&&MJte={O>Enn.0 dee!''%%%hjju"ĝfc鉂XV>''(,,x\z۶mÿ x{{aprr<<|ϞV^-N]Mٳgݻw EDD_ܽ{'OƄ CBKK ׯ߲/8{l/QQQ֭[#""&&&F>L,[ mڴAee%i[{٠+߾}d֭[r rrr`eeXsYJJJٳغu+.FBB(** rrrFKҬiDFnn.***8qXSPPs3E1%$$|C^rO8! 2M.L#@uмi&t֍sZCϞ=1~x̞=YFKhL _DDRRRJAA joΝ; QYY III`b6440 [TTT@VVJJJШsںwO"((O>4 ,զϟlftxSNExx8ڴi#F`ڵxK&ad6\wa E%%%x ѶmϦ38!B -6՛7o+HJJbl2|>ׯwPRR :x<ܼyV#<<zjfv.iiix!z.][ӏvׯux-?Q *kQQQߟ8 _0 yeR}Ӭ0~cEB!}@im<B!E"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!B$ @!BZF̽hוZF"!BW~&mO"!BWhQ1UTEI>"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!BD"!B$ @!B_XFo; B!_- ~̽h܏~@B!+<<~2II)m"!BD"!BD"!BD} !BްN -8a\\qnC5B!|9F.]EnC"!Bظa ݫuQ!@+**c՛~|>-SJBǃs@]]QߋCtܹ)** O<F s{n|7['##}~5IFFx<:vؠrss+,f.]ˉEnݠ~Wl޼:tȥ#G= ߿g9sǏol2۷O:[l(+D~ڵ >͛Ss߿vYLL e˖ضm',)D6eee?0g9sΝ; 6СCQ܏~t? [[[x{{aW0BH8(..-PRRSobcc?uqX8u6l[[[]Ek RR=z4Μ93g@KK 8s 9Ҭ...ٳtmڵ IIIB˓]6j#F@`` 1gرe\aaa(fBx<RSSH0 $%%q:TUU!%%Ϟ=ûw=xÇ?uqX***qhjj"77?< :Q3 FxxU\۽{Ɩ-[QUU4{PBzz:=׌ 5+Ю@FFg$F+W{|BȗŬ,XXX`ͽkkk)StRs^^̙Yf SL'aaa,Zصkoj~w̞=7nDRR,,,0}tdgg7t<?F^ЫWF5 Ȱ 0ݻA9(yyyptt3,--~[@qFյ{ T_;;f%$$u5~7;ӧOaeeKҒQQQvf̘<;88`ʔ)8v7oaoosvZŋB˕еk&LLL OOOeгgO᧟~5qQC8|0TTT`ggQFa…Bjj*:uTZ>+++?x RSS!##SSSmVvϞ=:t^zݻ}_ܿϛ7o뭡<===,]ppp`[@=k,ȑ#6P}}wK,gJJJYYY())}zƌ30qDٙw}aĉAff&lmm1uTjՊ=F~~>QTTh1IDAThhQFANN}Evv6"""`ii ]]]$%%!((ݺuC```򩩩aߑmmm̜9َ{!iii<~UUU(СC8[n"1  [jjj߿?ya͚5lȮ]6NIIadddԩSPPP@Ѩtuuqt {/Fyy9l@ ^ ͛!))va׮]B- ֐$JKK)P$+ў{ V\\R\VVCSSǏ+455` >۷o0:t(dee?ڱ?w111(((Ν;xK999hkkC[[8r֮]%6uuu7xׇ/};w\s}O}֭lmm{8G^^ׯdzgбcG AS 5auMhځ4g_B"|TY˿vlSNASSShiiiX[[ ظq#6o eee 8s߾}PUUE~~>.\78ר ظq#<,Ŵ4`„ 2DFF~R5.BBB]C~půږ,--qlٲww~e0f]RRRlM8j_RR?77RRR NKhkkCNNAB>Ob8oժctE`w[ҏvo˒Ӄ;_~-.^I&aܸq16m >>7|@uYhh(1zh(++WSySGUUe}"!!*ƐΝ;.{Pl-j~_=~\x0,_cƌ/ڮBRRFFF0`{!-- ӦM?oߊ}߾}@sssCTTT[n5z;!Ӡ666عs'֮]yaSTTǏ#""Y (++UV%-Z~ggg>>];;;=z[l0rz*&Oܠ!/ #Lѽb#<~033(]QQ8Ν;(((0h D\xo߾1vXiݻW"??~-Ǝ+4 T}|| bO< z 999Qz54Uѣ@3Yii) -- CCC|/J||PM@|LL >} uuu 6L%c{@BBڶm٤;w@]]o^JMMEUU`t<{ jjj-rm~đ4 [uݻOB^^Çw:?@uz+W@^^fffHNNӧOЦMpf033]<{ :ub7AVVmڴa񁺺:Ν۠sC\x/(S3ZQJJ ʟh\Bعs'v%2(!_ӧOݻiTMBE(Pe"|Ei$Aބ|]n SG=+++KU_|\ B!So$vfLܿz_`ZkB|".D /Ziˆ#>a!B>-_S0g(ɏѽw(VUL~ >򐚐n++'^+:{ Uajm :j?X(yl]ZU@rl2n Z0ai4' 7 32*IY^^_Ϭ'7o_?7p7ߠuyw7oD׮]Ѿ})!%o3ם GWPm]x;."S=ѹwgt1o=Ə~\A\8x1b2%L#ٽg5-5< { IN .ݐw.G!rz .:bY3ڝq7.b {vmD]}us:%$nnؽ;!![ ;;щ4C$Ĥ:th^ƍ=z+)?dk}Bi.u~l)RKˑ* *v4` Fm GmsAEy:"<8Fxw51eܭ{;w۰wӦa45tI'OMoF!l9 Ք2% i ov}=~an=&+wFYÀZJV[Mw-Kɚ4"V+&kc_1fFSZ C)a(*3<cʌΔ%IwNso{ҿO 3ʣ 5rڭ~`Dw:U#b21Z͠R}ׯQ_o䦂wFq+Glh4R__Pd؝  MnKC!hՖcj3k1vms`壴r:KHa3hi9̹sOO7]+4۝jHHZ*nm;_Rb@u_fx챫|M'_̙Wjm p b&C=ᗉ7V6W_mvhO>%\MHH۷okP?v:ŋsa㉉޽HJJOA %1tP_Qy_~4;A֒,d=hz=OM]]Nq,:;9sSUeK4rs5L@lD>g|HIS]m"|~EE3DpE|),ԓe) ""BOJcc?ɷh8vl&R3(.&(#77r'FDLGCz;o>o~[R)ɤRPP@VV[;#77Z,99FOA&Q]QUk p_l?}Q.W_nμ9.fI'og8˒ L6955^alsϩXa3DZZ]X[(KPQZKt%ay"k;$##mޘ8dn*[+> $]BCl6lʚ5M?nqT¥KjX?7O,P.㡇47(p8X~i/qgJJJ}}}Jv;wuu!G500trAaqx̥,ÄAbz8]z!.53UIy<>=Trt<J%$%p-y:g::Ly`<=%\KKpC,;`ɒ:umk&[ػWRa Ay饗0LOJRRrIRRlߟmmm Ξ=trAaq砩AxM"srt|E/~h=j*6@kS+Ս\.lc ,|j!7vֽ@ښhj ~aCeػW[o՚ְs5Οwn_ bJVM{.~{P}VMEE FZ[X2ɓ=fժF<).!4T֭ܢPJՏg ptlJFFmog}G}d㗗Gzz:555Ųeˬmĉ:ԇ[+wOA ɼ%ۨ6dH<$: 59;zÃznMz4[[/]y=.@2bμ9\m!r%ѩO CTM5M+ą ˈrm7rJ%SRIH,++ȑ#L: &Nͣb׮]455Fpp0FBt|=Bp(WZZJLLz]]c  )O27ך蓮%_?AkspEAAn$Nzj;dwloA|jwsAAd\ n8ΌHXv! _~;AA  `3J-Iw,!  :[t@_X)u[IENDB`migemo-1.9.1/migemo.el0000644000175000017500000006770712357372314014462 0ustar uwabamiuwabami;;; migemo.el --- Japanese incremental search through dynamic pattern expansion -*- lexical-binding: t; -*- ;; $Id: migemo.el.in,v 1.9 2012/06/24 04:09:59 kaworu Exp $ ;; Copyright (C) Satoru Takabayashi ;; Author: Satoru Takabayashi ;; URL: https://github.com/emacs-jp/migemo ;; Version: 1.9.1 ;; Keywords: ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; ;;; Code: (defgroup migemo nil "migemo - Japanese incremental search trough dynamic pattern expansion." :group 'matching) (defcustom migemo-command "ruby" "*Name or full path of the executable for running migemo." :group 'migemo :type '(choice (const :tag "Ruby Migemo" "ruby") (const :tag "CMIGEMO" "cmigemo") (string :tag "Other"))) ;; -t emacs for specifying the type of regular expression. ;; "-i" "\a" for searching a word over multi-lines. (defcustom migemo-options '("-S" "migemo" "-t" "emacs" "-i" "\a") "*Options for migemo command." :group 'migemo :type '(repeat string)) (defcustom migemo-white-space-regexp "[ \t\r\n]*" "*Regexp representing white spaces." :group 'migemo :type 'string) ;; for C/Migemo ;; (setq migemo-command "cmigemo") ;; (setq migemo-options '("-q" "--emacs" "-i" "\g")) ;; (setq migemo-dictionary "somewhere/migemo/euc-jp/migemo-dict") ;; (setq migemo-user-dictionary nil) ;; (setq migemo-regex-dictionary nil)) (defcustom migemo-directory "@pkgdatadir@" "*Directory where migemo files are placed" :group 'migemo :type 'directory) (defcustom migemo-isearch-enable-p t "*Enable the migemo feature on isearch or not." :group 'migemo :type 'boolean) (defcustom migemo-use-default-isearch-keybinding t "*If non-nil, set migemo default keybinding for isearch in `migemo-init'." :group 'migemo :type 'boolean) (defcustom migemo-dictionary (expand-file-name "migemo-dict" migemo-directory) "*Migemo dictionary file." :group 'migemo :type '(file :must-match t)) (defcustom migemo-user-dictionary (expand-file-name "user-dict" migemo-directory) "*Migemo user dictionary file." :group 'migemo :type '(choice (file :must-match t) (const :tag "Do not use" nil))) (defcustom migemo-regex-dictionary (expand-file-name "regex-dict" migemo-directory) "*Migemo regex dictionary file." :group 'migemo :type '(choice (file :must-match t) (const :tag "Do not use" nil))) (defcustom migemo-pre-conv-function nil "*Function of migemo pre-conversion." :group 'migemo :type '(choice (const :tag "Do not use" nil) function)) (defcustom migemo-after-conv-function nil "*Function of migemo after-conversion." :group 'migemo :type '(choice (const :tag "Do not use" nil) function)) (defcustom migemo-coding-system (with-no-warnings (if (>= emacs-major-version 20) (if (featurep 'mule) (if (string-match "XEmacs" emacs-version) (cond ((memq 'euc-japan-unix (coding-system-list)) 'euc-japan-unix) ((memq 'euc-jp-unix (coding-system-list)) 'euc-jp-unix)) 'euc-japan-unix)) (and (boundp 'MULE) *euc-japan*unix))) "*Default coding system for migemo.el" :group 'migemo :type 'coding-system) (defcustom migemo-use-pattern-alist nil "*Use pattern cache." :group 'migemo :type 'boolean) (defcustom migemo-use-frequent-pattern-alist nil "*Use frequent patttern cache." :group 'migemo :type 'boolean) (defcustom migemo-pattern-alist-length 512 "*Maximal length of migemo-pattern-alist." :group 'migemo :type 'integer) (defcustom migemo-pattern-alist-file "~/.migemo-pattern" "*Path of migemo alist file. If nil, don't save and restore the file." :group 'migemo :type 'file) (defcustom migemo-frequent-pattern-alist-file "~/.migemo-frequent" "*Path of migemo frequent alist file. If nil, don't save and restore the file." :group 'migemo :type 'file) (defcustom migemo-accept-process-output-timeout-msec 5 "*Timeout of migemo process communication." :group 'migemo :type 'integer) (defcustom migemo-isearch-min-length 1 "*Minimum length of word to start isearch." :group 'migemo :type 'integer) (defconst migemo-mw32-input-method (and (featurep 'meadow) "MW32-IME") "Support \"MW32-IME\" for Meadow.") ;; internal variables (defvar migemo-process nil) (defvar migemo-buffer nil) (defvar migemo-current-input-method nil) (defvar migemo-search-pattern nil) (defvar migemo-pattern-alist nil) (defvar migemo-frequent-pattern-alist nil) (defconst migemo-emacs21p (and (> emacs-major-version 20) (not (featurep 'xemacs)))) (defvar migemo-search-pattern-alist nil) (defvar migemo-do-isearch nil) (defvar migemo-register-isearch-keybinding-function nil) ;; For warnings of byte-compile. Following functions are defined in XEmacs (declare-function set-process-input-coding-system "code-process") (declare-function set-process-output-coding-system "code-process") (defsubst migemo-search-pattern-get (string) (let ((pattern (cdr (assoc string migemo-search-pattern-alist)))) (unless pattern (setq pattern (migemo-get-pattern string)) (setq migemo-search-pattern-alist (cons (cons string pattern) migemo-search-pattern-alist))) pattern)) (defun migemo-toggle-isearch-enable () (interactive) (setq migemo-isearch-enable-p (not migemo-isearch-enable-p)) (message (if migemo-isearch-enable-p "t" "nil"))) (defun migemo-start-process (name buffer program args) (let ((proc (apply 'start-process name buffer program args))) (if (fboundp 'set-process-coding-system) (set-process-coding-system proc migemo-coding-system migemo-coding-system) (set-process-input-coding-system proc migemo-coding-system) (set-process-output-coding-system proc migemo-coding-system)) proc)) (defun migemo-init () (when (and migemo-use-frequent-pattern-alist migemo-frequent-pattern-alist-file (null migemo-frequent-pattern-alist)) (setq migemo-frequent-pattern-alist (migemo-pattern-alist-load migemo-frequent-pattern-alist-file))) (when (and migemo-use-pattern-alist migemo-pattern-alist-file (null migemo-pattern-alist)) (setq migemo-pattern-alist (migemo-pattern-alist-load migemo-pattern-alist-file))) (when (and migemo-use-default-isearch-keybinding migemo-register-isearch-keybinding-function) (funcall migemo-register-isearch-keybinding-function)) (or (and migemo-process (eq (process-status migemo-process) 'run)) (let ((options (delq nil (append migemo-options (when (and migemo-user-dictionary (file-exists-p migemo-user-dictionary)) (list "-u" migemo-user-dictionary)) (when (and migemo-regex-dictionary (file-exists-p migemo-regex-dictionary)) (list "-r" migemo-regex-dictionary)) (list "-d" migemo-dictionary))))) (setq migemo-buffer (get-buffer-create " *migemo*")) (setq migemo-process (migemo-start-process "migemo" migemo-buffer migemo-command options)) (set-process-query-on-exit-flag migemo-process nil) t))) (defun migemo-replace-in-string (string from to) (with-temp-buffer (insert string) (goto-char (point-min)) (let ((migemo-do-isearch nil)) (while (search-forward from nil t) (replace-match to nil t))) (buffer-substring (point-min) (point-max)))) (defun migemo-get-pattern (word) (cond ((< (length word) migemo-isearch-min-length) "") (t (let (deactivate-mark pattern freq alst) (set-text-properties 0 (length word) nil word) (migemo-init) (when (and migemo-pre-conv-function (functionp migemo-pre-conv-function)) (setq word (funcall migemo-pre-conv-function word))) (setq pattern (cond ((setq freq (and migemo-use-frequent-pattern-alist (assoc word migemo-frequent-pattern-alist))) (cdr freq)) ((setq alst (and migemo-use-pattern-alist (assoc word migemo-pattern-alist))) (setq migemo-pattern-alist (cons alst (delq alst migemo-pattern-alist))) (cdr alst)) (t (with-current-buffer (process-buffer migemo-process) (delete-region (point-min) (point-max)) (process-send-string migemo-process (concat word "\n")) (while (not (and (> (point-max) 1) (eq (char-after (1- (point-max))) ?\n))) (accept-process-output migemo-process 0 migemo-accept-process-output-timeout-msec)) (setq pattern (buffer-substring (point-min) (1- (point-max))))) (when (and (memq system-type '(windows-nt OS/2 emx)) (> (length pattern) 1) (eq ?\r (aref pattern (1- (length pattern))))) (setq pattern (substring pattern 0 -1))) (when migemo-use-pattern-alist (setq migemo-pattern-alist (cons (cons word pattern) migemo-pattern-alist)) (when (and migemo-pattern-alist-length (> (length migemo-pattern-alist) (* migemo-pattern-alist-length 2))) (setcdr (nthcdr (1- (* migemo-pattern-alist-length 2)) migemo-pattern-alist) nil))) pattern))) (if (and migemo-after-conv-function (functionp migemo-after-conv-function)) (funcall migemo-after-conv-function word pattern) (migemo-replace-in-string pattern "\a" migemo-white-space-regexp)))))) (defun migemo-pattern-alist-load (file) "Load migemo alist file." (setq file (expand-file-name file)) (when (file-readable-p file) (with-temp-buffer (let ((coding-system-for-read migemo-coding-system) (buffer-file-coding-system migemo-coding-system))) (insert-file-contents file) (goto-char (point-min)) (condition-case err (read (current-buffer)) (error (message "Error while reading %s; %s" (file-name-nondirectory file) (error-message-string err)) nil))))) (defun migemo-pattern-alist-save (&optional clear) "Save migemo alist file." (interactive) (when (and migemo-use-pattern-alist migemo-pattern-alist-file (or migemo-pattern-alist clear)) (let ((file (expand-file-name migemo-pattern-alist-file))) (when (file-writable-p file) (when clear (setq migemo-pattern-alist nil)) (when (and migemo-pattern-alist-length (> (length migemo-pattern-alist) migemo-pattern-alist-length)) (setcdr (nthcdr (1- migemo-pattern-alist-length) migemo-pattern-alist) nil)) (with-temp-buffer (let ((coding-system-for-write migemo-coding-system) (buffer-file-coding-system migemo-coding-system)) (if (fboundp 'pp) (pp migemo-pattern-alist (current-buffer)) (prin1 migemo-pattern-alist (current-buffer))) (write-region (point-min) (point-max) file nil 'nomsg))) (setq migemo-pattern-alist nil))))) (defun migemo-kill () "Kill migemo process" (interactive) (when (and migemo-process (eq (process-status migemo-process) 'run)) (kill-process migemo-process) (setq migemo-process nil) (when (get-buffer migemo-buffer) (kill-buffer migemo-buffer)))) (defun migemo-pattern-alist-clear () "Clear migemo alist data & file." (interactive) (migemo-kill) (migemo-pattern-alist-save 'clear) (migemo-init)) (defun migemo-frequent-pattern-make (fcfile) "Create frequent pattern from `frequent-chars'." (interactive "ffrequent-chars: ") (migemo-pattern-alist-save 'clear) (when migemo-frequent-pattern-alist-file (migemo-kill) (migemo-init) (let ((file (expand-file-name migemo-frequent-pattern-alist-file)) (migemo-use-pattern-alist nil) (migemo-use-frequent-pattern-alist nil) (migemo-after-conv-function (lambda (_x y) y)) word) (setq migemo-frequent-pattern-alist nil) (with-temp-buffer (let ((coding-system-for-write migemo-coding-system) (buffer-file-coding-system migemo-coding-system))) (insert-file-contents fcfile) (goto-char (point-min)) (message "Make frequently pattern...") (while (not (eobp)) (when (looking-at "^[a-z]+$") (setq word (match-string 0)) (message "Make frequently pattern...%s" word) (setq migemo-frequent-pattern-alist (cons (cons word (migemo-get-pattern word)) migemo-frequent-pattern-alist))) (forward-line 1)) (when (file-writable-p file) (setq migemo-frequent-pattern-alist (nreverse migemo-frequent-pattern-alist)) (erase-buffer) (if (fboundp 'pp) (pp migemo-frequent-pattern-alist (current-buffer)) (prin1 migemo-frequent-pattern-alist (current-buffer))) (write-region (point-min) (point-max) file nil 'nomsg))) (migemo-kill) (migemo-init) (message "Make frequently pattern...done")))) (defun migemo-expand-pattern () "\ Expand the Romaji sequences on the left side of the cursor into the migemo's regexp pattern." (interactive) (let ((pos (point))) (goto-char (- pos 1)) (if (re-search-backward "[^-a-zA-Z]" (line-beginning-position) t) (forward-char 1) (beginning-of-line)) (let* ((str (buffer-substring-no-properties (point) pos)) (jrpat (migemo-get-pattern str))) (delete-region (point) pos) (insert jrpat)))) (defun migemo-forward (word &optional bound noerror count) (interactive "sSearch: \nP\nP") (if (delq 'ascii (find-charset-string word)) (setq migemo-search-pattern word) (setq migemo-search-pattern (migemo-search-pattern-get word))) (search-forward-regexp migemo-search-pattern bound noerror count)) (defun migemo-backward (word &optional bound noerror count) (interactive "sSearch backward: \nP\nP") (if (delq 'ascii (find-charset-string word)) (setq migemo-search-pattern word) (setq migemo-search-pattern (migemo-search-pattern-get word))) (if (null migemo-do-isearch) (search-backward-regexp migemo-search-pattern bound noerror count) (or (and (not (eq this-command 'isearch-repeat-backward)) (not (get-char-property (point) 'invisible (current-buffer))) (or (and (looking-at migemo-search-pattern) (match-beginning 0)) (and (not (eq (point) (point-min))) (progn (forward-char -1) (and (looking-at migemo-search-pattern) (match-beginning 0)))))) (search-backward-regexp migemo-search-pattern bound noerror count)))) ;; experimental ;; (define-key global-map "\M-;" 'migemo-dabbrev-expand) (defcustom migemo-dabbrev-display-message nil "*Display dabbrev message to minibuffer." :group 'migemo :type 'boolean) (defcustom migemo-dabbrev-ol-face 'highlight "*Face of migemo-dabbrev overlay." :group 'migemo :type 'face) (defvar migemo-dabbrev-pattern nil) (defvar migemo-dabbrev-start-point nil) (defvar migemo-dabbrev-search-point nil) (defvar migemo-dabbrev-pre-patterns nil) (defvar migemo-dabbrev-ol nil) (defun migemo-dabbrev-expand-done () (remove-hook 'pre-command-hook 'migemo-dabbrev-expand-done) (unless (eq last-command this-command) (setq migemo-search-pattern-alist nil) (setq migemo-dabbrev-pre-patterns nil)) (when migemo-dabbrev-ol (delete-overlay migemo-dabbrev-ol))) (defun migemo-dabbrev-expand () (interactive) (let ((end-pos (point)) matched-start matched-string) (if (eq last-command this-command) (goto-char migemo-dabbrev-search-point) (goto-char (- end-pos 1)) (if (re-search-backward "[^a-z-]" (line-beginning-position) t) (forward-char 1) (beginning-of-line)) (setq migemo-search-pattern-alist nil) (setq migemo-dabbrev-start-point (point)) (setq migemo-dabbrev-search-point (point)) (setq migemo-dabbrev-pattern (buffer-substring-no-properties (point) end-pos)) (setq migemo-dabbrev-pre-patterns nil)) (if (catch 'found (while (if (> migemo-dabbrev-search-point migemo-dabbrev-start-point) (and (migemo-forward migemo-dabbrev-pattern (point-max) t) (setq migemo-dabbrev-search-point (match-end 0))) (if (migemo-backward migemo-dabbrev-pattern (point-min) t) (setq migemo-dabbrev-search-point (match-beginning 0)) (goto-char migemo-dabbrev-start-point) (forward-word 1) (message (format "Trun back for `%s'" migemo-dabbrev-pattern)) (and (migemo-forward migemo-dabbrev-pattern (point-max) t) (setq migemo-dabbrev-search-point (match-end 0))))) (setq matched-start (match-beginning 0)) (unless (re-search-forward ".\\>" (line-end-position) t) (end-of-line)) (setq matched-string (buffer-substring-no-properties matched-start (point))) (unless (member matched-string migemo-dabbrev-pre-patterns) (let ((matched-end (point)) (str (copy-sequence matched-string)) lstart lend) (if (and (pos-visible-in-window-p matched-start) (pos-visible-in-window-p matched-end)) (progn (if migemo-dabbrev-ol (move-overlay migemo-dabbrev-ol matched-start (point)) (setq migemo-dabbrev-ol (make-overlay matched-start (point)))) (overlay-put migemo-dabbrev-ol 'evaporate t) (overlay-put migemo-dabbrev-ol 'face migemo-dabbrev-ol-face)) (when migemo-dabbrev-ol (delete-overlay migemo-dabbrev-ol)) (when migemo-dabbrev-display-message (save-excursion (save-restriction (goto-char matched-start) (setq lstart (progn (beginning-of-line) (point))) (setq lend (progn (end-of-line) (point))) (if migemo-emacs21p (put-text-property 0 (length str) 'face migemo-dabbrev-ol-face str) (setq str (concat "" str ""))) (message "(%d): %s%s%s" (count-lines (point-min) matched-start) (buffer-substring-no-properties lstart matched-start) str (buffer-substring-no-properties matched-end lend))))))) (throw 'found t)) (goto-char migemo-dabbrev-search-point))) (progn (setq migemo-dabbrev-pre-patterns (cons matched-string migemo-dabbrev-pre-patterns)) (delete-region migemo-dabbrev-start-point end-pos) (forward-char 1) (goto-char migemo-dabbrev-start-point) (insert matched-string)) (goto-char end-pos) (message (format "No dynamic expansion for `%s' found" migemo-dabbrev-pattern))) (add-hook 'pre-command-hook 'migemo-dabbrev-expand-done))) ;; Use migemo-{forward,backward} instead of search-{forward,backward}. (defadvice isearch-search (around migemo-search-ad activate) "adviced by migemo." (when migemo-isearch-enable-p (setq migemo-do-isearch t)) (unwind-protect ad-do-it (setq migemo-do-isearch nil))) (defadvice isearch-search-and-update (around migemo-search-ad activate) "adviced by migemo." (let ((isearch-adjusted isearch-adjusted)) (when (and migemo-isearch-enable-p (not isearch-forward) (not isearch-regexp) (not isearch-word)) ;; don't use 'looking-at' (setq isearch-adjusted t)) ad-do-it)) (defadvice search-forward (around migemo-search-ad activate) "adviced by migemo." (if migemo-do-isearch (setq ad-return-value (migemo-forward (ad-get-arg 0) (ad-get-arg 1) (ad-get-arg 2) (ad-get-arg 3))) ad-do-it)) (defadvice search-backward (around migemo-search-ad activate) "adviced by migemo." (if migemo-do-isearch (setq ad-return-value (migemo-backward (ad-get-arg 0) (ad-get-arg 1) (ad-get-arg 2) (ad-get-arg 3))) ad-do-it)) (when (and (boundp 'isearch-regexp-lax-whitespace) (fboundp 're-search-forward-lax-whitespace) (fboundp 'search-forward-lax-whitespace)) (setq isearch-search-fun-function 'isearch-search-fun-migemo) (defun isearch-search-fun-migemo () "Return default functions to use for the search with migemo." (cond (isearch-word (lambda (string &optional bound noerror count) ;; Use lax versions to not fail at the end of the word while ;; the user adds and removes characters in the search string ;; (or when using nonincremental word isearch) (let* ((state-string-func (if (fboundp 'isearch--state-string) 'isearch--state-string 'isearch-string-state)) (lax (not (or isearch-nonincremental (eq (length isearch-string) (length (funcall state-string-func (car isearch-cmds)))))))) (funcall (if isearch-forward #'re-search-forward #'re-search-backward) (if (functionp isearch-word) (funcall isearch-word string lax) (word-search-regexp string lax)) bound noerror count)))) ((and isearch-regexp isearch-regexp-lax-whitespace search-whitespace-regexp) (if isearch-forward 're-search-forward-lax-whitespace 're-search-backward-lax-whitespace)) (isearch-regexp (if isearch-forward 're-search-forward 're-search-backward)) ((and (if (boundp 'isearch-lax-whitespace) isearch-lax-whitespace t) search-whitespace-regexp migemo-do-isearch) (if isearch-forward 'migemo-forward 'migemo-backward)) ((and (if (boundp 'isearch-lax-whitespace) isearch-lax-whitespace t) search-whitespace-regexp) (if isearch-forward 'search-forward-lax-whitespace 'search-backward-lax-whitespace)) (migemo-do-isearch (if isearch-forward 'migemo-forward 'migemo-backward)) (t (if isearch-forward 'search-forward 'search-backward)))) ) ;; Turn off input-method automatically when C-s or C-r are typed. (defadvice isearch-mode (before migemo-search-ad activate) "adviced by migemo." (setq migemo-search-pattern nil) (setq migemo-search-pattern-alist nil) (when (and migemo-isearch-enable-p (boundp 'current-input-method)) (setq migemo-current-input-method current-input-method) (when (and migemo-mw32-input-method (stringp migemo-current-input-method) (string= migemo-current-input-method migemo-mw32-input-method)) (set-input-method nil)) (setq current-input-method nil))) (defadvice isearch-done (after migemo-search-ad activate) "adviced by migemo." (setq migemo-search-pattern nil) (setq migemo-search-pattern-alist nil) (when (and migemo-isearch-enable-p (boundp 'current-input-method)) (when (and migemo-mw32-input-method (stringp migemo-current-input-method) (string= migemo-current-input-method migemo-mw32-input-method)) (set-input-method migemo-current-input-method)) (setq current-input-method migemo-current-input-method))) (defcustom migemo-message-prefix-face 'highlight "*Face of minibuffer prefix" :group 'migemo :type 'face) (defadvice isearch-message-prefix (after migemo-status activate) "adviced by migemo." (let ((ret ad-return-value) (str "[MIGEMO]")) (when migemo-emacs21p (put-text-property 0 (length str) 'face migemo-message-prefix-face str)) (when (and migemo-isearch-enable-p (not (or isearch-regexp isearch-word))) (setq ad-return-value (concat str " " ret))))) ;;;; for isearch-lazy-highlight (Emacs 21) ;; Avoid byte compile warningsfor other emacsen (defvar isearch-lazy-highlight-wrapped) (defvar isearch-lazy-highlight-start) (defvar isearch-lazy-highlight-end) (defun migemo-isearch-lazy-highlight-search () "Search ahead for the next or previous match, for lazy highlighting. Attempt to do the search exactly the way the pending isearch would. This function used with Megemo feature." (let ((case-fold-search isearch-case-fold-search) (choices (cond (isearch-word '(word-search-forward word-search-backward)) (isearch-regexp '(re-search-forward re-search-backward)) (migemo-isearch-enable-p '(re-search-forward re-search-backward t)) (t '(search-forward search-backward)))) (pattern isearch-string)) (when (nth 2 choices) (setq pattern (migemo-search-pattern-get isearch-string))) (funcall (if isearch-forward (nth 0 choices) (nth 1 choices)) pattern (if isearch-forward (if isearch-lazy-highlight-wrapped isearch-lazy-highlight-start (window-end)) (if isearch-lazy-highlight-wrapped isearch-lazy-highlight-end (window-start))) t))) (when (fboundp 'isearch-lazy-highlight-search) (defalias 'isearch-lazy-highlight-search 'migemo-isearch-lazy-highlight-search)) ;;;; for isearch-highlightify-region (XEmacs 21) (when (fboundp 'isearch-highlightify-region) (defadvice isearch-highlightify-region (around migemo-highlightify-region activate) "adviced by migemo." (if migemo-isearch-enable-p (let ((isearch-string (migemo-search-pattern-get isearch-string)) (isearch-regexp t)) ad-do-it) ad-do-it))) ;; supports C-w C-d for GNU emacs only [migemo:00171] (when (and (not (featurep 'xemacs)) (fboundp 'isearch-yank-line)) (defun migemo-register-isearch-keybinding () (define-key isearch-mode-map "\C-d" 'migemo-isearch-yank-char) (define-key isearch-mode-map "\C-w" 'migemo-isearch-yank-word) (define-key isearch-mode-map "\C-y" 'migemo-isearch-yank-line) (define-key isearch-mode-map "\M-m" 'migemo-isearch-toggle-migemo)) (setq migemo-register-isearch-keybinding-function 'migemo-register-isearch-keybinding) (defun migemo-isearch-toggle-migemo () "Toggle migemo mode in isearch." (interactive) (unless (or isearch-regexp isearch-word) (discard-input) (setq migemo-isearch-enable-p (not migemo-isearch-enable-p))) (when (fboundp 'isearch-lazy-highlight-new-loop) (let ((isearch-lazy-highlight-last-string nil)) (condition-case nil (isearch-lazy-highlight-new-loop) (error (isearch-lazy-highlight-new-loop nil nil))))) (isearch-message)) (defun migemo-isearch-yank-char () "Pull next character from buffer into search string with migemo." (interactive) (when (and migemo-isearch-enable-p (not isearch-regexp) isearch-other-end) (setq isearch-string (buffer-substring-no-properties isearch-other-end (point))) (setq isearch-message isearch-string)) (let ((search-upper-case (unless migemo-isearch-enable-p search-upper-case))) (isearch-yank-string (save-excursion (and (not isearch-forward) isearch-other-end (goto-char isearch-other-end)) (buffer-substring-no-properties (point) (progn (forward-char 1) (point))))))) (defun migemo-isearch-yank-word () "Pull next character from buffer into search string with migemo." (interactive) (when (and migemo-isearch-enable-p (not isearch-regexp) isearch-other-end) (setq isearch-string (buffer-substring-no-properties isearch-other-end (point))) (setq isearch-message isearch-string)) (let ((search-upper-case (unless migemo-isearch-enable-p search-upper-case))) (isearch-yank-string (save-excursion (and (not isearch-forward) isearch-other-end (goto-char isearch-other-end)) (buffer-substring-no-properties (point) (progn (forward-word 1) (point))))))) (defun migemo-isearch-yank-line () "Pull next character from buffer into search string with migemo." (interactive) (when (and migemo-isearch-enable-p (not isearch-regexp) isearch-other-end) (setq isearch-string (buffer-substring-no-properties isearch-other-end (point))) (setq isearch-message isearch-string)) (let ((search-upper-case (unless migemo-isearch-enable-p search-upper-case))) (isearch-yank-string (save-excursion (and (not isearch-forward) isearch-other-end (goto-char isearch-other-end)) (buffer-substring-no-properties (point) (line-end-position)))))) ) (add-hook 'kill-emacs-hook 'migemo-pattern-alist-save) (provide 'migemo) ;; sample ;; 0123 abcd ABCD Ҥ餬 !"[#\$]%^&_':`(;)<*=+>,?-@./{|}~ ;; Local Variables: ;; coding: euc-japan-unix ;; indent-tabs-mode: nil ;; End: ;;; migemo.el ends here