Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Function prototypes not generated when sketch path contains " #1945

Open
Assignees
Labels
topic: build-processRelated to the sketch build process topic: codeRelated to content of the project itself type: imperfectionPerceived defect in any part of project
@per1234

Description

Describe the problem

In order to make it easier for beginners to get started with writing Arduino sketches, and for the convenience of all users, Arduino CLI automatically generates and adds prototypes for functions defined in a .ino file of a sketch.

🐛 If the parent path of a sketch contains a double quote character ("), function prototypes are not generated.

To reproduce

$ arduino-cli version
arduino-cli Version: nightly-20221024 Commit: 5efa9b5 Date: 2022年10月24日T01:36:36Z
$ mkdir --parents /tmp/foo\"bar/SomeSketch
$ printf "void setup() {\n foo();\n}\nvoid loop() {}\nvoid foo() {}" > /tmp/foo\"bar/SomeSketch/SomeSketch.ino
$ arduino-cli compile --fqbn arduino:avr:uno --preprocess /tmp/foo\"bar/SomeSketch
#line 1 "/tmp/foo\"bar/SomeSketch/SomeSketch.ino"
void setup() {
 foo();
}
void loop() {}
void foo() {}
Used platform Version Path 
arduino:avr 1.8.5 /home/per/.arduino15/packages/arduino/hardware/avr/1.8.5
$ arduino-cli compile --fqbn arduino:avr:uno /tmp/foo\"bar/SomeSketch
/tmp/foo"bar/SomeSketch/SomeSketch.ino: In function 'void setup()':
/tmp/foo"bar/SomeSketch/SomeSketch.ino:2:3: error: 'foo' was not declared in this scope
 foo();
 ^~~

🐛 The function prototype for foo was not generated. It will be very difficult for the average user to understand why the compilation failed and how to fix the error.

Expected behavior

Function prototypes are generated regardless of which characters are present in the path.

Arduino CLI version

f239754

Operating system

Ubuntu, macOS

Operating system version

  • Ubuntu 20.04
  • macOS 12.6

Additional context

The bug is not applicable to Windows because " is not an allowed character for Windows paths.


Note this is not about supporting double quotes in sketch filenames. This is about their presence in the parent path of the sketch.


Originally reported at https://forum.arduino.cc/t/mac-montery-and-library-update/1041060/21

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the nightly build
  • My report contains all necessary details

Metadata

Metadata

Assignees

Labels

topic: build-processRelated to the sketch build process topic: codeRelated to content of the project itself type: imperfectionPerceived defect in any part of project

Type

No type

Projects

No projects

Milestone

No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      AltStyle によって変換されたページ (->オリジナル) /