Hello Tassilo,
[...] > > Bye, > Tassilo > > BTW: Your patches contained some minor problems in that they introduced > trailing whitespaces and spaces before tabs in indented code. New > versions of Git emit warnings for that that and it was easy to fix them > after applying your patches. But still, it's a good idea to do M-x > whitespace-cleanup-region on the regions that you've modified before > creating a patch. Not sure whether the attached bash script may be useful to other people, I have written it to detect suspicious blanks on all files that come into a patch, so that if some day I submit some other patch, the same problem will not occur. ----------------------------------------------------------------------- Usage: vcdiff > my_patch.diff ----------------------------------------------------------------------- stdout of git diff will go into my_patch.diff, but prior to that any suspicious blanks is warned for on the stderr. Vincent. PS: I have noticed that there are files, e.g. latex.el with many problems like leading eight blanks. Surely this is the reason for your suggesting whitespace-cleanup-region on change region instead of whitespace-cleanup (on all buffer, ie w/o transient mark mode on changed region).
#!/bin/sh # detect VC engine in use if [ -d .git ]; then vcengine=git elif [ -d .svn ]; then vcengine=svn else echo "Can't detect vcengine" exit -1 fi # sanity check if $vcengine --version > /dev/null; then true; # dummy else echo "Can't find $vcengine program!" exit -2 fi files=$($vcengine status | awk '$2 == "modified:" { print $3}') suspicious_files='' awkscript=$(mktemp /temp/tmp.awkscript.XXXXXX) # Note that in the script I set RS to be tolerant to Windows file format. This is because I may be handling # Windows text files (ended in CRLF) in a *nixy (e.g. MSYS) environment cat > $awkscript <<EOF BEGIN { r=-1; line=0; STDERR="/dev/stderr"; body=0; empty = 0; RS="\r?\n|\r"} {++line} /^[ ]*\$/ { if(body ==0) {r=0; print FILENAME ":line " line ": Leading blank line" > STDERR} empty = 1} /[^ ]/ { body = 1; empty = 0} /^ {8,}/ { r=0; print FILENAME ":line " line ": 8 or more spaces at the beginning of a line" > STDERR } /^ + / { r=0; print FILENAME ":line " line ": Space(s) followed by a TAB at the beginning of a line" > STDERR } /[^ ][ ]+\$/ { r=0; print FILENAME ":line " line ": Trailing blanks" > STDERR } END { if(empty == 1){r=0; print FILENAME ":line " line ": Trailing blank line" > STDERR} exit(r)} EOF # echo "AWKSCRIPT>" # cat $awkscript # echo "<AWKSCRIPT" for w in $files; do if awk --re-interval -f $awkscript -- $w; then suspicious_files="$w $suspicious_files" fi done echo "Files with suspicious white space $suspicious_files" > /dev/stderr rm -f $awkscript $vcengine diff # Local Variables: # mode: sh # End:
_______________________________________________ auctex mailing list auctex@gnu.org https://lists.gnu.org/mailman/listinfo/auctex