code: function () {
        var drag, select, start, end;
  
        autofill.handle.isDragged = 0;
  
        drag = autofill.fillBorder.corners;
        if (!drag) {
          return;
        }
  
        autofill.fillBorder.disappear();
  
        if (selection.isMultiple()) {
          select = priv.selectionBorder.corners;
        }
        else {
          select = priv.currentBorder.corners;
        }
  
        if (drag.TL.row === select.TL.row && drag.TL.col < select.TL.col) {
          start = drag.TL;
          end = {
            row: drag.BR.row,
            col: select.TL.col - 1
          };
        }
        else if (drag.TL.row === select.TL.row && drag.BR.col > select.BR.col) {
          start = {
            row: drag.TL.row,
            col: select.BR.col + 1
          };
          end = drag.BR;
        }
        else if (drag.TL.row < select.TL.row && drag.TL.col === select.TL.col) {
          start = drag.TL;
          end = {
            row: select.TL.row - 1,
            col: drag.BR.col
          };
        }
        else if (drag.BR.row > select.BR.row && drag.TL.col === select.TL.col) {
          start = {
            row: select.BR.row + 1,
            col: drag.TL.col
          };
          end = drag.BR;
        }
  
        if (start) {
          grid.populateFromArray(start, SheetClip.parse(priv.editProxy.val()), end, 'autofill');
  
          selection.setRangeStart(self.view.getCellAtCoords(drag.TL));
          selection.setRangeEnd(self.view.getCellAtCoords(drag.BR));
        }
        else {
          //reset to avoid some range bug
          selection.refreshBorders();
        }
      }
docs: Apply fill values to the area in fill border, omitting the selection border