[review,gdb/contrib] Add -c option to words.sh script
Commit Message
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/654
......................................................................
[gdb/contrib] Add -c option to words.sh script
The words.sh script in its current form extracts c comments from files, which
it then transforms into a list of words.
To use the script on the documentation (as I did for commit 6b92c0d3533
"[gdb/doc] Fix typos"), I needed to disable the "extract c comments" part.
Add an option -c that enables extracting c comments, and is off by default.
gdb/ChangeLog:
2019-11-15 Tom de Vries <tdevries@suse.de>
* contrib/words.sh: Add -c option.
Change-Id: Ifa34d435b3c41b3ff845dc07ae4b0d9f02d92a2d
---
M gdb/contrib/words.sh
1 file changed, 16 insertions(+), 5 deletions(-)
Comments
Kevin Buettner has posted comments on this change.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/654
......................................................................
Patch Set 1: Code-Review-1
Two concerns...
1) The current behavior, IIUC, is that comments are extracted. Your patch changes the default behavior to extract all words. This may come as a surprise to anyone with existing scripts which use words.sh. It might make more sense to add some other switch (perhaps -a for "all") which keeps the present default behavior intact. It's not really that important to me that this be changed, but I thought I'd mention it.
2) I'd like to see a line or two documenting the new switch in the blurb at the beginning of the file.
Tom de Vries has posted comments on this change.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/654
......................................................................
Patch Set 2:
> Patch Set 1: Code-Review-1
>
> Two concerns...
>
> 1) The current behavior, IIUC, is that comments are extracted. Your patch changes the default behavior to extract all words. This may come as a surprise to anyone with existing scripts which use words.sh. It might make more sense to add some other switch (perhaps -a for "all") which keeps the present default behavior intact. It's not really that important to me that this be changed, but I thought I'd mention it.
>
Agreed, we shouldn't change default behaviour without thinking through the consequences for others, but given that this is a very recently added script as well as that there's most likely exactly one user (me!), I think we can allow ourselves this change.
> 2) I'd like to see a line or two documenting the new switch in the blurb at the beginning of the file.
I've improved docs of '-c' in the blurb.
Kevin Buettner has posted comments on this change.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/654
......................................................................
Patch Set 2: Code-Review+2
@@ -24,7 +24,8 @@
#
# For:
# ...
-# $ ./gdb/contrib/words.sh $(find gdb -type f -name "*.c" -o -name "*.h")
+# $ files=$(find gdb -type f -name "*.c" -o -name "*.h")
+# $ ./gdb/contrib/words.sh -c $files
# ...
# it generates a list of ~15000 words prefixed with frequency.
#
@@ -36,7 +37,8 @@
#
# And for:
# ...
-# $ ./gdb/contrib/words.sh -f 1 $(find gdb -type f -name "*.c" -o -name "*.h")
+# $ files=$(find gdb -type f -name "*.c" -o -name "*.h")
+# $ ./gdb/contrib/words.sh -c -f 1 $files
# ...
# it generates a list of ~5000 words with frequency 1.
#
@@ -45,8 +47,13 @@
minfreq=
maxfreq=
+c=false
while [ $# -gt 0 ]; do
case "$1" in
+ -c)
+ c=true
+ shift
+ ;;
--freq|-f)
minfreq=$2
maxfreq=$2
@@ -111,9 +118,13 @@
# Stabilize sort.
export LC_ALL=C
-awk \
- -f "$awkfile" \
- -- "$@" \
+if $c; then
+ awk \
+ -f "$awkfile" \
+ -- "$@"
+else
+ cat "$@"
+fi \
| sed \
-e 's/[%^$~#{}`&=@,. \t\/_()|<>\+\*-]/\n/g' \
-e 's/\[/\n/g' \