--- Begin Message ---
Subject: |
Re: bug#17818: 24.3.91; sh-learn-buffer-indent doesn't learn current indent anymore |
Date: |
Mon, 23 Jun 2014 18:04:50 +0200 |
User-agent: |
Internet Messaging Program (IMP) H3 (4.1.5) |
On Fri, 20 Jun 2014, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> if true; do
>> echo "My sh-basic-offset offset should be 2."
>> fi
>
> The above "do" should be "then", right?
Sure, sorry. (I corrected it in my test-script, but not in the mail).
> I installed the patch below which fixes some of the problem (the first
> hunk fixes an incorrect guess and the second fixes the code so the guess
> is actually activated).
>
> Please confirm that the result is OK for your use case.
Works much better, thanks.
However, I tested[1] the new code with the following script and found
some incorrect indents (see diff below, hope the whitespace doesn't
get changed).
Bye, Reiner.
[1] M-x sh-learn-buffer-indent RET, M-x mark-whole-buffer RET, M-x
indent-region RET, M-x diff-buffer-with-file RET
#!/bin/bash
if true; then
echo "My sh-basic-offset offset should be 2."
fi
for a in 1 2; do
echo "My sh-basic-offset offset should be 2."
done
filter_1 ()
{
tr -d '"' |
awk -F\; '{ if ($7 == 0 || $7 == 1) { print $7 } ; \
print $5 "," $1 }' |
grep -v "^,"
}
filter_3 ()
{
tr -d '"`' | tr ' ' ' ' | \
awk -F\; -f filter.awk | \
grep -v "^," | sort -t, -k2,2
}
tail -q -n+2 assets-ws.csv | awk -F \; -f merge.awk \
<( cat file1.csv file2.csv ) - | \
filter_2 | $conv | \
sed -f a.sed | sort -t\; -k3,3 -k1,1 > w.csv
# end
--- shell-script-test.sh
+++ #<buffer shell-script-test.sh>
@@ -12,21 +12,21 @@
filter_1 ()
{
tr -d '"' |
- awk -F\; '{ if ($7 == 0 || $7 == 1) { print $7 } ; \
+awk -F\; '{ if ($7 == 0 || $7 == 1) { print $7 } ; \
print $5 "," $1 }' |
- grep -v "^,"
+grep -v "^,"
}
filter_3 ()
{
tr -d '"`' | tr ' ' ' ' | \
- awk -F\; -f filter.awk | \
- grep -v "^," | sort -t, -k2,2
+ awk -F\; -f filter.awk | \
+grep -v "^," | sort -t, -k2,2
}
tail -q -n+2 assets-ws.csv | awk -F \; -f merge.awk \
- <( cat file1.csv file2.csv ) - | \
- filter_2 | $conv | \
- sed -f a.sed | sort -t\; -k3,3 -k1,1 > w.csv
+ <( cat file1.csv file2.csv ) - | \
+ filter_2 | $conv | \
+ sed -f a.sed | sort -t\; -k3,3 -k1,1
> w.csv
# end
Diff finished. Mon Jun 23 17:56:00 2014
--- End Message ---