diff --git a/lib/ace/edit_session/folding.js b/lib/ace/edit_session/folding.js index 474818b2..09d67b95 100644 --- a/lib/ace/edit_session/folding.js +++ b/lib/ace/edit_session/folding.js @@ -454,13 +454,16 @@ function Folding() { if (expandInner) { this.removeFolds(folds); } else { - // TODO: might need to remove and add folds in one go instead of using + var subFolds = folds; + // TODO: might be better to remove and add folds in one go instead of using // expandFolds several times. - while (folds.length) { - this.expandFolds(folds); - folds = this.getFoldsInRangeList(range); + while (subFolds.length) { + this.expandFolds(subFolds); + subFolds = this.getFoldsInRangeList(range); } } + if (folds.length) + return folds; }; /*