Bug 484348 - Error parsing $(...)
Error parsing $(...)
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: zsh (Show other bugs)
All Linux
medium Severity medium
: rc
: ---
Assigned To: James Antill
James Antill
Depends On:
  Show dependency treegraph
Reported: 2009-02-06 06:25 EST by Tomas Smetana
Modified: 2013-04-12 16:04 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 496791 (view as bug list)
Last Closed: 2009-05-06 11:31:42 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Proposed patch (386 bytes, patch)
2009-02-06 06:31 EST, Tomas Smetana
no flags Details | Diff
Improved patch (783 bytes, patch)
2009-02-27 04:34 EST, Tomas Smetana
no flags Details | Diff
Even more improved patch... (802 bytes, patch)
2009-03-02 06:09 EST, Tomas Smetana
no flags Details | Diff

  None (edit)
Description Tomas Smetana 2009-02-06 06:25:20 EST
Description of problem:
Consider the following script:

# Comment containing '
echo a
# Comment containing '
echo $VAR

The script is syntactically correct but zsh throws an error executing it.

Version-Release number of selected component (if applicable):
zsh-4.2.6-2 (reproduced also with Fedora's  zsh-4.3.6-5 version)

How reproducible:

Steps to Reproduce:
1. run the script above
Actual results:
parse error near `VAR=$('

Expected results:

Additional info:
ksh and bash are able to run the script without error.  No error appears when the $(...) command substitution is replaced with `...`.  I think there's a bug in parsing the content in the round brackets: the '\'' character is treated as special even when it appears in a comment.
Comment 1 Tomas Smetana 2009-02-06 06:31:22 EST
Created attachment 331118 [details]
Proposed patch

Change in the (...) parsing function: if the '#' is found, all the characters until the newline lose their special meaning.
Comment 7 Tomas Smetana 2009-02-26 04:01:02 EST
Patch has been sent upstream: http://www.zsh.org/mla/workers/2009/msg00396.html
Comment 8 Tomas Smetana 2009-02-27 04:34:21 EST
Created attachment 333448 [details]
Improved patch

The previous patch didn't really care about the context of the '#' character which might have caused problems in cases where it was not meant as beginning of a comment.

I'm attaching the version that was committed upstream: http://zsh.cvs.sourceforge.net/viewvc/zsh/zsh/Src/lex.c?r1=1.49&r2=1.50
Comment 11 Tomas Smetana 2009-03-02 06:09:41 EST
Created attachment 333724 [details]
Even more improved patch...

There was still a small problem with the latest patch:  http://www.zsh.org/mla/workers/2009/msg00408.html. (upstream lex.c: http://zsh.cvs.sourceforge.net/viewvc/zsh/zsh/Src/lex.c?revision=1.51&view=markup#l_1799)
Comment 16 errata-xmlrpc 2009-05-06 11:31:42 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.