Re: [PATCH] devel: two scripts for checking proposed changes

Subject: Re: [PATCH] devel: two scripts for checking proposed changes

Date: Mon, 28 Jun 2021 17:19:20 +0300

To: David Bremner, notmuch@notmuchmail.org

Cc: David Bremner

From: Tomi Ollila


On Mon, Jun 28 2021, David Bremner wrote:

> It took me a bit of effort to get the correct oneliner to reindent
> elisp from the command line, so I saved the results as
> 'reindent-elisp'.
>
> 'check-notmuch-commit' is an updated version of a script I have been
> using (although not always as consistently as I should) before sending
> patches to the list.
>
> Although it requires a bit more tooling, encouraging people to use
> check-notmuch-commit might reduce the number of round trips to the
> list for style nitpicks.
> ---
>  devel/check-notmuch-commit | 20 ++++++++++++++++++++
>  devel/reindent-elisp       |  8 ++++++++
>  2 files changed, 28 insertions(+)
>  create mode 100755 devel/check-notmuch-commit
>  create mode 100755 devel/reindent-elisp
>
> diff --git a/devel/check-notmuch-commit b/devel/check-notmuch-commit
> new file mode 100755
> index 00000000..98a19a64
> --- /dev/null
> +++ b/devel/check-notmuch-commit
> @@ -0,0 +1,20 @@
> +#!/bin/sh
> +
> +# Usage suggestion:
> +#   git rebase -i --exec devel/check-notmuch-commit origin/master
> +
> +set -e
> +make test

This may fail miserably (or is painfully slow (doing configure and make...)

> +for file in $(git diff --name-only HEAD^); do

is this also mentioning deleted files... ? (--diff-filter=AM) ?

> +    case $file in
> +	*.c|*.h|*.cc|*.hh)
> +            uncrustify --replace -c $(dirname "$0")/uncrustify.cfg "$file"

dirname "$0" could be resolved once before loop.

> +	    ;;
> +	*.el)
> +            $(dirname "$0")/reindent-elisp "$file"
> +	    ;;
> +    esac
> +done
> +
> +git diff --quiet
> +
> diff --git a/devel/reindent-elisp b/devel/reindent-elisp
> new file mode 100755
> index 00000000..f6ce3844
> --- /dev/null
> +++ b/devel/reindent-elisp
> @@ -0,0 +1,8 @@
> +#!/bin/sh
> +
> +if [ $# -lt 1 ]; then

if [ $# -ne 1 ] ... (see at the end)

> +    printf "usage: $0 <path.el>\n"

Angle brackets are bad in example -- if copy-pasted to terminal (and badly
edited) does redirections...

> +    exit 1
> +fi
> +
> +emacs -Q --batch $1 --eval '(indent-region (point-min) (point-max) nil)'
> -f save-buffer

... as here is $1 -- which should be quoted as "$1"

> -- 
> 2.30.2
_______________________________________________
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-leave@notmuchmail.org

Thread: