# HG changeset patch # User kono # Date 1223808713 -32400 # Node ID bb9e202af4d8947bac7b7844025f56d4a99fd58c # Parent bcb4ea4ff2087ccfe3eb1ba071fd47cef5fc010d *** empty log message *** diff -r bcb4ea4ff208 -r bb9e202af4d8 Todo --- a/Todo Sun Oct 12 19:20:16 2008 +0900 +++ b/Todo Sun Oct 12 19:51:53 2008 +0900 @@ -3,6 +3,12 @@ Todo: (kono) DELETE時のundoのための文字列は、SM/Editor間でだけ必要。Editorから戻って来た コマンドをSM側で最新にする必要がある。外に出す時には使わないので消して良い。 + Done: 戻って来た時に、unMergedListに入れているらしい + +Todo: (kono) +new String(hoge)が結構ある。Javaの文字列は変更不可能なので、こんな +ことをする意味はない。 + Done: Todo: (kono) PUT の時に、master session managerまで行って、session番号を確定する diff -r bcb4ea4ff208 -r bb9e202af4d8 rep/REPCommand.java --- a/rep/REPCommand.java Sun Oct 12 19:20:16 2008 +0900 +++ b/rep/REPCommand.java Sun Oct 12 19:51:53 2008 +0900 @@ -27,7 +27,7 @@ this.throughMaster = false; } public REPCommand(REPCommand cmd){ - this(cmd.cmd, cmd.sid, cmd.eid, cmd.seq, cmd.lineno, new String(cmd.string)); + this(cmd.cmd, cmd.sid, cmd.eid, cmd.seq, cmd.lineno, cmd.string); } public REPCommand() { @@ -45,8 +45,8 @@ } public String toString(){ - String repCmdString = new String(cmd + ",sid=" + sid + ",eid=" + eid + ",seq=" + seq + - ",lineno=" + lineno + ",sz=" + string.length() + "," + string); + String repCmdString = cmd + ",sid=" + sid + ",eid=" + eid + ",seq=" + seq + + ",lineno=" + lineno + ",sz=" + string.length() + "," + string; return repCmdString; } diff -r bcb4ea4ff208 -r bb9e202af4d8 rep/translator/TranslatorImpl.java --- a/rep/translator/TranslatorImpl.java Sun Oct 12 19:20:16 2008 +0900 +++ b/rep/translator/TranslatorImpl.java Sun Oct 12 19:51:53 2008 +0900 @@ -162,6 +162,11 @@ assert (cmd.eid != eid); // nop command の挿入は Editor 側で行って、こちら側ではやらない unMergedCmds.add(cmd); + if(cmd.cmd==REP.REPCMD_DELETE) { + // delete のundo用の文字列は、外に出す意味はない + cmd = new REPCommand(cmd); + cmd.string=null; + } nextEditor.send(cmd); }