Renaming a peripheral does not change the name within custom blocks

Bug #1193219 reported by Clinton Blackmore on 2013-06-21
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description


If you create a peripheral (a motor or sensor), use it in a custom block, and then rename it, the old, wrong, name is still used in the custom block, and the program does not compile properly.

Steps to reproduce:

1. Start Enchanting.
2. Configure a motor. (Click on the Motors palette, click 'Configure Motors', and drag a motor block out, on, say Port A).
3. Give it a name (ex, "First name") and click "okay" to close the dialog.
4. Build a custom block.
  a) click on the "Variables" palette
  b) click on the "Make a block" button at the very bottom
  c) Enter in a name (ex. "Test Block") and press okay
  d) drag out any motor block into your new function and make sure that the 'First name' shows up when specifying which motor is affected.
  e) press okay.
5) for good measure, drag out a motor block into the main area for a program
6) now, go back to the 'Configure Motor' button and click on it again (as in step 2)
7) Change the name from 'first name' to 'new name' and press okay.
8) Observe that the name in the block of the main program has changed.
9) Find your custom block (at the bottom of the 'Variables' palette if you didn't change any settings on it), and right-click on it and choose edit.
10) Observe that the name of the motor port in the custom block has not changed.

I have attached an image showing what things look like at this step.

Also note that if you connect a robot and try to upload this program, it will fail with an error, as the code emitted can not compile properly when trying to use the obsolete name.

Expected Results:

When you change the name of a peripheral, it should change everywhere, even within custom functions.

Related branches

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers