Skip to content

Commit

Permalink
make: check and suppress warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
akinomyoga committed Jul 16, 2019
1 parent edaf495 commit 63d21c2
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 13 deletions.
2 changes: 1 addition & 1 deletion generate-release-note.sh
Expand Up @@ -5,7 +5,7 @@ function process {
## この配列は after:before の形式の要素を持つ。
## 但し after は前の version から release までに加えられた変更の commit である。
## そして before は after に対応する master における commit である。
local -a commits=("$@")
local -a commits; commits=("$@")

for commit_pair in "${commits[@]}"; do
local b=${commit_pair#*:}
Expand Down
14 changes: 9 additions & 5 deletions make_command.sh
Expand Up @@ -81,7 +81,7 @@ function ble/array#push {
}

function sub:check/list-command {
local -a options=(--color --exclude=./{test,memo,ext} --exclude=\*.{md,awk})
local -a options=(--color --exclude=./{test,memo,ext,wiki} --exclude=\*.{md,awk})

# read arguments
local flag_exclude_this= flag_error=
Expand Down Expand Up @@ -116,10 +116,11 @@ function sub:check/list-command {
function sub:check/builtin {
echo "--- $FUNCNAME $1 ---"
local command=$1 esc='(\[[ -?]*[@-~])*'
sub:check/list-command --exclude-this "$command" "${@:2}" |
sub:check/list-command --exclude-this --exclude=generate-release-note.sh "$command" "${@:2}" |
grep -Ev "$rex_grep_head([[:space:]]*|[[:alnum:][:space:]]*[[:space:]])#|(\b|$esc)(builtin|function)$esc([[:space:]]$esc)+$command(\b|$esc)" |
grep -Ev "$command(\b|$esc)=" |
grep -Ev "ble\.sh $esc\($esc$command$esc\)$esc"
grep -Ev "ble\.sh $esc\($esc$command$esc\)$esc" |
sed -E 'h;s/'"$esc"'//g;\Z(\.awk|push|load|==) \b'"$command"'\bZd;g'
}

function sub:check/a.txt {
Expand Down Expand Up @@ -222,14 +223,17 @@ function sub:check {
sub:check/builtin 'bind'
sub:check/builtin 'read'
sub:check/builtin 'exit' |
sed -E 'h;s/'"$esc"'//g;s/^[^:]*:[0-9]+:[[:space:]]*//;\Z^[-[:space:][:alnum:]_./:=$#*]+('\''[^'\'']*|"[^"()`]*|([[:space:]]|^)#.*)\bexit\bZd;g'
sed -E 'h;s/'"$esc"'//g;s/^[^:]*:[0-9]+:[[:space:]]*//
\Z^[-[:space:][:alnum:]_./:=$#*]+('\''[^'\'']*|"[^"()`]*|([[:space:]]|^)#.*)\bexit\bZd
\Z\(exit\) ;;Zd;\Zprint NR; exit;Zd;g'
#sub:check/assign

sub:check/a.txt
sub:check/bash300bug
sub:check/bash301bug-array-element-length
sub:check/array-count-in-arithmetic-expression
sub:check/unset-variable | grep -Ev "unset$esc ${esc}_ble_init_"
sub:check/unset-variable |
grep -Ev "unset$esc ${esc}_ble_init_|\bbuiltins1\b"

sub:check/memo-numbering
}
Expand Down
11 changes: 10 additions & 1 deletion memo.txt
Expand Up @@ -888,14 +888,23 @@ bash_tips

2019-07-16

* complete: パス名展開の関わる補完に関して
* complete: パス名展開で複数語に展開される場合の補完に関して
現在の実装ではパス名展開が起こったとしても展開された最初のファイル名を使って補完を実行する。
然し、実際には展開された各パス名について補完を実施しても良いのではないだろうか。うーん。

更に failglob の場合には続きを入力したら一致したかもしれなくても常に展開に失敗してしまう。
というか現状でそもそも failglob だった時にそれを検出しているのかどうかすら怪しい。
確認する必要があるのである。

既に COMPV には複数の値が入る仕組みになっていた。
それならばと COMPV に入っている値の数だけ source を呼び出せば良いのかと考えたが、
実際に試してみると全く同じ候補が何度も生成されるだけに終わってしまった。
よく考えたら progcomp では独自に展開を行っていたのではあるまいか。
調べてみたらやはりそうである…。これに対応するのは面倒である。

或いは複数語に展開される場合には先ず始めにその内のどれか一つに絞らせるという可能性もある?
然しそれはそれで不便な気もする。

2019-07-09

* history.mlfix: bash-3.0 で実現する方法?
Expand Down
5 changes: 3 additions & 2 deletions src/decode.sh
Expand Up @@ -2744,9 +2744,10 @@ function ble/builtin/bind/option:m {
function ble/builtin/bind/.decompose-pair {
local ret; ble/string#trim "$1"
local spec=$ret ifs=$' \t\n' q=\' Q="'\''"

keyseq= value=
[[ ! $spec || $spec == 'set'["$ifs"]* ]] && return 3 # bind ''

# bind '' と指定した時は無視する
[[ ! $spec || $spec == 'set'["$ifs"]* ]] && return 3

# split keyseq / value
local rex='^(("([^\"]|\\.)*"|[^":'$ifs'])*("([^\"]|\\.)*)?)['$ifs']*(:['$ifs']*)?'
Expand Down
8 changes: 4 additions & 4 deletions src/history.sh
Expand Up @@ -466,7 +466,7 @@ if ((_ble_bash>=30100)); then
if ((modification_count)); then
ble/bin/mv -f "$TMPBASE.part" "$TMPBASE.sh"
else
echo : >| "$TMPBASE.sh"
ble/bin/echo : >| "$TMPBASE.sh"
fi
}
function ble/history/resolve-multiline/.load {
Expand Down Expand Up @@ -1147,7 +1147,7 @@ function ble/builtin/history {
(p) opt_p=1 ;;
(d)
if ((!$#)); then
echo 'ble/builtin/history: missing option argument for "-d".' >&2
ble/bin/echo 'ble/builtin/history: missing option argument for "-d".' >&2
flag_error=1
elif ((i+1<n)); then
opt_d=${arg:i+1}; i=$n
Expand All @@ -1156,7 +1156,7 @@ function ble/builtin/history {
fi ;;
([anwr])
if [[ $opt_a && $c != $opt_a ]]; then
echo 'ble/builtin/history: cannot use more than one of "-anrw".' >&2
ble/bin/echo 'ble/builtin/history: cannot use more than one of "-anrw".' >&2
flag_error=1
elif ((i+1<n)); then
opt_a=$c
Expand All @@ -1165,7 +1165,7 @@ function ble/builtin/history {
opt_a=$c
fi ;;
(*)
echo 'ble/builtin/history: unknown option "-$c".' >&2
ble/bin/echo 'ble/builtin/history: unknown option "-$c".' >&2
flag_error=1 ;;
esac
done
Expand Down

0 comments on commit 63d21c2

Please sign in to comment.