Skip to content

Various fixes from arduino/arduino-pro-ide/issues #9

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Feb 12, 2021

Conversation

kittaakos
Copy link
Contributor

@kittaakos kittaakos commented Feb 11, 2021

  • GH-422: Changed the default verbose mode. (To verify this, you have to wipe the default settings from ~/.arduinoIDE/settings.json)
  • GH-430: Fixed 'Close' confirmation is ignored. (This worked on macOS, but I could reproduce it on Windows. It should be fixed now.)
  • Removed the 'Beta' status from the window title and from the about dialog. (We still show beta as part of the IDE version)
  • GH-423: Do not copy copyright from about dialog. (Open the about dialog, you can see that Copyright © 2021 Arduino SA is there but it is not copied to the clipboard.)
  • GH-7: Fixed the build status badge in the main README. (Here is the preview. See that the badge shows Arduino IDE instead of Arduino Pro IDE and it navigates to the proper GH actions page in this repo.)
  • GH-432: Made compile/verify work on dirty editors. (Compile/Upload/Upload using programmer should work on dirty editors.)
  • ATL-806: Fixed always_export_binaries CLI config. (Try to change the always_export_binaries CLI config and check for the build folder. You have to restart the app after changing the always_export_binaries. This is how it is now, I can expose it to the Settings UI if required)
  • ATL-935: Better support for opening large projects (Try to open Marlin. You should see four editor tabs, instead of ~1,5k)

@ubidefeo ubidefeo self-requested a review February 12, 2021 10:11
@kittaakos kittaakos marked this pull request as ready for review February 12, 2021 10:12
Copy link

@ubidefeo ubidefeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

build tested and working for each of the fixes except the Windows one which I cannot test

@rsora
Copy link
Contributor

rsora commented Feb 12, 2021

GH-430: Fixed 'Close' confirmation is ignored. (This worked on macOS, but I could reproduce it on Windows. It should be fixed now.)

Tested and working on Windows 👍

Copy link
Contributor

@rsora rsora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested Everything on windows and it works.
Nice job!

@per1234
Copy link
Contributor

per1234 commented Feb 12, 2021

Thanks for the great work Akos. Super awesome how you were able to make these fixes and improvements

Regarding this:

GH-432: Made compile/verify work on dirty editors. (Compile/Upload/Upload using programmer should work on dirty editors.)

I spotted an issue. It might be something to deal with separately, if so I can open an issue, but I thought I should mention it here:

Describe the bug
The dirty code is compiled (good), but the code from the saved version of the sketch is used in the error message when there is a compilation failure (bad).

To Reproduce
Steps to reproduce the behavior:

  1. File > Preferences
  2. Uncheck the box next to "Auto save".
  3. Click the "OK" button.
  4. Open a sketch that will compile without errors (e.g., File > New).
  5. Make changes to the sketch code that would cause a compilation failure. Don't save.
  6. Sketch > Verify/Compile. The compilation fails.
  7. Check the error message in the output menu. The quoted line of code is from the saved version of the sketch, not the code that caused the error.

For example, if I have this sketch saved:

void setup() {}
void loop() {}

and this is the dirty version:

foovoid setup() {}
void loop() {}

The compilation error:

c:\Users\per\AppData\Local\Temp\.arduinoIDE-unsaved2021112-12840-1u0f2iv.mccj\sketch_feb12a\sketch_feb12a.ino:1:1: error: 'foovoid' does not name a type; did you mean 'void'?
 void setup() {}
 ^~~~~~~
 void
c:\Users\per\AppData\Local\Temp\.arduinoIDE-unsaved2021112-12840-1u0f2iv.mccj\sketch_feb12a\sketch_feb12a.ino:1:1: error: 'foovoid' does not name a type; did you mean 'void'?
 void setup() {}
 ^~~~~~~
 void
Compilation error: Error: 2 UNKNOWN: exit status 1

@per1234
Copy link
Contributor

per1234 commented Feb 12, 2021

The compilation error if I save the sketch:

c:\Users\per\AppData\Local\Temp\.arduinoIDE-unsaved2021112-12840-1u0f2iv.mccj\sketch_feb12a\sketch_feb12a.ino:1:1: error: 'foovoid' does not name a type; did you mean 'void'?
 foovoid setup() {}
 ^~~~~~~
 void
c:\Users\per\AppData\Local\Temp\.arduinoIDE-unsaved2021112-12840-1u0f2iv.mccj\sketch_feb12a\sketch_feb12a.ino:1:1: error: 'foovoid' does not name a type; did you mean 'void'?
 foovoid setup() {}
 ^~~~~~~
 void
Compilation error: Error: 2 UNKNOWN: exit status 1

I'm not sure what is going on with the doubled output and that stray void.

@kittaakos
Copy link
Contributor Author

Describe the bug
The dirty code is compiled (good), but the code from the saved version of the sketch is used in the error message when there is a compilation failure (bad).

I can confirm the bug. I think it might be a CLI issue. I am not doing anything special, but using the appropriate CLI API.

@kittaakos kittaakos merged commit 1dc7a89 into main Feb 12, 2021
@kittaakos kittaakos deleted the various-fixes-from-pro-ide-gh branch February 12, 2021 12:06
@per1234
Copy link
Contributor

per1234 commented Feb 12, 2021

I'm not sure what is going on with the doubled output and that stray void.

I see this issue (but not #12) also occurs in Java IDE 1.8.13. The duplicate error messages are caused by the error propagating to the hidden function prototype generated during sketch preprocessing:

#include <Arduino.h>
#line 1 "C:\\Users\\per\\Documents\\Arduino\\Issue12\\Issue12.ino"
#line 1 "C:\\Users\\per\\Documents\\Arduino\\Issue12\\Issue12.ino"
foovoid setup();
#line 2 "C:\\Users\\per\\Documents\\Arduino\\Issue12\\Issue12.ino"
void loop();
#line 1 "C:\\Users\\per\\Documents\\Arduino\\Issue12\\Issue12.ino"
foovoid setup() {}
void loop() {}

And the void is just the suggested fix. So this is nothing specific to Arduino IDE 2.0.0 and only occurs under specific circumstances.

@per1234 per1234 added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project labels Oct 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants