made sure to type-cast inputs to reportNumbers() to be numbers

thanks, @bromagosa, for catching this bug!
pull/95/head
jmoenig 2020-05-18 10:25:29 +02:00
rodzic d7be2fd2ac
commit 712ab2e3ac
2 zmienionych plików z 10 dodań i 8 usunięć

Wyświetl plik

@ -8,7 +8,7 @@
<script type="text/javascript" src="src/symbols.js?version=2020-05-06"></script>
<script type="text/javascript" src="src/widgets.js?version=2020-05-06"></script>
<script type="text/javascript" src="src/blocks.js?version=2020-05-17"></script>
<script type="text/javascript" src="src/threads.js?version=2020-05-16"></script>
<script type="text/javascript" src="src/threads.js?version=2020-05-18"></script>
<script type="text/javascript" src="src/objects.js?version=2020-05-18"></script>
<script type="text/javascript" src="src/gui.js?version=2020-05-18"></script>
<script type="text/javascript" src="src/paint.js?version=2020-05-17"></script>

Wyświetl plik

@ -61,7 +61,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy, Map,
isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph, Color,
TableFrameMorph, ColorSlotMorph, isSnapObject, newCanvas, Symbol, SVG_Costume*/
modules.threads = '2020-May-16';
modules.threads = '2020-May-18';
var ThreadManager;
var Process;
@ -1932,20 +1932,22 @@ Process.prototype.reportBasicNumbers = function (start, end) {
// answer a new arrayed list containing an linearly ascending progression
// of integers beginning at start to end.
var result, len, i,
n = start;
s = +start,
e = +end,
n = s;
this.assertType(start, 'number');
this.assertType(end, 'number');
this.assertType(s, 'number');
this.assertType(e, 'number');
if (end > start) {
len = Math.floor(end - start);
if (e > s) {
len = Math.floor(e - s);
result = new Array(len);
for(i = 0; i <= len; i += 1) {
result[i] = n;
n += 1;
}
} else {
len = Math.floor(start - end);
len = Math.floor(s - e);
result = new Array(len);
for(i = 0; i <= len; i += 1) {
result[i] = n;