Newsgroups: fj.editor.emacs
Path: galaxy.trc.rwcp.or.jp!mex1!jaist-news!cs.titech!wnoc-tyo-news!sh.wide!wnoc-kyo!kuis!aoi!nakasima
From: nakasima@kuis.kyoto-u.ac.jp
Subject: Re: Question: ',' and '.'.
In-Reply-To: ninose@argus.cs.uec.ac.jp's message of 7 Sep 92 13:03:42 GMT
Message-ID: <NAKASIMA.92Sep8130329@aoi.kuis.kyoto-u.ac.jp>
Followup-To: fj.editor.emacs
Sender: news@kuis.kyoto-u.ac.jp
Nntp-Posting-Host: aoi.kuis.kyoto-u.ac.jp
Reply-To: nakasima@kuis.kyoto-u.ac.jp
Organization: Dept. of Info. Sci., Kyoto Univ., JAPAN
References: <FMIKAMI.92Sep5101327@tani-relay.tani.mech.keio.ac.jp>
	<NINOSE.92Sep7220342@argus.cs.uec.ac.jp>
Distribution: fj
Date: Tue, 8 Sep 1992 04:03:28 GMT
Lines: 63
Xref: galaxy.trc.rwcp.or.jp fj.editor.emacs:3135
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.editor.emacs&nb=3135&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

In article <NINOSE.92Sep7220342@argus.cs.uec.ac.jp> ninose@argus.cs.uec.ac.jp (NINOSE Kenta) writes:

> $B$3$l$O(B Wnn $B$NOC$H$$$&$h$j(B egg $B$NOC$N$h$&$J$N$G!"(Bfj.editor.emacs $B$K$b%/(B
> $B%m%9$7$^$9!#(BFollowup-To: $B$O!"E,Ev$KJQ$($F2<$5$$!#(B
> 
> In article <FMIKAMI.92Sep5101327@tani-relay.tani.mech.keio.ac.jp> fmikami@tani.mech.keio.ac.jp (Fumihiko Mikami) writes:
> 
> > $B%m!<%^;z$+$J%b!<%I$G!"(B','(comma) $B$d(B '.'(period) $B$r$&$C$?$H$-$K!"(B
> > '$B!"(B' $B$d(B '$B!#(B' $B$G$O$J$/!"(B'$B!$(B' $B$H(B '$B!%(B' $B$,$G$k$h$&$K$7$?$$$N$G$9$,!"(B
> > $BJ}K!$,$o$+$j$^$;$s!#$=$l$K!"(B'$B!$(B' $B$d(B '$B!%(B' $B$O!"$I$&$d$C$F$b$G$F$3(B
> > $B$J$$$N$G$9$,!"$I$&$9$k$H$G$F$/$k$N$G$7$g$&$+!)!J$3$NJ8>OCf$N(B $B!$(B $B!%(B
> > $B$O!"%Q%=%3%s$G$@$7$?$b$N$r<h$j9~$s$@!#!K(B
> > .emacs $B$K(B
> >   (defrule "." "$B!%(B")
> >   (defrule "," "$B!$(B")
> 
>   $B;H$o$l$F$$$k(B egg $B$N%P!<%8%g%s$K$h$C$F$O0c$&$H;W$$$^$9$,!"3N$+%m!<%^(B
> $B;z(B - $B2>L>JQ49$N%k!<%k$r?7$?$KDI2C$9$k$3$H$O=PMh$J$+$C$?$H;W$$$^$9!#8f(B
> $B4uK>$N7k2L$rF@$k$?$a$K$O(B ($EMACS)/lisp/egg-rk.el $B$NCf$N3:Ev$9$k(B 
> defrule $B$r=q$-49$($F!"$=$l$r(B load $B$9$k$h$&$K$9$l$P$$$$$O$:$G$9!#(B

$B!VDI2C!W$O$G$-$k$s$G$9$,!$!VJQ99!W$H$+!V:o=|!W$O$G$-$J$+$C$?$j$7$^$9!#(B
$B$G!$(Bload $B$9$k$N$O7k9=;~4V$,$+$+$k$N$G!$0JA0$KJQ99!?:o=|$r$9$k4X?t$rEj(B
$B9F$7$?$3$H$,$"$j$^$9$,!$C;$$$N$GF1Iu$7$^$9!#$J$*!$;H$$J}$O!((B

(modify-rule "." "$B!%(B")
(remove-single-char-rule ?0)

$B$H$+$d$k$H!$(B"." $B$,A43Q$N%T%j%*%I(B "$B!%(B" $B$K$J$C$?$j!$(B"0" $B$,H>3Q$K$J$C$?$j(B
$B$7$^$9!#(B
------------------------------------------------
$BCfEg(B  $B9@!w5~ETBg3X9)3XIt>pJs9)3X65<<(B
nakasima@kuis.kyoto-u.ac.jp, phone: 075-753-5383
------------------------------------------------
(defun remove-single-char-rule (CHAR)
"Remove the roma/kana conversion rule for a charcter CHAR."
  (let ((M (cdr egg:*processing-map*)) M1 AM)
    (while (and M (/= (car (car M)) CHAR))
      (setq M1 M)
      (setq M (cdr M)) )
    (if (and M (consp (setq AM (car (cdr (car M))))) (eq (car AM) 'top))
(progn
  (if M1
      (rplacd M1 (cdr M))
   ;else
    (rplacd egg:*processing-map* (cdr M)) )
  t) )))

(defun modify-rule (IN OUT)
"Change the roma/kana conversion rule for the string IN to OUT."
  (let ((M egg:*processing-map*) (L (1- (length IN))) (I 0) A)
    (while (and (< I L) M
(setq A (get-key-action M (aref IN I)))
(not (action-get-output A))
(not (action-get-top A))
(not (action-get-next A)) )
      (setq M (action-get-map A))
      (setq I (1+ I)) )
    (if (and (= I L) M
     (setq A (get-key-action M (aref IN I)))
     (action-get-output A)
     (action-get-top A) )
(action-set-output A OUT) )))
