changeset 29:ba1829a0c788

change redit-*-command, rename write -> insert
author gongo
date Sun, 11 Nov 2007 01:44:56 +0900
parents 40626191b1fa
children 9e43cec05dc5
files ChangeLog redit-client-sm.el redit-client-sm.elc
diffstat 3 files changed, 108 insertions(+), 91 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Nov 10 22:54:51 2007 +0900
+++ b/ChangeLog	Sun Nov 11 01:44:56 2007 +0900
@@ -1,3 +1,17 @@
+2007-11-11  Wataru MIYAGUNI  <gongo@cr.ie.u-ryukyu.ac.jp>
+
+	* redit-client-sm.el: redit-*-command
+	REPcommand では 「insert」 なのに
+	ここでは 「write」 なので、時々混乱する。insert に変更。
+	それに総じて、write-* 関数を insert-* 関数にリネーム。
+	あと、redit-*-command を使うときに、文字列で定義されてるので
+
+	(string-to-number redit-read-command)
+
+	とかやらないといけない。今日の話し合いで
+	「別に文字列である必要はないぜ」ってことで
+	全て数値に変更。こっちの方が楽だし、きっと速い。
+
 2007-11-10  Wataru MIYAGUNI  <gongo@cr.ie.u-ryukyu.ac.jp>
 
 	* redit-client-sm.el: set-process-coding-system
--- a/redit-client-sm.el	Sat Nov 10 22:54:51 2007 +0900
+++ b/redit-client-sm.el	Sun Nov 11 01:44:56 2007 +0900
@@ -1,8 +1,10 @@
 ;; 	$Id$
-(defcustom redit-client-program "/Users/gongo/src/cr/REP_project/emacs/redit_client.pl"
-  "The program to use as the remote-edit client."
-  :group 'redit
-  :type 'string)
+
+;; not use
+;;(defcustom redit-client-program "/Users/gongo/src/cr/REP_project/emacs/redit_client.pl"
+;;  "The program to use as the remote-edit client."
+;;  :group 'redit
+;;  :type 'string)
 
 ;; 送受信されるコマンドは
 ;; 2 + 2 + 9 + data
@@ -51,36 +53,37 @@
 (defvar rep-string-encoding 'utf-8)
 
 (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")
-(defvar redit-write-command          "6") ;; insert
-(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")
+(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)
 
 ;; 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") ;; obsolete
-(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")
+(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) ;; obsolete
+(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)
 
 ;; Queue struct
 ;; (defstruct Queue (front nil) (rear nil))
@@ -196,14 +199,14 @@
     (process-send-string redit-client-process
       (concat
         (redit-pack
-          (string-to-number redit-join-command)
-            0 0 0 0 0)))
+	 redit-join-command
+	 0 0 0 0 0)))
     ;; PUT if buffer-name is not "*scratch*"
     (process-send-string redit-client-process
       (concat
         (redit-pack
-          (string-to-number redit-put-command)
-            0 0 0 0 (string-bytes (encode-coding-string (buffer-name) rep-string-encoding))) (buffer-name)))))
+	 redit-put-command
+	 0 0 0 0 (string-bytes (encode-coding-string (buffer-name) rep-string-encoding))) (buffer-name)))))
 
 ;; 'get' is obsolete command
 ;; (defun redit-get-command ()
@@ -294,19 +297,19 @@
 	(progn
 	  (process-send-string
 	   redit-client-process
-	   (format "%10d%10d%10d%10d%10d%10d\n" (string-to-number redit-read-command) redit-client-session-id redit-client-editor-id (gen-seqno) linenum 0))
+	   (format "%10d%10d%10d%10d%10d%10d\n" redit-read-command redit-client-session-id redit-client-editor-id (gen-seqno) linenum 0))
 	  (while (eq nil
 		     (accept-process-output redit-client-process)))))
     (error "redit-client is not running.")))
 
 ;; linenumで指定された行の編集をサーバへ送る
