ID-block no longer creating a deep copy

I used to use the id-block to create a deep copy of lists and concatenated lists. Apparently this no longer works. I have recreated the Caesar disk with two alphabets, alphabet and cryptoalphabet (crypto). I simulate the "rotating" of the disk by adding the first letter of the cryptoalphabet at the back and then deleting it at the front, until the key letter is at the front. Then I search the index of the current letter out of the alphabet and add the letter of the cryptoalphabet at this position to the result. This does not work anymore. The block now returns the plain text. Looking for the error, I had the alphabet displayed after "rotating". It was rotated as well, i.e. the alphabet now also has the key letter in front.

You're retuning alphabet, not crypto

That's the point. Crypto should be "rotating" with the key-Letter in front, but Alphabet should be an independent copy and should not be rotating, but remaining with "A" in front. But the block returns both alphabets "rotating".

It doesn't rotate for me

This is with changing the reported variable to crypto

Like @ego-lay_atman-bay, I haven’t been able to reproduce your odd result neither.
Your script is a function (reporter). Perhaps it reports to another script (not included), and the error may be at the calling side (?).

Hi Fritz,

your script seems to work for me, it changes the crypto copy of alphabet and leaves alphabet untouched:

So, perhaps there's a different issue responsible for what you're seeing?

Hey, incidentally I've been playing with the Caesar Cypher myself last week, experimenting with combining the recent dictionary feature with hyperblocks, and this is what I came up with:

This little script also creates 2 "disks" (i.e. alphabets), keeps one as the original and rotates the other by an offset ("key"). It then turns both into a dictionary by taking the transpose of the table listing both alphabets, and then you can simply use the original alphabet as the key to the rotated one. Since looking up items (and now named keys) in a list is hyperized we can pass in a list of letters to get their encrypted result.

I've been playing with a little library of list transformations among whose rotate is just one (the others are stretch, zoom, part and repeat). Here's how I've defined "rotate":

and "letters":


The error is apparently transported by the XML file. I have now tried the following:

  1. reprogramming of the CAESAR block works fine.
  2. export of the CAESAR block with Scripts Pic and import of the PNG file into a new project works fine.
  3. deleting all other blocks and variables: Alphabet rotates with crypto.
  4. in the project with the faulty block, the CAESAR block is deleted. Then a working PNG image is imported: Alphabet rotates with crypto.
    I have looked at the faulty XML file in the editor. I noticed that the deleted variables are listed at the end of the XML file.
    My question is: What kind of errors are carried over from the XML file, but disappear when the blocks are exported as PNG?

I have published the faulty project as "FaultyCaesarDisk".

the code that's embedded into the smart costume is the exact same as the one in the project file, well, the part of the project that shows the script. Hmm... maybe there's some side effect in some shared variable?

I have deleted all Variables (with the exeption of Ausgabe) und all other Blocks.