diff --git a/gulpfile.js b/gulpfile.js index 0e91aaf014..4d5dd63a65 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -40,7 +40,7 @@ var Rx = require('rx'), // lint jsonlint = require('gulp-jsonlint'), eslint = require('gulp-eslint'), - + // unit-tests tape = require('gulp-tape'), tapSpec = require('tap-spec'); @@ -517,7 +517,7 @@ gulp.task('reload', function() { gulp.task('watch', watchDependents, function() { gulp.watch(paths.lessFiles, ['less']); - gulp.watch(paths.js, ['js']); + gulp.watch(paths.js.concat(paths.vendorChallenges), ['js']); gulp.watch(paths.challenges, ['test-challenges', 'reload']); gulp.watch(paths.js, ['js', 'dependents']); gulp.watch( diff --git a/public/js/lib/loop-protect/loop-protect.js b/public/js/lib/loop-protect/loop-protect.js index 341fb6fa5f..4c03d26908 100644 --- a/public/js/lib/loop-protect/loop-protect.js +++ b/public/js/lib/loop-protect/loop-protect.js @@ -18,7 +18,7 @@ if (typeof DEBUG === 'undefined') { DEBUG = true; } // the standard loops - note that recursive is not supported var re = /\b(for|while|do)\b/g; var reSingle = /\b(for|while|do)\b/; - var labelRe = /\b([a-z_]{1}\w+:)/i; + var labelRe = /\b(?!default:)([a-z_]{1}\w+:)/i; var comments = /(?:\/\*(?:[\s\S]*?)\*\/)|(?:([\s;])+\/\/(?:.*)$)/gm; var loopTimeout = 1000; @@ -131,7 +131,7 @@ if (typeof DEBUG === 'undefined') { DEBUG = true; } // so that we insert in to the correct location (instead of possibly // outside the logic return line.slice(0, matchPosition) + ';' + method + '({ line: ' + lineNum + ', reset: true }); ' + line.slice(matchPosition); - }; + } if (!offset) { offset = 0;