We have learned the hard way that RobotC 2.0 and 2.01 do not save your work prior to compile, even if you have checked the box on View->Preferences->Editor labeled "Auto save before recompile".

This is especially painful if you turn off the NXT, breaking the bluetooth link, and RobotC hangs, as it usually does.

Sat Dec 19, 2009 3:21 pm

Dick Swan

Creator

Joined: Fri Feb 09, 2007 9:21 amPosts: 616

Re: Auto save before recompile

It used to autosave. But then I had too many complaints about that because after a save the "undo" information is destroyed.

So, in the version 2.0 timeframe, the ability to "compile from memory" was added instead of "save to disk and compile from disk".

I will look into restoring some of the previous functionality -- i.e. something like a "recover" function where the unsaved data is stored in a hidden backup file -- in the rare (humor) event of a IDE crash.

I don't think ROBOTC crashes when BT fails. It's a matter of non-changeable fixed timeouts in the Fantom DLL where ROBOTC is waiting for a response. So after 10 seconds to a minute the IDE finally becomes responsive when Fantom returns.

Sat Dec 19, 2009 5:19 pm

david fort

Rookie

Joined: Sun Nov 16, 2008 3:07 pmPosts: 45

Re: Auto save before recompile

Crashes might be an overly strong word, but RobotC becomes unresponsive if bluetooth communication is lost (for example if you turn the NXT off).

I won't say it becomes permanently unresponsive, and I will admit that sometimes being patient is the only required action, but other times generous amounts of being patient wasn't sufficient. It might be in those cases that the unresponsiveness was compounded with frustration fueled clicking, but in any case, Ending the Process using Task Manager was the corrective action taken after several minutes.

Do you receive crash reports from Microsoft? I sometimes send them.

On the Undo vs. Autosave argument, I agree that being able to undo is often just as important as saving.

Might it be possible to preserve the undo list across Saves as is in vogue in some other applications?Or perhaps save periodically and/or on compile to a temp file of some kind?Or to go back in time a bit, use "versions" of the file to provide both the latest and the historical versions?

There really isn't anything about compiling that makes it a clearly good point at which to save. You are right that other IDE's adopted that convention mostly because the compilers they used behind the scenes were written to take their input from Files. It would be really sweet to save every keystroke as it is typed and also allow going back to the very beginning version of the program, independent of when compiles were performed or files saved to disk or IDE started and stopped. I'm tempted to suggest a built in version control system, which would be a good habit for budding programmers to develop, but I worry that you would be hard pressed to please both the people who have never thought about version control, and the people who would want to use their "favorite" version control system. e.g. in Visual Studio, you can "plug in" the version control system of your choice, but that makes ClearCase (for example) not work as well as it does at the command line, and Visual Studio not work as well as it does with Source Safe (i hope).

In any case, thanks for the effort to make RobotC easier and safer to use.

Best regards,d.f.

Mon Jan 04, 2010 10:35 am

Dick Swan

Creator

Joined: Fri Feb 09, 2007 9:21 amPosts: 616

Re: Auto save before recompile

What I want to implement is a (hidden? or temp?) file "backup/recovery" on compile. User files would be written to the "recovery" file extension. If ROBOTC crashes, then it would detect the recovery files and present you with an alternative to restore from it rather than the "standard" version stored on disk. Somewhat akin to what the Microsoft applications do.

Regarding the unresponsiveness. I cannot work around the long timeouts in the Fantom DLL related to a BT crash. I will look at it to get better at only experiencing one such timeout (which is 30 seconds or less) rather than multiple before ROBOTC finally recovers.

Mon Jan 04, 2010 11:55 am

vamfun

Rookie

Joined: Thu Jun 10, 2010 2:00 amPosts: 17

Re: Auto save before recompile

I would like the autosave feature to be restored if it is checked in the preferences. If a person doesn't like autosave then he can uncheck it. I have had autoshut downs with windows auto updates (grrrrrrr) that have lost a lot of programming while my laptop was sitting idle. Keeping the undo log would also be a great feature.

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum