[MOD] Arduino Enhanced Release 1.0.5 for Windows (installer, drivers, etc) +SRC

eried:

pico:
How difficult would it be to put an option under "preferences" to bypass the automatic generation of protypes by the IDE preprocessor? Just leave the .pde/.ino file untouched as a C++ file prior to "merging" with the library source to produce the .cpp file for actual compilation by gcc. That would be a nice addition to the the "external editor" option, if feasible. Eliminate (well, bypass) a whole class of long-standing bugs in the IDE.

Hi, what kind of bugs? can you elaborate a Little more about the benefits of this feature?

Have a browse if you feel inclined:

http://code.google.com/p/arduino/issues/list?can=2&q=preprocessor&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&cells=tiles

There are also numerous threads in these forums discussing these bugs.

The depressing "official" response to these long standing issues is that it's "tricky" to fix the IDE automatic prototype generation so that it doesn't randomly produce illegal code from valid source files, and that people should simply work around the issues by various tricks (like putting the source code into a .h include file so the IDE preprocessor doesn't touch it.) I don't believe anyone actually understands what the mess of regex code really does anymore, if they ever did. Realistically, the whole mess should be tossed out and redone properly, using proper parsing techniques, but there is no "official" will to do that, and judging by the history, I don't believe these bugs will ever be addressed.

I wasted enough time chasing down issues with this "random code generator" that I eventually moved away from using the IDE completely, using Martin Oldfield's makefiles instead. The only difference is that I have to write my own prototypes now, but that is infinitely preferable to a buggy IDE that attempts to do this automatically. If the IDE had the ability to turn off or bypass its buggy automatic prototype generation, I'd give the IDE further consideration, particularly with the use of the "external editor" option and many of your enhancements.

So the ability to bypass the automatic prototype generation code would be a considerable enhancement to the stability of the IDE. It really attempts to do something that is of dubious or marginal benefit at most to the user anyway. Writing a prototype is no harder than writing the function declaration, and is good practice for a beginning programmer to get into in any case. And as one of the bug reporters commented, "pity the poor noob" who gets bitten by these bugs...