"never repeat these commands" does not save for future session

Modifying the list, rhino reverts back to defaults in the next session.

in the previous versions of Rhino, there was no problem, but in Rhino 8, changing the list will remain for the current session. close rhino, open rhino, check the list, you will see that it reverted back to the default one. WHY?

I tried exporting options with the “never repeat these commands” modified. Import the options back, you will see that the Default commands that I changed, are reverted back. What is going on?

I want this command to not exist in the list.

I remove it. I close Rhino 8, I reopen Rhino 8, I go check the list, I find it there. STRANGE.

I remove it again. I export the Options into the *.ini file.

I check the *.ini file in notepad: the command “Delete” is NOT in the list. Good. I go to Rhino, I delete all the command list. The list is now empty. I press OK.

I import the *.ini* file that doesn’t contain the command “Delete” in the “never repeat these commands”.*

I check Rhino the general options. oh My God, the command “Delete” is in the list!! from where Rhino gets the command and put it there? Though I checked the *.ini file, it is not there.

Can Anyone, please, tell me, what sorcery is this?

I haven’t reported it, but this has been happening to me for a v. long time also, since at least Rhino 7.

in Rhino 7, there no such problem

but in Rhino 8, it is driving me crazy

Hi Joe -

There are two things at play here:

  1. The Delete command is one of a few that is hardcoded to never repeat. It will always automatically be added to the Do Not Repeat list.
  2. Exporting the Do Not Repeat list to the ini file only writes additions to that list - there is no syntax to indicate removal.

-wim

Hi Wim

Thank you for explaining this to me. I really suspected that Rhino is adding this Delete command automatically, But I did not know how or why; Thank you for clarifying this.

why is this hardcoded so? in Rhino 7 this was not an issue. Why they made this in Rhino 8?

Hi Joe -

Note that having Delete on the default “do not repeat” list has “always” been hardcoded. The change in Rhino 8 is that this cannot be removed.

I checked the YouTrack database and found that this question was answered here:
RH-87609 ​About Never repeat these commands.

In that issue, reference is made to the following as the cause of the change:
RH-86401 Options: Commands newly tagged bDoNotRepeat are not added to the do not repeat list if it was previously modified

The developer of SubD in Rhino doesn’t want users to be able to make the SubDDisplayToggle repeatable. By making that so, all default “do not repeat” commands were affected.
-wim

I have this python script:

import Rhino
import System

NRTC_FILE = "full\\filepath\\with\\escaped\\backslashes.txt"

def setNRTC():
	print("Opening file...")
	with open(NRTC_FILE, 'r') as f:
		lines = f.readlines()
		systemStrings = [System.String(line) for line in lines]
		linesArray = System.Array[System.String](systemStrings)
		print("Setting command list...")
		count = Rhino.ApplicationSettings.NeverRepeatList.SetList(linesArray)
		print("Added {} lines.".format(count))

if __name__ == "__main__":
	setNRTC()

I see. Thank you once again for explaining this. I appreciate your effort

what does it do?

and so, there is no medicine for this?

Hi Joe -

That’s correct. There isn’t.
-wim

ok. thank you for your time and effort

It imports your NRTC list from an external file to easily fix it whenever it breaks.