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

Re: [Q] 日本語のabbreviation



>>>>> at Sun, 06 Aug 2000 19:48:43 +0900 (JST)
>>>>> 後藤 == Shun-ichi GOTO <gotoh@xxxxxxxxxxx> said,

後藤> 自分でも全く同じ希望を持っていましたので、
後藤> 現実逃避ついでにちょっとだけやってみました。
後藤> それなりに目的は達成できているようです。

なんていっときながらダメダメだったので
根本的には変わってませんが、一応改訂しておきます


;; japanese word specific dabbrev
(defadvice dabbrev-expand (around jword (arg) activate)
  (interactive "*P")
  (let* ((regexp dabbrev-abbrev-char-regexp)
	 (dabbrev-abbrev-char-regexp regexp)
	 char ch)
    (if (bobp)
	()
      (setq char (char-before)
	    ch (char-to-string char))
      (cond
       ((string-match "[ア-ンー]" ch)
	(setq dabbrev-abbrev-char-regexp "[ア-ンー]"))
       ((string-match "[あ-んー]" ch)
	(setq dabbrev-abbrev-char-regexp "[あ-んー]"))
       ((string-match "[A-Z-a-z0-9]" ch)
	(setq dabbrev-abbrev-char-regexp "[A-Za-z0-9]"))
       ((eq (char-charset char) 'japanese-jisx0208)
	(setq dabbrev-abbrev-char-regexp 
	      (concat "["
		      (char-to-string (make-char 'japanese-jisx0208 48 33))
		      "-"
		      (char-to-string (make-char 'japanese-jisx0208 126 126))
		      "]")))))
    ad-do-it))

基本的には単純にdabbrev-abbrev-char-regexp をすり替えるという
だけのものですので、後は起動した時のカーソル周辺の様から
regexp を作るマトモなcode は誰かお願いします
全然考慮してません

## いま地獄に滞在中のため時間がとれません(;_;)

--- Regards,
 Shun-ichi Goto  <gotoh@xxxxxxxxxxx>
   R&D Group, TAIYO Corp., Tokyo, JAPAN