changeset 40:1978dc75b15c

*** empty log message ***
author gongo
date Tue, 19 Aug 2008 16:36:10 +0900
parents ca6df6937dd1
children 0f547ed856f6
files ChangeLog redit-client-sm.el
diffstat 2 files changed, 172 insertions(+), 123 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Aug 05 19:14:29 2008 +0900
+++ b/ChangeLog	Tue Aug 19 16:36:10 2008 +0900
@@ -1,3 +1,35 @@
+2008-08-19  Wataru MIYAGUNI  <gongo@cr.ie.u-ryukyu.ac.jp>
+
+	* thinking: buffer と session の関連性
+	とりあえずバッファとSessionを関連づけるために
+	SessionInfo なるものを作ってあるんだけど
+	その切り替えをいつするかって話。2007-12-23 に書いてるね。
+	先生からの助言で、
+
+	- Session の情報が必要になるのは
+	  SessionManager に送るときだけなので
+	  before-change-functions/after-change-functions の時に
+	  切り替えればいいんじゃないか
+	- 表に出てないバッファに対しても変更は効くはずなので、
+	  SessionManager から受け取った REP コマンドによる変更は
+	  バッファを指定してバックグラウンドで行う
+
+	こんな感じになりました。なるほどなるへそ。
+
+	で、SessionInfo はハッシュテーブルで管理してて、
+	キーとして SessionID と その Session に対応するバッファ名
+	にしようかと思ってる。思ってた。思い続けてた。
+	で、バッファ名は基本ファイル名なので、重複する恐れがある云々で
+	いろいろ考えてたんだけど、よくよく考えて
+	通常の emacs でもディレクトリが違ってファイル名同じだったら、
+	下のファイル名の横に
+
+	hoge.c<2>
+
+	みたいな表示が出来る事を思い出した。
+	つーことでこれでいいんじゃね?
+	ということでこの方法とテストプログラム書いてみる
+	
 2008-08-05  Wataru MIYAGUNI  <gongo@cr.ie.u-ryukyu.ac.jp>
 
 	* thinking: delete,replace
--- a/redit-client-sm.el	Tue Aug 05 19:14:29 2008 +0900
+++ b/redit-client-sm.el	Tue Aug 19 16:36:10 2008 +0900
@@ -1,6 +1,8 @@
 ;; 	$Id$
 
