summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmoenig <jens@moenig.org>2014-01-09 18:42:03 +0100
committerjmoenig <jens@moenig.org>2014-01-09 18:42:03 +0100
commit3345081d73106b471c39ba41b85b823152dbe797 (patch)
treeccf53bc8cc7bb3dfa85f23ddbfe496dc3f5ec9e5
parent4a60bfba18c3ff7bd929402737d208b53f4d7229 (diff)
downloadsnap-byow-3345081d73106b471c39ba41b85b823152dbe797.tar.gz
snap-byow-3345081d73106b471c39ba41b85b823152dbe797.zip
XML.js: resolved unexpected assignment expressions
conform to the latest JSLint quibbles
-rwxr-xr-xhistory.txt1
-rw-r--r--xml.js36
2 files changed, 25 insertions, 12 deletions
diff --git a/history.txt b/history.txt
index 20b4f65..2411d8f 100755
--- a/history.txt
+++ b/history.txt
@@ -2062,3 +2062,4 @@ ______
* Blocks, Objects, Threads: Collapse old STOP primitives into a single one with a dropdown of options
* German translation update for new (migrated) STOP block
* Morphic: Fixed updateReferences() (how could nobody notice so long?!)
+* Store: resolved unexpected assignment expressions (conform to the latest JSLint quibbles)
diff --git a/xml.js b/xml.js
index cc3c609..fb612ce 100644
--- a/xml.js
+++ b/xml.js
@@ -7,7 +7,7 @@
written by Jens Mönig
jens@moenig.org
- Copyright (C) 2013 by Jens Mönig
+ Copyright (C) 2014 by Jens Mönig
This file is part of Snap!.
@@ -65,7 +65,7 @@
// Global stuff ////////////////////////////////////////////////////////
-modules.xml = '2013-April-19';
+modules.xml = '2014-January-09';
// Declarations
@@ -90,13 +90,15 @@ ReadStream.prototype.space = /[\s]/;
// ReadStream accessing:
ReadStream.prototype.next = function (count) {
- var element;
+ var element, start;
if (count === undefined) {
element = this.contents[this.index];
this.index += 1;
return element;
}
- return this.contents.slice(this.index, this.index += count);
+ start = this.index;
+ this.index += count;
+ return this.contents.slice(start, this.index);
};
ReadStream.prototype.peek = function () {
@@ -114,12 +116,15 @@ ReadStream.prototype.atEnd = function () {
// ReadStream accessing String contents:
ReadStream.prototype.upTo = function (regex) {
+ var i, start;
if (!isString(this.contents)) {return ''; }
- var i = this.contents.substr(this.index).search(regex);
+ i = this.contents.substr(this.index).search(regex);
if (i === -1) {
return '';
}
- return this.contents.substring(this.index, this.index += i);
+ start = this.index;
+ this.index += i;
+ return this.contents.substring(start, this.index);
};
ReadStream.prototype.peekUpTo = function (regex) {
@@ -133,19 +138,23 @@ ReadStream.prototype.peekUpTo = function (regex) {
ReadStream.prototype.skipSpace = function () {
if (!isString(this.contents)) {return ''; }
- var ch;
- while (this.space.test(ch = this.peek()) && ch !== '') {
+ var ch = this.peek();
+ while (this.space.test(ch) && ch !== '') {
this.skip();
+ ch = this.peek();
}
};
ReadStream.prototype.word = function () {
+ var i, start;
if (!isString(this.contents)) {return ''; }
- var i = this.contents.substr(this.index).search(/[\s\>\/\=]|$/);
+ i = this.contents.substr(this.index).search(/[\s\>\/\=]|$/);
if (i === -1) {
return '';
}
- return this.contents.substring(this.index, this.index += i);
+ start = this.index;
+ this.index += i;
+ return this.contents.substring(start, this.index);
};
// XML_Element ///////////////////////////////////////////////////////////
@@ -376,14 +385,16 @@ XML_Element.prototype.parseStream = function (stream) {
stream.skipSpace();
// attributes:
- while ((ch = stream.peek()) !== '>' && ch !== '/') {
+ ch = stream.peek();
+ while (ch !== '>' && ch !== '/') {
key = stream.word();
stream.skipSpace();
if (stream.next() !== '=') {
throw new Error('Expected "=" after attribute name');
}
stream.skipSpace();
- if ((ch = stream.next()) !== '"' && ch !== "'") {
+ ch = stream.next();
+ if (ch !== '"' && ch !== "'") {
throw new Error(
'Expected single- or double-quoted attribute value'
);
@@ -392,6 +403,7 @@ XML_Element.prototype.parseStream = function (stream) {
stream.skip(1);
stream.skipSpace();
this.attributes[key] = this.unescape(value);
+ ch = stream.peek();
}
// empty tag: