Bug 145009

Summary: Qmake manager, parse error in system call function
Product: kdevelop Reporter: Rui L. Pires <rlpires>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Rui L. Pires 2007-05-04 10:01:27 UTC
Version:           3.4.1 (using KDE 3.5.4, compiled sources)
Compiler:          Target: i586-mandriva-linux-gnu
OS:                Linux (i686) release 2.6.17-6mdv

Version: 3.4 branch, svn export of 03/May/07, 16h00.

A system call fails to be correctly parsed when the instruction to be passed to the shell contains more than just a trivial command; pipe and dot-comma are examples of items that cause the parsing to fail (qmake however executes correctly.)

Examples:

OK:
var = $$system( command )

not OK:
var = $$system( command1 | command2 )
var = $$system( command1 ; command2 )
Comment 1 Andreas Pakulat 2007-05-04 12:36:22 UTC
Are you sure thats really what you've got in your .pro file? The above works here with a bugfix I have for 144377 and 144987. I will commit that one later today to svn. I'll cc this BR so you can then retry wether it also fixed your problems with the system command.
Comment 2 Andreas Pakulat 2007-05-04 12:40:31 UTC
SVN commit 660991 by apaku:

Fix a few parser issues:
1. Correctly parse 1-character-long variable values
2. Don't choke on multiline-values that don't have whitespace at the beginning of the line
3. Allow EOF at the end of a variable assignment, instead of just newline

BUG:144377
BUG:144987
CCBUG:145009


 M  +5 -4      qmake.ll  
 M  +27 -0     qmake.yy  
 M  +124 -119  qmake_lex.cpp  
 M  +183 -142  qmake_yacc.cpp  
 M  +3 -2      qmake_yacc.hpp  
Comment 3 Rui L. Pires 2007-05-04 17:22:11 UTC
I can confirm that an svn export of 04/Apr/07, 14h00, solved this problem as well. Thanks for the patches, I'll set this as resolved.