changeset 73:a904c41852d9

add repcmd
author Yutaka_Kinjyo
date Sun, 19 Dec 2010 22:47:02 +0900
parents cd5f16bbd07d
children 7dc8352fac1c
files redit-client-sm.el
diffstat 1 files changed, 21 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/redit-client-sm.el	Sun Dec 19 18:02:14 2010 +0900
+++ b/redit-client-sm.el	Sun Dec 19 22:47:02 2010 +0900
@@ -110,11 +110,11 @@
 (defconst smcmd-sm-join-ack 63)
 (defconst smcmd-update      65)
 (defconst smcmd-update-ack  66)
-(defconst smcmd-quit2       67)
-(defconst smcmd-quit2-ack   68)
-(defconst smcmd-start-marge 75)
-(defconst smcmd-start-marge-ack 76)
-(defconst smcmd-end-marge 77)
+(defconst smcmd-quit-2       67)
+(defconst smcmd-quit-2-ack   68)
+(defconst smcmd-start-merge 75)
+(defconst smcmd-start-merge-ack 76)
+(defconst smcmd-end-merge 77)
 (defconst smcmd-sync        83)
 (defconst smcmd-sync-ack    84)
 (defconst smcmd-sleep       85)
@@ -588,20 +588,31 @@
 	 ;; cmds.clear();
 	 ;; break;
 	 ((if (= cmd smcmd-start-merge )
+	      (progn
+		(store-substring string (redit-command-offset-cmd smcmd-start-merge-ack))
+		(redit-client-send-command string)  
+		)))
 	 ;; // lock user input during merge (optional)
 	 ;; inputLock = hasInputLock;
 	 ;; cmd.cmd = REP.SMCMD-START-MERGE_ACK;
 	 ;; ns.writeLog("BeforeMerge "+text);
 	 ;; sendCommand(cmd);
 	 ;; break;
-	 ((if (= cmd smcmd-end-merge )
+	 ((if (= cmd smcmd-end-merge )))
 	 ;; inputLock = false;
 	 ;; ns.writeLog("AfterMerge "+text);
 	 ;; break;
 	 ;; // master editor changes QUIT-2 to QUIT-2-ACK
 	 ;; // Session manager should do this
 	 ((if (= cmd smcmd-quit-2 )
-	 ;; if (cmd.eid!=eid) {
+	      (if (eq eid (SessionInfo-eid sinfo))
+		  (progn
+		    (store-substring string (redit-command-offset-cmd smcmd-quit-2-ack))
+		    (redit-client-send-command string)     
+		    )
+		(forward-command string))
+	    ))
+	    ;; if (cmd.eid!=eid) {
 	 ;; forwardCommand(cmd);
 	 ;; } else {
 	 ;; cmd.cmd = REP.SMCMD_QUIT_2_ACK;
@@ -611,6 +622,9 @@
 	 ;; dumpText();
 	 ;; break;
 	 ((if (= cmd smcmd-sync)
+	     (store-substring string (redit-command-offset-cmd smcmd-sync-ack))
+	   (forward-command string)))
+	   
 	 ;; // start contents sync with newly joined editor
 	 ;; cmd.cmd = REP.SMCMD-SYNC-ACK;
 	 ;; forwardCommand(cmd);