-;; redit-client-process にwriteコマンドとバッファ番号、行番号、行の内容を送り、
-;; Ack を受け取る
-(defun redit-client-write-line (linenum isnewline)
+;; redit-client-process に insert コマンドと
+;;バッファ番号、行番号、行の内容を送り、 Ack を受け取る
+(defun redit-client-insert-line (linenum isnewline)
   (if redit-client-process
       (save-excursion
 	(let ((beginp) (endp) (length))
-	  ;; write lines on server buffer
+	  ;; insert lines on server buffer
 	  (setq beginp
 		(progn (goto-line linenum) (beginning-of-line) (point)))
 	  (setq endp
@@ -337,7 +340,7 @@
 	    ;;(format "%10d%10d%10d%10d%10d%10d" (string-to-number redit-write-command) redit-client-session-id redit-client-editor-id (gen-seqno) linenum length)
 
 	    (redit-pack
-	     (string-to-number redit-write-command)
+	     redit-insert-command
 	     redit-client-session-id
 	     redit-client-editor-id
 	     (gen-seqno) linenum length)
@@ -362,7 +365,7 @@
 	;;(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"))
 	
-	;; write lines on server buffer
+	;; insert lines on server buffer
 	(process-send-string
 	 redit-client-process
 
@@ -371,7 +374,7 @@
 	  ;; (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"))
 
 	  (redit-pack
-	   (string-to-number redit-delete-line-command)
+	   redit-delete-line-command
 	   redit-client-session-id
 	   redit-client-editor-id
 	   (gen-seqno) linenum 0)))
@@ -384,14 +387,14 @@
   "Save File and exit Remote-edit client."
   (interactive)
   (let ((line redit-client-previous-line))
-    (redit-client-write-line line nil)
+    (redit-client-insert-line line nil)
     (process-send-string
      redit-client-process
      (concat
       ;; obsolete send string
       ;; (format "%10d%10d%10d%10d%10d%10d" (string-to-number redit-close-command) redit-client-session-id redit-client-editor-id (gen-seqno) 0 0)
       (redit-pack
-       (string-to-number redit-close-command)
+       redit-close-command
        redit-client-session-id
        redit-client-editor-id
        (gen-seqno) 0 0) "\n"))))
@@ -421,63 +424,63 @@
     ;; command がどの命令かを判断し、対応した処理をする。case みたい
     (cond 
      ;; FIXME
-     ((if (= command (string-to-number redit-open-ack))
+     ((if (= command redit-open-ack)
 	  (if (/= redit-client-editor-id (rep-get-editor-id-from-pkt string))
 	      (redit-client-exec-open-ack string))))
 
-     ((if (= command (string-to-number redit-read-ack))
+     ((if (= command redit-read-ack)
 	  (if (= redit-client-editor-id (rep-get-editor-id-from-pkt string))
 	      (redit-client-exec-read-ack string))))
 
-     ((if (= command (string-to-number redit-write-still-ack))
+     ((if (= command redit-insert-ack)
 	  (if (= redit-client-editor-id (rep-get-editor-id-from-pkt string))
-	      (redit-client-exec-write-still-ack string))))
+	      (redit-client-exec-insert-ack string))))
 
-     ((if (= command (string-to-number redit-delete-line-ack))
+     ((if (= command redit-delete-line-ack)
 	  (if (= redit-client-editor-id (rep-get-editor-id-from-pkt string))
 	      (redit-client-exec-delete-line-ack string))))
 
-     ((if (= command (string-to-number redit-close-ack))
+     ((if (= command redit-close-ack)
 	  (if (= redit-client-editor-id (rep-get-editor-id-from-pkt string))
 	      (redit-client-exec-close-ack string))))
 
-     ((if (= command (string-to-number redit-write-command))
+     ((if (= command redit-insert-command)
 	  (if (/= redit-client-editor-id (rep-get-editor-id-from-pkt string))
-	      (redit-client-exec-write-line string))))
+	      (redit-client-exec-insert-line string))))
 
      ;; from Session Manager
      ;; join ack (editor id)
-     ((if (= command (string-to-number redit-join-ack-command))
+     ((if (= command redit-join-ack-command)
 	  ;;(message "redit-client-exec-join")
 	  (redit-client-exec-join string)))
 
      ;; put ack (editor id)
-     ((if (= command (string-to-number redit-put-ack-command))
+     ((if (= command redit-put-ack-command)
 	  (redit-client-exec-put string)))
 
      ;; select ack
      ;; TODO : start editing
      ;; obsolete
-     ;;((if (= command (string-to-number redit-select-ack-command))
+     ;;((if (= command redit-select-ack-command)
      ;;(redit-client-exec-select)))
 
      ;; get
-     ;;((if (= command (string-to-number redit-get-command))
+     ;;((if (= command redit-get-command)
      ;;(if (= redit-client-editor-id (rep-get-editor-id-from-pkt string))
      ;;(redit-client-exec-get string))))
 
      ;; register
-     ;;((if (= command (string-to-number redit-register-command))
+     ;;((if (= command redit-register-command)
      ;;(if (= redit-client-editor-id (rep-get-editor-id-from-pkt string))
      ;;(redit-client-exec-register string))))
 
      ;; deregister
-     ;;((if (= command (string-to-number redit-deregister-command))
+     ;;((if (= command redit-deregister-command)
      ;;(if (= redit-client-editor-id (rep-get-editor-id-from-pkt string))
      ;;(redit-client-exec-deregister string))))
 
      ;; delete line
-     ((if (= command (string-to-number redit-delete-line-command))
+     ((if (= command redit-delete-line-command)
 	  (if (/= redit-client-editor-id (rep-get-editor-id-from-pkt string))
 	      (redit-client-exec-delete-line string))))
      ))
@@ -550,7 +553,7 @@
     ;; 前回の編集した行と今回の編集した行が
     ;; 違っていたら前回の編集をサーバへ送る
     (if (not (= beginl redit-client-previous-edited-line))
-	(redit-client-write-line redit-client-previous-edited-line nil))
+	(redit-client-insert-line redit-client-previous-edited-line nil))
 
     ;; 削除処理で起こる。
     ;; (ex. BackSpaceによる行そのものの削除, C-Space C-wなどのカット, ...)
@@ -579,13 +582,13 @@
 	  (setq currline beginl)
 	  ;; beginlからendlまで挿入命令を出す
 	  (while (<= currline endl)
-	    (progn (redit-client-write-line currline nil)
+	    (progn (redit-client-insert-line currline nil)
 		   (setq currline (+ currline 1))))))
     (setq redit-client-previous-edited-line endl)))
 
 ;; 引き数で与えられた string (line_num + text_data) から
 ;; 指定された行を削除し、そこに text_data を挿入する
-(defun redit-client-exec-write-line (string)
+(defun redit-client-exec-insert-line (string)
   (let ((linenum (rep-get-line-number-from-pkt string)) ;; 行番号
 	(text (rep-get-text-from-pkt string))) ;; テキストデータ
     (if (< (real-count-lines (point-max)) linenum)
@@ -661,7 +664,7 @@
       (insert (rep-get-text-from-pkt string))))) ;; テキストデータを挿入
 
 ;; redit-client-line-max-in-server に行番号を入れてる(だけ)
-(defun redit-client-exec-write-still-ack (string)
+(defun redit-client-exec-insert-ack (string)
   (save-excursion
     (set-buffer redit-client-buffer)
     (let ((linenum (rep-get-line-number-from-pkt string )))
@@ -778,24 +781,24 @@
 	;; -------- translation ------------
 
 	(if (< (+ (redit-get-line-from-queue cc) xcc) (+ (redit-get-line-from-queue rc) xrc))
-	    (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (- xrc 1)))
-	  (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq xrc (- xrc 1))))
+	    (if (= (redit-get-command-from-queue cc) redit-insert-command) (setq xrc (- xrc 1)))
+	  (if (= (redit-get-command-from-queue cc) redit-delete-line-command) (setq xrc (- xrc 1))))
 
 	(if (> (+ (redit-get-line-from-queue cc) xcc) (+ (redit-get-line-from-queue rc) xrc))
-	    (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1)))
-	  (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq xcc (- xcc 1))))
+	    (if (= (redit-get-command-from-queue rc) redit-insert-command) (setq xcc (+ xcc 1)))
+	  (if (= (redit-get-command-from-queue rc) redit-delete-line-command) (setq xcc (- xcc 1))))
 
 	(if (= (+ (redit-get-line-from-queue cc) xcc) (+ (redit-get-line-from-queue rc) xrc))
-	    (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1)))
-	  (if (= (redit-get-command-from-queue rc) (string-to-number redit-replace-command))
-	      (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (+ xrc 1)))
-	    (if (= (redit-get-command-from-queue cc) (string-to-number redit-replace-command)) (setq cignore 1))
-	    (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq crc redit-write-command) (setq cignore 1))))
+	    (if (= (redit-get-command-from-queue rc) redit-insert-command) (setq xcc (+ xcc 1)))
+	  (if (= (redit-get-command-from-queue rc) redit-replace-command)
+	      (if (= (redit-get-command-from-queue cc) redit-insert-command) (setq xrc (+ xrc 1)))
+	    (if (= (redit-get-command-from-queue cc) redit-replace-command) (setq cignore 1))
+	    (if (= (redit-get-command-from-queue cc) redit-delete-line-command) (setq crc redit-insert-command) (setq cignore 1))))
 
-	(if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command))
-	    (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (+ (redit-get-line-from-queue rc) 1)))
-	  (if (= (redit-get-command-from-queue cc) (string-to-number redit-replace-command)) (setq cignore 1))
-	  (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq cignore 1) (setq rignore 1)))
+	(if (= (redit-get-command-from-queue rc) redit-delete-line-command)
+	    (if (= (redit-get-command-from-queue cc) redit-insert-command) (setq xrc (+ (redit-get-line-from-queue rc) 1)))
+	  (if (= (redit-get-command-from-queue cc) redit-replace-command) (setq cignore 1))
+	  (if (= (redit-get-command-from-queue cc) redit-delete-line-command) (setq cignore 1) (setq rignore 1)))
 
 	;; -------- translation ------------
 
@@ -834,23 +837,23 @@
 
 	(if (and (= cignore 1) (= rignore 1))
 	    (if (< (+ (redit-get-line-from-queue rc) xrc) (+ (redit-get-line-from-queue cc) xcc))
-		(if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1)))
-	      (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq xcc (- xcc 1))))
+		(if (= (redit-get-command-from-queue rc) redit-insert-command) (setq xcc (+ xcc 1)))
+	      (if (= (redit-get-command-from-queue rc) redit-delete-line-command) (setq xcc (- xcc 1))))
 
 	  (if (> (+ (redit-get-line-from-queue rc) xrc) (+ (redit-get-line-from-queue cc) xcc))
-	      (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xrc (- xrc 1)))
-	    (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command)) (setq xrc (+ xrc 1))))
+	      (if (= (redit-get-command-from-queue cc) redit-insert-command) (setq xrc (- xrc 1)))
+	    (if (= (redit-get-command-from-queue cc) redit-delete-line-command) (setq xrc (+ xrc 1))))
 
 	  (if (= (+ (redit-get-line-from-queue rc) xrc) (+ (redit-get-line-from-queue cc) xcc))
-	      (if (= (redit-get-command-from-queue cc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1)))
-	    (if (= (redit-get-command-from-queue cc) (string-to-number redit-replace-command))
-		(if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ xcc 1)))
-	      (if (= (redit-get-command-from-queue rc) (string-to-number redit-replace-command)) (setq cignore 1))
-	      (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq crc redit-write-command) (setq cignore 1))))
-	  (if (= (redit-get-command-from-queue cc) (string-to-number redit-delete-line-command))
-	      (if (= (redit-get-command-from-queue rc) (string-to-number redit-write-command)) (setq xcc (+ (redit-get-line-from-queue cc) 1)))
-	    (if (= (redit-get-command-from-queue rc) (string-to-number redit-replace-command)) (setq crc redit-write-command) (setq cignore 1))
-	    (if (= (redit-get-command-from-queue rc) (string-to-number redit-delete-line-command)) (setq cignore 1) (setq rignore 1))))
+	      (if (= (redit-get-command-from-queue cc) redit-insert-command) (setq xcc (+ xcc 1)))
+	    (if (= (redit-get-command-from-queue cc) redit-replace-command)
+		(if (= (redit-get-command-from-queue rc) redit-insert-command) (setq xcc (+ xcc 1)))
+	      (if (= (redit-get-command-from-queue rc) redit-replace-command) (setq cignore 1))
+	      (if (= (redit-get-command-from-queue rc) redit-delete-line-command) (setq crc redit-insert-command) (setq cignore 1))))
+	  (if (= (redit-get-command-from-queue cc) redit-delete-line-command)
+	      (if (= (redit-get-command-from-queue rc) redit-insert-command) (setq xcc (+ (redit-get-line-from-queue cc) 1)))
+	    (if (= (redit-get-command-from-queue rc) redit-replace-command) (setq crc redit-insert-command) (setq cignore 1))
+	    (if (= (redit-get-command-from-queue rc) redit-delete-line-command) (setq cignore 1) (setq rignore 1))))
 
 	;; -------- translation ------------
 
Binary file redit-client-sm.elc has changed