Wykres commitów

103 Commity (fc256e9e727bfe85fbf885cc65afa3b152430c71)

Autor SHA1 Wiadomość Data
jmoenig fc256e9e72 Remove terminated processes from expired clones 2014-12-17 09:41:21 +01:00
jmoenig 0a239b703c yield after each cycle in the experimental “forEach” primitive
thanks, Bernat, for reporting this bug!
2014-12-11 14:17:29 +01:00
jmoenig ad1fe34d1e Experimental “ForEach” primitive (hidden in dev mode) 2014-12-04 15:45:18 +01:00
jmoenig 17b6ae839b Improve edge-collision detection of default sprite “arrow” shape 2014-12-03 12:48:31 +01:00
jmoenig 320bfd0c99 Fixed #656
make sure to always evaluate the “report” block’s input, even if used
inside a custom command definition, because hardware extensions (and
other reporters with side-effects) rely on it.
2014-11-26 16:26:53 +01:00
jmoenig 723c232f3d Full TCO (tail-call-elimination)
now Snap! really *is* Scheme :-)
2014-11-25 17:51:04 +01:00
jmoenig 75849a59a2 Evaluator optimizations
reducing the stack size for reporters
2014-11-25 12:24:20 +01:00
jmoenig 4be96bb240 tail-call-elimination for reporters - experiment
(commented out, under construction)
2014-11-24 16:02:21 +01:00
jmoenig bd37771334 allow recursive reporters to be stopped by user 2014-11-24 14:38:27 +01:00
Jens Mönig f99962c161 Merge pull request #619 from cycomachead/split
Improvements to Split block for whitespace and line options
2014-11-24 13:32:55 +01:00
jmoenig 68c4d2d291 fixed #131
and display an error if a reporter or a “called” ring is missing a
“report” statement
2014-11-24 12:59:02 +01:00
jmoenig e48eda6cc0 Fixed #644 2014-11-24 10:48:49 +01:00
jmoenig 8814b61a32 Fixed #318 2014-11-24 09:28:45 +01:00
jmoenig 781144aa3c Fix “stop this block” primitive for tail-call-elimination 2014-11-23 13:53:34 +01:00
jmoenig 9e91a93ac0 Fix "stop this block"’s lexical awareness
“stop this block” when used inside a custom block definition now always
returns out of the lexically enclosing script (the definition), even if
it is used inside other nested, C-shaped custom blocks in the
definition code. Previously it only stopped the nearest encompassing
“for” block, now it always stops the block whose definition it is in.
I don’t expect this fix to break any existing projects.
2014-11-21 16:55:25 +01:00
Michael Ball 3e8146d043 Merge in recent changes (split block improvements #619) 2014-11-21 03:08:41 -08:00
jmoenig f2d0c2eba5 integrate translation update 2014-11-20 15:53:14 +01:00
Jens Mönig 10ade6421b Merge pull request #614 from MMSequeira/master
Add missing localizations and add Portuguese translations
2014-11-20 15:45:20 +01:00
jmoenig ce93fe8da7 fix ‘line’ option in ‘split’ block for Windows files
thanks, @brianharvey!
2014-11-20 15:16:12 +01:00
jmoenig f37e90436a renamed Process::callback to "onComplete" 2014-11-20 14:40:13 +01:00
Jens Mönig 63a1d2ee3a Merge pull request #641 from bromagosa/contribution
Added callback to Process
2014-11-20 14:26:56 +01:00
jmoenig 5771e93fa1 Fixed #364 avoid “freezing” when calling LAUNCH on empty ring 2014-11-20 14:21:56 +01:00
Bernat Romagosa 91690adb29 callback is only executed when the outmost block returns a value 2014-11-19 09:34:59 +01:00
Manuel Menezes de Sequeira 8e992dcaa8 Add localization to number of arguments error and temporary watchers 2014-11-18 18:11:14 +00:00
Bernat Romagosa f537f62ace Added callback to Process 2014-11-17 14:05:13 +01:00
jmoenig ea05f7859f Treat REPORT blocks inside custom command definitions as STOP THIS BLOCK / IGNORE INPUTS
this also enables all existing FINCH blocks and other hardware
extensions again, which used the REPORT (HTTP://) pattern
2014-11-17 10:22:39 +01:00
jmoenig b36a358173 Fix reporting out of nested custom C-shaped blocks
REPORT now reports to the nearest lexical element expecting an input
(which may not be the block holding the REPORT statement, this lets you
REPORT out of nested FOR loops).
STOP THIS BLOCK behaves as it used to.
If you’ve been using REPORT instead of STOP THIS BLOCK, you should
migrate.
2014-11-14 12:49:01 +01:00
Michael Ball dbf2e6665b Improvements to Split block for whitespace and lines:
* Split by whitespace now uses the built-in definition of whitespace \s
  This catches all characters definted as whitespace, see below:
  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
* Split a line by all unicode compliant line breaks. The biggest impact here is
  that OSX and Windows files will now split the same way.
The cr option is still around, but ther's no longer a need for it, IMO.
2014-10-18 23:00:11 -07:00
Manuel Menezes de Sequeira dda2d48f16 add localization to unknown variable error 2014-10-14 17:58:57 +01:00
jmoenig c6815c11d4 workaround for some REPORT / STOP BLOCK issues
enables reporting and stopping a bock from within a C-shaped slot in a
custom block, but not (yet) out of nested C-shaped custom blocks (but
that’s coming up, too)
2014-10-01 09:50:56 +02:00
jmoenig 8b5fa7f23c fixed #591
fully copy local variables for sprite duplicates and (Scratch-like)
clones
2014-09-29 09:50:16 +02:00
jmoenig 5695dd141b fixed #174, eliminate UpvarReferences in evaluator
replace UpvarReferences with references to Variable objects, fixes
upvar scope issues
2014-09-18 14:26:28 +02:00
jmoenig 04168220bd Refactor variables handling
introducing Variable objects, all functionality stays the same at this
time
2014-09-17 14:40:39 +02:00
jmoenig 130e105ea3 enable Zombiefication of JS-Functions
you can now redirect “this” in a JS function by binding it to another
sprite using the OF block
2014-08-13 17:43:49 +02:00
jmoenig 61dd479a2b export script pic with result bubble
hidden option in the shift-context-menu of reporter scripts
2014-07-30 16:28:01 +02:00
jmoenig c0b91b5fa2 enable “JS function” block to create custom control structures and HOFs 2014-07-28 14:41:15 +02:00
jmoenig e362730a0c JS function tweak, thank, @nathan! 2014-07-27 15:06:50 +02:00
jmoenig 3aae7c3ce4 new “JavaScript function” primitive
Go figure…
2014-07-25 14:35:36 +02:00
jmoenig 54fec68d78 Display “empty” Contexts as empty rings
(e.g. continuations). Brian was complaining about empty continuations
“sucking” up the watchers and value bubbles.
2014-07-24 12:24:19 +02:00
jmoenig df25b4dc73 fixed #521
deleting variable watchers by dropping them on the palette resulted in
wrong ones to be created when showing them again
2014-07-22 12:33:26 +02:00
jmoenig 15a751ad85 fixed #518 2014-07-21 08:23:14 +02:00
jmoenig f09a717719 rename "character" to "letter" in delimiter list
of “split” block
2014-07-18 15:36:56 +02:00
Michael Ball 80d1e25bee Lint: fix missing semicolon 2014-07-17 12:08:30 -07:00
Michael Ball 440cd340a5 Split Block: Add a character option for clarity
This also allows the split block to be used more easily in a HOF
2014-07-17 12:02:07 -07:00
jmoenig 37d82524f9 fixed #506, thanks @haritop!
thanks @haritop, for both the report and for also providing the fix for
it!!
2014-07-11 12:54:02 +02:00
jmoenig cd416bc9a9 revert changes made for JSLint’s sake
after the issue was fixed in JSLint
2014-07-08 17:04:15 +02:00
jmoenig e0289f8c41 show error messages for custom blocks (sorta)
(propagating to the script’s top block)
Also adjust to Doug Crockford’s latest infuriating nitpickings
(“unexpected ‘[‘) in JSLint
2014-07-08 13:12:45 +02:00
jmoenig 9f690fbfa3 initialize new variables with zero (instead of null) 2014-06-05 17:16:27 +02:00
jmoenig 295de115a3 Threads: new Variable data structure
for refactoring upvar references, not yet used anywhere
2014-05-20 09:34:37 +02:00
jmoenig f9989ad7cf checkpoint - release 2014-05-02 11:08:30 +02:00