Bug 507463

Summary: single quotes in directory name makes project fail to launch
Product: [Applications] kdevelop Reporter: Caroline <mjferriolo>
Component: All build toolsAssignee: kdevelop-bugs-null
Status: CONFIRMED ---    
Severity: minor CC: igorkuo, kossebau, mjferriolo
Priority: NOR    
Version First Reported In: 6.2.250403   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: makefile
main c++ file

Description Caroline 2025-07-24 23:51:20 UTC
Created attachment 183501 [details]
makefile

SUMMARY
I have a directory called "test'folder" and trying to use kdev to run a project from that directory fails

STEPS TO REPRODUCE
1. create a folder called "test'folder"
2. create a makerfile project in that directory and import it to kdevelop
3. 

OBSERVED RESULT
exits with the error "*** Failed to specify program to start:  ***"

EXPECTED RESULT
program runs without issue

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Caroline 2025-07-24 23:52:25 UTC
Created attachment 183502 [details]
main c++ file

didn't mean to submit already
Comment 2 Caroline 2025-07-24 23:59:26 UTC
guess I'll fill out the info here cause I accidentally submitted this report before I finished writing

STEPS TO REPRODUCE
1. create a folder called "test'folder"
2. create a makerfile project in that directory and import it to kdevelop
3. build project
4. press execute
5. add a compiled binary to test'folder
6. select the binary compiled by build
7. apply changes
8. program fails to run

OBSERVED RESULT
exits with the error "*** Failed to specify program to start:  ***"

EXPECTED RESULT
program runs without issue

SOFTWARE/OS VERSIONS
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: Arch Linux
KDE Plasma Version: 6.4.3
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.1
Comment 3 Igor Kushnir 2025-07-25 08:11:49 UTC
KDevelop splits the executable URL into arguments. I think it does that in order to detect potential quoting or meta character issues when a final, effective command line is formed (for running, debugging or profiling the program). Running your executable fails at https://invent.kde.org/kdevelop/kdevelop/-/blob/e57ce526f7d6ef936881b3fdc1e8540b6888d29c/plugins/execute/executeplugin.cpp#L162 because of a quoting error.

I am not sure a quote in the executable path can be properly supported for all possible uses of launch configurations. If making this work is important to you, feel free to fix and create a merge request. The fix will have to be thoroughly tested in different launch scenarios.