GNU bug report logs -
#46093
Shell-script mode formatting error eats half the page
Previous Next
Full log
Message #8 received at 46093 <at> debbugs.gnu.org (full text, mbox):
積丹尼 Dan Jacobson <jidanni <at> jidanni.org> writes:
> Here we observe lines severely shoved over due to Shell-script mode not
> recognizing the statement has terminated. emacs-version "27.1".
>
> $ cat x.sh
> set /home/$j/.adobe /home/$j/.macromedia && for i do if test -d $i; then rm -vr $i; fi; done
> echo these lines are now indented wrongly
> echo these lines are now indented wrongly for the rest of the file.
> echo There is no recovery.
Here's a simpler reproducer:
for i do; if test -d $i; then rm -vr $i; fi; done
echo these lines are now indented wrongly
echo these lines are now indented wrongly for the rest of the file.
echo There is no recovery.
This indents correctly, though:
for i; do if test -d $i; then rm -vr $i; fi; done
echo these lines are now indented wrongly
echo these lines are now indented wrongly for the rest of the file.
echo There is no recovery.
(I moved the semicolon to before the "do", not after. Which is
apparently the correct syntax according to
https://www.gnu.org/software/bash/manual/bash.html#Compound-Commands
for
The syntax of the for command is:
for name [ [in [words …] ] ; ] do commands; done
So Emacs seems to do the correct thing here; closing.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 1 year and 221 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.