 
   # Add a  selection to the selection list
   pushSel: (selection)->
+    # console.log "Pushing", selection, "in", @_rte.selections
     selections = @_rte.selections
     if !(selection in selections)
-       selections.push selection
+       @_rte.selections.push selection
 
   # @overload getSelections()
   #   Return all the selections

    length = @_rte.words.length
    if 0 <= position <= length
      wordsObj = ((new Word w, @) for w in words)
      console.log "WO/", wordsObj
      Array.prototype.splice.apply(@_rte.words, [position, 0].concat(wordsObj))
      # left = @_rte.words.slice(0, position)
      # right = @_rte.words.slice(position)

  merge: (index) ->
    if 0 <= index < @getWords(0).length
      word = @getWord index
      # use slice to force copy of array
      [selLeft, selRight] = [word.left.slice(), word.right.slice()]
      for selection in  _.uniq(selLeft.concat(selRight))
        # console.log "Merge — unbinding " + selection.print()
        #selection.unbind()
        @removeSel selection

      word.left = word.right = []
      # remove word at position index
      @deleteWords index
      # insert its content at position where is used to be
      pos = absoluteFromRelative index, 0, @

      @insert pos, word.word.trimRight()

      # the new word is here
      newWord = @getWord index

      # console.log "Merge — before selLeft", selLeft
      for selection in selLeft
        # console.log "Merge — rebinding " + selection.print()
        selection.rebind newWord, null
        @pushSel selection
      # # console.log "Merge — before selRight", selRight
      for selection in selRight
        # console.log "Merge — rebinding " + selection.print()
        selection.rebind null, newWord
        @pushSel selection
    else
      throw new Error "Impossible to merge"
