From 3dbe001d6f47c0cf6dd9f34ca746201894a32dd7 Mon Sep 17 00:00:00 2001 From: jmoenig Date: Thu, 17 Jul 2014 09:51:25 +0200 Subject: [PATCH] fix List::length to work with stored CS10 projects --- history.txt | 5 +++++ lists.js | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/history.txt b/history.txt index 541905ee..c21df561 100755 --- a/history.txt +++ b/history.txt @@ -2196,3 +2196,8 @@ ______ * Threads: fixed #506, thanks @haritop, for both the report and for providing the fix!! * GUI: fixed #412 (incomplete sprite-removal) * GUI: fixed #507 (limit persistent block zoom to 12x), thanks Michael! +* Morphic, GUI, Objects: fixed #508 (don’t popup empty menus), thanks Michael! + +140714 +------ +* Lists: make internal list ops iterative (instead of recursive), thanks, Brian! diff --git a/lists.js b/lists.js index 1674d1c4..c5a7cc62 100644 --- a/lists.js +++ b/lists.js @@ -195,11 +195,11 @@ List.prototype.length = function () { if (this.isLinked) { var pair = this, result = 0; - while (pair.isLinked) { + while (pair && pair.isLinked) { result += 1; pair = pair.rest; } - return result + pair.contents.length; + return result + (pair ? pair.contents.length : 0); } return this.contents.length; };