GNU bug report logs -
#26217
25.2; shell syntax does not know for i do
Previous Next
Reported by: Martin Vath <martin <at> mvath.de>
Date: Wed, 22 Mar 2017 11:37:02 UTC
Severity: minor
Tags: confirmed, patch
Merged with 2910,
21244,
30170,
46093,
48193
Found in versions 25.0.95, 25.2
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
1. M-x shell-script-mode
2. Type: "
for i do echo 1; done
for i; do echo 1; done
"
Despite both lines are correct full loops according to POSIX
and in fact understood by all current shells (see below),
this does not correspond to the indentation of emacs and
coloring of "do" in the first line.
That the first line is indeed valid by POSIX and understood
by the shells was discussed recently in the German Usegroup
de.comp.os.unix.shell (OT under "Funktion aus find aufrufen"),
but you can also check the grammer for "for_clause" in
http://pubs.opengroup.org/onlinepubs/000095399/utilities/xcu_chap02.html
noting that it is valid that "linebreak" expands to the empty
string. Another hint that this is intentional in POSIX is the
explicit mentioning of "do" in Section 2.4 of the above page
as the _third_ word in a for command.
Tested on GNU Emacs 25.2.1 and GNU Emacs 24.4.1
(Removing further build data, since the issue was reproduced
on different machines and distributions before reporting.)
This bug report was last modified 1 year and 272 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.