-(eval-when-compile (require 'cl))
+;; cl-macs でマクロとして定義されているため
+;; cl.el をインクルードしておく
+(require 'cl)
 
 ;;
 ;; REP Command
@@ -57,41 +59,44 @@
 (defvar redit-max-string-length 1004
   "Read-Write max length of string.")
 
-;; REP $B$,;HMQ$9$kJ8;z%3!<%I(B
-(defvar rep-string-encoding 'utf-8)
+;; REP が使用する文字コード
+(defconst rep-string-encoding 'utf-8)
+
+;; port
+(defconst redit-process-port 8766)
 
-(defvar redit-open-command           1)
-(defvar redit-open-ack               2)
-(defvar redit-read-command           3)
-(defvar redit-read-ack               4)
-(defvar redit-read-finish-ack        5) ;; obsolete
-(defvar redit-insert-command         6)
-(defvar redit-insert-ack             7)
-;;(defvar redit-write-still-ack        "7")
-;;(defvar redit-write-finish-ack       "8")
-(defvar redit-delete-line-command    9)
-(defvar redit-delete-line-ack       10)
-(defvar redit-close-command         11)
-(defvar redit-close-ack             12)
-(defvar redit-replace-command       13)
-(defvar redit-replace-ack           14)
-(defvar redit-nop-command           15)
+(defconst redit-open-command           1)
+(defconst redit-open-ack               2)
+(defconst redit-read-command           3)
+(defconst redit-read-ack               4)
+(defconst redit-read-finish-ack        5) ;; obsolete
+(defconst redit-insert-command         6)
+(defconst redit-insert-ack             7)
+;;(defconst redit-write-still-ack        "7")
+;;(defconst redit-write-finish-ack       "8")
+(defconst redit-delete-line-command    9)
+(defconst redit-delete-line-ack       10)
+(defconst redit-close-command         11)
+(defconst redit-close-ack             12)
+(defconst redit-replace-command       13)
+(defconst redit-replace-ack           14)
+(defconst redit-nop-command           15)
 
 ;; REP Session
-(defvar redit-join-command           41)
-(defvar redit-join-ack-command       42)
-(defvar redit-get-command            43) ;; obsolete
-(defvar redit-get-ack-command        44) ;; obsolete
-(defvar redit-put-command            45)
-(defvar redit-put-ack-command        46)
-(defvar redit-select-command         47) ;; obsolete
-(defvar redit-select-ack-command     48)
-(defvar redit-register-command       49) ;; obsolete
-(defvar redit-register-ack-command   50) ;; obsolete
-(defvar redit-deregister-command     51) ;; obsolete
-(defvar redit-deregister-ack-command 52) ;; obsolete
-(defvar redit-quit-command           53)
-(defvar redit-quit-ack-command       54)
+(defconst redit-join-command           41)
+(defconst redit-join-ack-command       42)
+(defconst redit-get-command            43) ;; obsolete
+(defconst redit-get-ack-command        44) ;; obsolete
+(defconst redit-put-command            45)
+(defconst redit-put-ack-command        46)
+(defconst redit-select-command         47) ;; obsolete
+(defconst redit-select-ack-command     48)
+(defconst redit-register-command       49) ;; obsolete
+(defconst redit-register-ack-command   50) ;; obsolete
+(defconst redit-deregister-command     51) ;; obsolete
+(defconst redit-deregister-ack-command 52) ;; obsolete
+(defconst redit-quit-command           53)
+(defconst redit-quit-ack-command       54)
 
 ;;;;;;;;;;;;;;;;;;
 ;; Queue struct ;;
@@ -244,7 +249,8 @@
 	      (delete-process redit-client-process) (error nil))))
     
     (setq redit-client-process (open-network-stream
-				"redit-client" nil "localhost" 8766))    
+				"redit-client" nil "localhost"
+				redit-process-port))
 
     ;; called when the process changes state
     (set-process-sentinel redit-client-process 'redit-client-sentinel)
@@ -254,15 +260,15 @@
     
     ;; //Code of the process input/output buffer is rep-string-encoding
     ;; //(set-process-coding-system redit-client-process rep-string-encoding rep-string-encoding)
-    ;; $BAw<u?.$9$k%G!<%?$O%P%$%J%j$GLc$o$J$$$H$$$1$J$$!#(B
-    ;; utf-8 $B$8$c$J$/$F$:$l$k2DG=@-$,$"$k$N$G(B
+    ;; 送受信するデータはバイナリで貰わないといけない。
+    ;; utf-8 じゃなくてずれる可能性があるので
     (set-process-coding-system redit-client-process 'binary 'binary)
     
-    ;; $B%W%m%;%9$,@8$-$F$k$H$-!"(B emacs $B$r=*N;$7$h$&$H$9$k$H(B
-    ;; $B!V(Bprocess$B$,$&$s$?$i$G!"K\Ev$K@Z$C$F$b$$$$$N(B y/n$B!W(B
-    ;; $B$C$FJ9$+$l$k!#(Bnil $B$F$d$C$F$*$/$HJ9$+$l$J$$!#(B
-    ;; quit $B$rF~$l$k$s$J$i(B t $B$K$7$FM-8z$K$9$Y$-$J$s$@$m$&$+!#(B
-    ;; $B:#$O(B nil $B$G(B
+    ;; プロセスが生きてるとき、 emacs を終了しようとすると
+    ;; 「processがうんたらで、本当に切ってもいいの y/n」
+    ;; って聞かれる。nil てやっておくと聞かれない。
+    ;; quit を入れるんなら t にして有効にすべきなんだろうか。
+    ;; 今は nil で
     (set-process-query-on-exit-flag redit-client-process nil)
     
     ;; not necessary since Emacs 21.1
@@ -279,7 +285,16 @@
 	     redit-join-command
 	     0 0 0 0 (string-bytes bufname))
 	    (buffer-name)))
-	  (message "join-command"))
+	  (message (concat
+		    "join-command: "
+		    (number-to-string redit-join-command) " "
+		    (number-to-string 0) " "
+		    (number-to-string 0) " "
+		    (number-to-string 0) " "
+		    (number-to-string 0) " "
+		    (number-to-string (string-bytes bufname)) " " 
+		    "\"" bufname "\""
+		    )))
       ;; PUT if buffer-name is not "*scratch*"
       (progn
 	(process-send-string
@@ -295,24 +310,27 @@
 (defun redit-quit-command ()
   "quit"
   (interactive)
+  ;; process kill とかしよう
   )
 
+
+;; obsolete
 (defun redit-client-open (file)
   (interactive "P")
   (if redit-client-process
       (if (setq file (read-string "Filename: "))
 	  (progn
-	    ;; redit-client-process $B$N(B input $B$KJ8;zNs$rAw?.$9$k(B
+	    ;; redit-client-process の input に文字列を送信する
 	    (process-send-string
 	     redit-client-process
-	     ;; redit-open-command (01) $B$H(B file $B$rO"7k$5$;$k(B
+	     ;; redit-open-command (01) と file を連結させる
 	     (concat redit-open-command file))
-	    ;; redit-client-process $B$+$i=PNO$rF@$k$^$G%k!<%W(B
+	    ;; redit-client-process から出力を得るまでループ
 	    (while (eq nil (accept-process-output redit-client-process)))))
     (error "redit-client is not running.")))
 
-;; redit-client-process $B$K(Bread$B%3%^%s%I$H%P%C%U%!HV9f!"9THV9f$rAw$j!"(B
-;; $B%5!<%P$+$i$N=PNO$rF@$k(B
+;; redit-client-process にreadコマンドとバッファ番号、行番号を送り、
+;; サーバからの出力を得る
 (defun redit-client-read-line (linenum)
   (if redit-client-process
       (save-excursion
@@ -325,9 +343,9 @@
     (error "redit-client is not running.")))
 
 
-;; linenum$B$G;XDj$5$l$?9T$NJT=8$r%5!<%P$XAw$k(B
-;; redit-client-process $B$K(B insert $B%3%^%s%I$H(B
-;;$B%P%C%U%!HV9f!"9THV9f!"9T$NFbMF$rAw$j!"(B Ack $B$r<u$1<h$k(B
+;; linenumで指定された行の編集をサーバへ送る
+;; redit-client-process に insert コマンドと
+;; バッファ番号、行番号、行の内容を送り、 Ack を受け取る
 (defun redit-client-insert-line (linenum isnewline)
   (if redit-client-process
       (save-excursion
@@ -373,14 +391,14 @@
 	     (process-send-string redit-client-process packet)))
     (error "redit-client is not running.")))
 
-;; linenum $B$G;XDj$7$?9T$N:o=|L?Na$r(B redit-client-process $B$KAw?.$9$k(B
+;; linenum で指定した行の削除命令を redit-client-process に送信する
 (defun redit-client-delete-line (linenum)
   (if redit-client-process
       (save-restriction
 
-	;; $B%H!<%/%s$,2s$C$F$/$k$N$rBT$D>l9g$O!"(B
-	;; $B$9$0$K(B process-send-string $B$;$:$K(B
-	;; $BJT=8>pJs$rJ]B8$9$k$@$1$K$H$I$a$k(B
+	;; トークンが回ってくるのを待つ場合は、
+	;; すぐに process-send-string せずに
+	;; 編集情報を保存するだけにとどめる
 	;;(enqueue redit-client-command-queue
 	;;(concat (format "%10d%10d%10d%10d%10d%10d" (string-to-number redit-delete-line-command) redit-client-session-id redit-client-editor-id (gen-seqno) linenum 0) "\n"))
 	
@@ -394,7 +412,7 @@
 		      (gen-seqno) linenum 0))))
     (error "redit-client is not running.")))
 
-;; redit-client-process $B$X(Bclose$B%3%^%s%I$rAw$k(B
+;; redit-client-process へcloseコマンドを送る
 (defun redit-client-close ()
   "Save File and exit Remote-edit client."
   (interactive)
@@ -411,7 +429,7 @@
        redit-client-editor-id
        (gen-seqno) 0 0) "\n"))))
 
-;; redit-client-process $B$r=*N;$5$;$k(B
+;; redit-client-process を終了させる
 (defun redit-client-kill ()
   "Stop Remote-Edit client process."
   (interactive)
@@ -422,11 +440,11 @@
   (kill-all-local-variables))
 
 ;; proc == redit-client-process
-;; string == redit-client-process $B$+$i$N(B output
+;; string == redit-client-process からの output
 (defun redit-client-process-filter (proc string)
-  ;; $B%P%C%U%!%m!<%+%k$J%U%C%/%j%9%H(B before-change-functions $B$+$i(B
-  ;; redit-client-before-change-function $B$r<h$j=|$/(B. after $B$bF1$8(B
-  ;; proc $B$+$i$N=PNO$K(B hook $B$7$J$$$h$&$K(B
+  ;; バッファローカルなフックリスト before-change-functions から
+  ;; redit-client-before-change-function を取り除く. after も同じ
+  ;; proc からの出力に hook しないように
   (remove-hook 'before-change-functions
 	       'redit-client-before-change-function t)
   (remove-hook 'after-change-functions
@@ -434,7 +452,7 @@
 
   (message (concat "redit-client-process-filter: " string))
   (let ((command (rep-get-command-from-pkt string)))
-    ;; command $B$,$I$NL?Na$+$rH=CG$7!"BP1~$7$?=hM}$r$9$k!#(Bcase $B$_$?$$(B
+    ;; command がどの命令かを判断し、対応した処理をする。case みたい
     (cond 
      ;; FIXME
      ;;((if (= command redit-open-ack)
@@ -482,8 +500,8 @@
 	    'redit-client-after-change-function t t)
   )
 
-;; window-scroll-functions $B$K(B hook $B$5$l$k!#(B
-;; window $B$,%9%/%m!<%k$9$kEY$K8F$P$l$k(B
+;; window-scroll-functions に hook される。
+;; window がスクロールする度に呼ばれる
 (defun redit-client-update-function (window window-start)
   (if (equal (window-buffer) redit-client-buffer)
       (save-excursion
@@ -517,7 +535,7 @@
 	(add-hook 'after-change-functions
 		  'redit-client-after-change-function t t))))
 
-;; currentp $B$N0LCV$N9T?t$rJV$9(B
+;; currentp の位置の行数を返す
 (defun real-count-lines (currentp)
   (+ (count-lines (point-min) currentp)
      (if (= (save-excursion (goto-char currentp) (current-column))
@@ -531,82 +549,81 @@
       (setq exprs (cdr exprs)))
     (goto-char saved-point)))
 
-;; before-change-functions $B$K(B hook $B$5$l$k(B
-;; $B%P%C%U%!$KJQ99$,$"$k$?$S$K8F$P$l$k!#%P%C%U%!$,JQ99$5$l$kA0$K8F$P$l$k!#(B
-;; begin $B$H(B end $B$K$OJQ99A0$NJQ99ItJ,$N;O$^$j$H=*$o$j$N(B point $B$,F~$k(B
+;; before-change-functions に hook される
+;; バッファに変更があるたびに呼ばれる。バッファが変更される前に呼ばれる。
+;; begin と end には変更前の変更部分の始まりと終わりの point が入る
 (defun redit-client-before-change-function (begin end)
-  (let ((beginl (real-count-lines begin)) ;; begin $B$N9THV9f(B
-	(endl (real-count-lines end))	  ;; end $B$N9THV9f(B
+  (let ((beginl (real-count-lines begin)) ;; begin の行番号
+	(endl (real-count-lines end))	  ;; end の行番号
 	(currline))			  ;; currline = nil
 
     ;; (message "before-change-function")
 
-    ;; $BA02s$NJT=8$7$?9T$H:#2s$NJT=8$7$?9T$,(B
-    ;; $B0c$C$F$$$?$iA02s$NJT=8$r%5!<%P$XAw$k(B
+    ;; 前回の編集した行と今回の編集した行が
+    ;; 違っていたら前回の編集をサーバへ送る
     (if (not (= beginl redit-client-previous-edited-line))
 	(redit-client-insert-line redit-client-previous-edited-line nil))
 
-    ;; $B:o=|=hM}$G5/$3$k!#(B
-    ;; (ex. BackSpace$B$K$h$k9T$=$N$b$N$N:o=|(B, C-Space C-w$B$J$I$N%+%C%H(B, ...)
+    ;; 削除処理で起こる。
+    ;; (ex. BackSpaceによる行そのものの削除, C-Space C-wなどのカット, ...)
     (if (< beginl endl)
 	(progn
 	  (setq currline endl)
-	  ;; endl$B$+$i(Bbeginl$B$^$G9T$N:o=|L?Na$r=P$9(B
+	  ;; endlからbeginlまで行の削除命令を出す
 	  (while (> currline beginl) 
 	    (redit-client-delete-line endl)
 	    (setq currline (- currline 1)))))))
 
-;; after-change-functions $B$K(B hook $B$5$l$k(B
-;; $B%P%C%U%!$KJQ99$,$"$k$?$S$K8F$P$l$k!#%P%C%U%!$,JQ99$5$l$?8e$K8F$P$l$k(B
-;; begin $B$H(B end $B$K$OJQ998e$NJQ99ItJ,$N;O$^$j$H=*$o$j$N(B point $B$,F~$k(B
+;; after-change-functions に hook される
+;; バッファに変更があるたびに呼ばれる。バッファが変更された後に呼ばれる
+;; begin と end には変更後の変更部分の始まりと終わりの point が入る
 (defun redit-client-after-change-function (begin end length)
   (let ((beginl (real-count-lines begin))
 	(endl (real-count-lines end))
 	(currline))
 
-    ;; $BA^F~=hM}$G5/$3$k!#(B
-    ;; (ex. $B2~9T(B, C-y $B$J$I$N%Z!<%9%H(B, ...)
+    ;; 挿入処理で起こる。
+    ;; (ex. 改行, C-y などのペースト, ...)
     (if (< beginl endl)
 	(progn
 	  (setq currline beginl)
-	  ;; beginl$B$+$i(Bendl$B$^$GA^F~L?Na$r=P$9(B
+	  ;; beginlからendlまで挿入命令を出す
 	  (while (<= currline endl)
 	    (progn (redit-client-insert-line currline nil)
 		   (setq currline (+ currline 1))))))
     (setq redit-client-previous-edited-line endl)))
 
-;; $B0z$-?t$GM?$($i$l$?(B string (line_num + text_data) $B$+$i(B
-;; $B;XDj$5$l$?9T$r:o=|$7!"$=$3$K(B text_data $B$rA^F~$9$k(B
+;; 引き数で与えられた string (line_num + text_data) から
+;; 指定された行を削除し、そこに text_data を挿入する
 (defun redit-client-exec-insert-line (string)
-  (let ((linenum (rep-get-line-number-from-pkt string)) ;; $B9THV9f(B
-	(text (rep-get-text-from-pkt string))) ;; $B%F%-%9%H%G!<%?(B
+  (let ((linenum (rep-get-line-number-from-pkt string)) ;; 行番号
+	(text (rep-get-text-from-pkt string))) ;; テキストデータ
     (if (< (real-count-lines (point-max)) linenum)
 	(progn
 	  (call-interactively 'end-of-buffer) (newline)))
     (goto-line linenum)
-    (delete-region (progn (beginning-of-line) (point)) ;; $B9T$NF,$+$i(B
-		   (progn (end-of-line) (point))) ;; $B9T$NKvHx$^$G:o=|(B
-    (insert text) ;; $B%F%-%9%H%G!<%?$rA^F~(B
-    (message (concat "recv = " text ", line = " (number-to-string linenum)))
+    (delete-region (progn (beginning-of-line) (point)) ;; 行の頭から
+		   (progn (end-of-line) (point))) ;; 行の末尾まで削除
+    (insert text) ;; テキストデータを挿入
     ))
 
-;; $B0z$-?t(B string (line_num + text_data) $B$G;XDj$5$l$?9T$r:o=|$9$k(B
+;; 引き数 string (line_num + text_data) で指定された行を削除する
 (defun redit-client-exec-delete-line (string)
   (let ((linenum (rep-get-line-number-from-pkt string)))
     (goto-line linenum)
-    ;; $B9TF,$+$iKvHx$^$G$N%F%-%9%H$r:o=|(B
+    ;; 行頭から末尾までのテキストを削除
     (delete-region (progn (beginning-of-line) (point))
 		   (progn (end-of-line) (point)))
-    ;; $B;XDj$5$l$?9T<+BN$r:o=|(B
-    ;; $B;XDj$5$l$?9THV9f$OJL$N9T$NHV9f$rI=$9$3$H$K$J$k(B
+    ;; 指定された行自体を削除
+    ;; 指定された行番号は別の行の番号を表すことになる
     (if (= (point) (point-max))
 	(delete-backward-char 1)
       (delete-char 1)))
   )
 
-;; $B2?MQ!)Aj<j$,3+$$$F$k%U%!%$%k$r<hF@$9$k$N$+$J!)(B
-;; read $B$_$?$$$J$b$s!)(B
-;; $B0z$-?t(B string (buf_num + line_num + text_data) 
+;; 何用?相手が開いてるファイルを取得するのかな?
+;; read みたいなもん?
+;; 引き数 string (buf_num + line_num + text_data) 
 ;;(defun redit-client-exec-open-ack (string)
 ;;  (save-excursion
 ;;    (let ((bufnum (rep-get-editor-id-from-pkt string))
@@ -616,9 +633,9 @@
 ;;      (setq redit-client-buffer-name
 ;;	    (rep-get-text-from-pkt string))
 ;;      (setq redit-client-buffer (get-buffer-create redit-client-buffer-name))
-;;      ;; $B%W%m%;%9$H%P%C%U%!$r4XO"$E$1$k(B
+;;      ;; プロセスとバッファを関連づける
 ;;      (set-process-buffer redit-client-process redit-client-buffer)
-;;      (switch-to-buffer redit-client-buffer) ;; window$B$N%P%C%U%!$rJQ99$9$k(B
+;;      (switch-to-buffer redit-client-buffer) ;; windowのバッファを変更する
 ;;      (make-variable-buffer-local 'redit-client-previous-edited-line)
 ;;      (make-variable-buffer-local 'redit-client-after-edited-line)
 ;;      (make-variable-buffer-local 'redit-client-line-max-in-server)
@@ -637,25 +654,25 @@
 ;;      ;; not necessary since Emacs 21.1
 ;;      ;; (make-local-hook 'window-scroll-functions)
 ;;
-;;      ;; window $B$,%9%/%m!<%k$9$kEY$K8F$P$l$k4X?t72(B
+;;      ;; window がスクロールする度に呼ばれる関数群
 ;;      (add-hook 'window-scroll-functions
 ;;		'redit-client-update-function t t))))
 
 
-;; string (line_num + text_data) $B$G;XDj$5$l$?9T$K(B
-;; text_data $B$rA^F~$9$k(B
+;; string (line_num + text_data) で指定された行に
+;; text_data を挿入する
 (defun redit-client-exec-read-ack (string)
   (save-excursion
     (let ((lines (rep-get-line-number-from-pkt string)))
-      ;; redit-client-buffer $B$r%+%l%s%H%P%C%U%!$K$9$k(B
+      ;; redit-client-buffer をカレントバッファにする
       (set-buffer redit-client-buffer)
       (goto-line lines)
-      (beginning-of-line) ;; $B9T$N;O$a$X0\F0(B
+      (beginning-of-line) ;; 行の始めへ移動
       ;;      (delete-region (progn (beginning-of-line) (point))
       ;; 		     (progn (end-of-line) (point)))
-      (insert (rep-get-text-from-pkt string))))) ;; $B%F%-%9%H%G!<%?$rA^F~(B
+      (insert (rep-get-text-from-pkt string))))) ;; テキストデータを挿入
 
-;; redit-client-line-max-in-server $B$K9THV9f$rF~$l$F$k(B($B$@$1(B)
+;; redit-client-line-max-in-server に行番号を入れてる(だけ)
 (defun redit-client-exec-insert-ack (string)
   (save-excursion
     (set-buffer redit-client-buffer)
@@ -668,7 +685,7 @@
     (let ((linenum (rep-get-line-number-from-pkt string)))
       (setq redit-client-line-max-in-server linenum))))
 
-;; $B%W%m%;%9$H%P%C%U%!!"%m!<%+%kJQ?t$r:o=|$9$k(B
+;; プロセスとバッファ、ローカル変数を削除する
 (defun redit-client-exec-close-ack (string)
   (if redit-client-process
       (kill-process redit-client-process))
@@ -676,7 +693,7 @@
       (kill-buffer redit-client-buffer))
   (kill-all-local-variables))
 
-;; $B0z$-?t$GM?$($i$l$?(B string $B$+$i(B Editor ID$B$r<hF@$9$k(B
+;; 引き数で与えられた string から Editor IDを取得する
 (defun redit-client-exec-join (string)
   (let (sinfo)
     (setq redit-client-editor-id (rep-get-editor-id-from-pkt string))
@@ -693,9 +710,9 @@
     (message (concat "Your editor id = " (number-to-string redit-client-editor-id)))
 ))
 
-;; //$B0z$-?t$GM?$($i$l$?(B string $B$+$i(B Session ID$B$r<hF@$9$k(B
-;; $B?7;EMM$G!"(B(put = $B%U%!%$%kM-$j(Bjoin) $B$C$F$3$H$K$J$C$F(B
-;; editor id $B$rJV$9$3$H$K$J$C$?$N$G!"(Bsid $B$H6&$K(B eid $B$b%;!<%V$9$k(B
+;; //引き数で与えられた string から Session IDを取得する
+;; 新仕様で、(put = ファイル有りjoin) ってことになって
+;; editor id を返すことになったので、sid と共に eid もセーブする
 (defun redit-client-exec-put (string)
   (let (sinfo)
     (setq redit-client-editor-id (rep-get-editor-id-from-pkt string))
@@ -711,15 +728,15 @@
 		     "test.c" "\n"))
     (message (concat "Your editor id = " (number-to-string redit-client-editor-id) "\n"))))
   
-;; SessionID$B$rL>A0$H$7$?!"?7$7$$%P%C%U%!$r3+$/(B
+;; SessionIDを名前とした、新しいバッファを開く
 ;; FIXME
-;;   SessionID$B$G$O$J$/!"(BSession Name$B$,K>$^$7$$(B?
-;;   $B%P%C%U%!$r3+$$$?8e!"(BSession$B$G3+$$$F$k%U%!%$%k$NCf?H$rI=<($9$k$Y$-(B
+;;   SessionIDではなく、Session Nameが望ましい?
+;;   バッファを開いた後、Sessionで開いてるファイルの中身を表示するべき
 (defun redit-client-exec-select ()
   (switch-to-buffer (get-buffer-create
 		     (number-to-string redit-client-session-id))))
 
-;; $B%W%m%;%9$N>uBV$r8+$F!"BP1~$7$?%a%C%;!<%8$rI=<((B
+;; プロセスの状態を見て、対応したメッセージを表示
 (defun redit-client-sentinel (proc msg)
   (cond ((eq (process-status proc) 'exit)
 	 (message "Client subprocess exited"))
@@ -746,17 +763,17 @@
 (defun rep-get-text-size-from-pkt (pkt)
   (redit-unpack-int pkt 6))
 
-;; $B%3%^%s%I8e$m$K$"$k%F%-%9%H$O(B
+;; コマンド後ろにあるテキストは
 ;;   (substring packet 24)
-;; $B$G$H$l$k$N$G!"(Btext-size $B$OMW$i$J$$!"$H$&$l$7$$!#(B
-;; $B$,!"(B($BDL?.%F%9%H$^$@$J$N$G(B)$BNc$($PO"B3$7$F%Q%1%C%H$,Aw$i$l$FMh$?$H$-(B
-;; $B$=$N%Q%1%C%H$,7R$,$C$F$7$^$&$HBLL\!#(B
-;; $B$b$7!"(Bprocess-filter $B$,!"0l$D$N%Q%1%C%H$N=hM}$,=*$o$k$^$G(B
-;; $B8eB3$N%Q%1%C%H$r;_$a$F$F$/$l$k$J$i$3$l$G$$$1$k$,!#(B
-;; $BG0$N$?$a!"<u$1<h$C$?(B text-size $B$HHf3S$7$F(B
-;; $BF1$8$J$i$*(Bk$B!"$@$a$J$i$=$N%5%$%:J,$@$1<h$k!"$C$F=j$+!#(B
-;; $B:G=i$+$i%5%$%:J,$@$1$G$$$$$s$8$c$M!)$H;W$C$?$j$b$9$k$,!#(B
-;; $B$"$H!"8=;~E@$G$O%5%$%:$,0c$&(B($B<:GT(B)$B;~$N=hM}$$$l$F$J$$!#(B
+;; でとれるので、text-size は要らない、とうれしい。
+;; が、(通信テストまだなので)例えば連続してパケットが送られて来たとき
+;; そのパケットが繋がってしまうと駄目。
+;; もし、process-filter が、一つのパケットの処理が終わるまで
+;; 後続のパケットを止めててくれるならこれでいけるが。
+;; 念のため、受け取った text-size と比較して
+;; 同じならおk、だめならそのサイズ分だけ取る、って所か。
+;; 最初からサイズ分だけでいいんじゃね?と思ったりもするが。
+;; あと、現時点ではサイズが違う(失敗)時の処理いれてない。
 (defun rep-get-text-from-pkt (pkt)
   (let ((size) (text))
     (setq size (rep-get-text-size-from-pkt pkt))