Scratch 3 har en subtil bugg angående broadcast_and_wait

8 views
Skip to first unread message

Mikael Bonnier

unread,
Apr 13, 2019, 12:00:47 PM4/13/19
to coderdojo-malmo
Jag testade mina mest populära projekt direkt när Scratch 3 kom ut i
början av januari 2019. Vissa buggar har fixats, men en var svår att
hitta även om den gav ett tydligt fel i projektet.

Jag rapporterade först buggen 3/1 2019, men ingen reagerade eller hjälpte till:
https://scratch.mit.edu/discuss/topic/329513/?page=1#post-3378908

Sedan skickade jag felrapporten igen som eget meddelande och då fick
jag svar och en lösning:
https://scratch.mit.edu/discuss/topic/347098/

Nu kan man köra programspråket #MOBLuSE_FORTH igen på Scratch.MIT.edu:
https://scratch.mit.edu/projects/302444111/

Den gamla versionen finns kvar här, ty den kommer nog att fungera igen
när buggen fixas i Scratch 3:
https://scratch.mit.edu/projects/137676871/

Buggen i Scratch 3 är att om man har en variabel i ett anrop till
"broadcast_and_wait" och sedan ändrar variabeln, så slutar den att
vänta. Det är så även om man skapar en ny sträng med "join".
https://github.com/LLK/scratch-vm/issues/2109

När man redigerar ett Scratch 2 projekt i Scratch 3 så konverteras det
till Scratch 3 och då fungerar det inte längre i Phosphorus, ty det
systemet verkar bara klara Scratch 2 projekt.

Mvh,
// Mikael Bonnier
----
// YouTube: http://www.youtube.com/MOBiL4u
// Scratch: http://scratch.mit.edu/users/mobluse/
// GitHub: https://github.com/mobluse
// E-mail: mikael....@gmail.com

mob luse

unread,
Feb 7, 2023, 8:41:22 PM2/7/23
to CoderDojo Malmö
Mitt Scratch 2 program #MOBLuSE_FORTH har börjat att fungera igen i Scratch 3 och på Scratch's webbplats, ty de har fixat den långvariga buggen och nyligen uppdaterat.
https://github.com/LLK/scratch-vm/issues/2109

Phosphorus uppdateras inte längre, men fungerar fortfarande för Scratch 2, men nu finns Forkphorus som fungerar för alla Scratch-versioner och sedan finns TurboWarp som även är en utvecklingsmiljö.
https://forkphorus.github.io/#302444111

Den enda vitsen med att hålla på med Scratch 2 nu när Scratch 3 finns är att Tosh (den textbaserade utvecklingsmiljön för Scratch) bara stödjer Scratch 2.
https://tosh.blob.codes/
Scratch 3-versionen av #MOBLuSE_FORTH är förbättrad vad gäller tangentbordet, ty i Scratch 3 kan man läsa av fler specialtecken.

Jag har förresten nu även en Apple Macintosh med macOS 10.11.6 (El Capitan) som inte går att uppgradera till nyare versioner av macOS p.g.a. gammal hårdvara, men den kan köra offline-versionerna av Tosh och Scratch 3 (den senare finns i App Store). Man kan även köra de senaste versionerna av Linux på denna dator från t.ex. USB-minne, om man inte vill installera. T.ex. finns Raspberry Pi OS (Debian-variant) för denna gamla Mac. Ett paket som är bra att installera då är pommed, ty då fungerar fler specialknappar på tangentbordet. För att "bränna" Linux till USB-minne i denna gamla version av macOS fungerar Balena Etcher, men ej Raspberry Pi Imager.
https://www.raspberrypi.org/software/raspberry-pi-desktop/
https://www.raspberrypi.org/forums/viewforum.php?f=116
https://www.raspberrypi.org/forums/viewtopic.php?f=116&t=169135&p=1799983#p1799983
Jag har även två Mac:ar med macOS 6 respektive 7, samt en Apple II Europlus med olika Apple DOS-versioner.
Reply all
Reply to author
Forward
0 new messages