From 601e07b63653d0fed91594ebba261b733d017653 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 5 May 2020 08:29:45 -0400 Subject: rc: clean up parser levels, disallow free carats on lists --- src/cmd/rc/checkparse | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/cmd/rc/checkparse') diff --git a/src/cmd/rc/checkparse b/src/cmd/rc/checkparse index 1ff84667..0a1472b2 100755 --- a/src/cmd/rc/checkparse +++ b/src/cmd/rc/checkparse @@ -1,16 +1,23 @@ #!/bin/bash +aflag=false +if [ "$1" = -a ]; then + aflag=true + shift +fi + files="$@" if [ $# = 0 ]; then files=$(echo ./test.rc; grep -l '^#!/usr/local/plan9/bin/rc' /usr/local/plan9/bin/{*,*/*} 2>/dev/null; - grep -l '^#!/bin/rc' $HOME/pub/plan9/rc/bin/{*,*/*} 2>/dev/null) + grep -R -l '^#!/bin/rc' $HOME/pub/plan9 | egrep -v 'plan9/(lib/(oui|pci)|sys/man|sys/lib/man|sys/lib/scsicodes)' 2>/dev/null) fi for i in $files do if ! diff <(./o.rc -DY $i 2>&1) <(./o.rc -D $i 2>&1); then - echo '#' $i - exit 1 + echo '^^^' $i + ! $aflag && exit 1 fi done + -- cgit v1.2.3