code: function(newope){
  		if(!this.puzzle.ready || (!this.forceRecord && this.disrec>0)){ return;}
  
  		/* Undoした場所で以降の操作がある時に操作追加された場合、以降の操作は消去する */
  		if(this.enableRedo){ this.removeDescendant();}
  
  		/* 前の履歴を更新するかどうか判定 */
  		var puzzle = this.puzzle;
  		if( this.disCombine || !this.lastope ||
  			!newope.isModify || !newope.isModify(this.lastope) )
  		{
  			/* 履歴を追加する */
  			if(!this.chainflag){
  				this.history.push(new this.klass.OperationList());
  				this.position++;
  				this.chainflag = true;
  			}
  			this.history[this.history.length-1].push(newope);
  			this.lastope = newope;
  		}
  		else{
  			/* 前の履歴を更新したときは何もしない */
  		}
  		
  		if(newope.property!=='qsub' && newope.property!=='qcmp' && newope.property!=='snum'){
  			puzzle.checker.resetCache();
  		}
  		this.changeflag = true;
  		this.checkexec();
  	}
docs: --------------------------------------------------------------------------- um.add()  指定された操作を追加する(共通操作) ---------------------------------------------------------------------------