--- /dev/null
+#!/bin/sh
+
+# (a script to be run in the root directory of the distribution)
+#
+# Convert tabs to spaces and delete trailing whitespace in files
+# which we can safely assume to be source files in appropriate languages.
+
+tools-for-build/whitespacely-canonical-filenames \
+ | xargs tools-for-build/canonicalize-whitespace-1
--- /dev/null
+#!/bin/sh
+
+# in-place "canonicalize-whitespace" conversion for files in $*:
+# * Convert tabs to spaces.
+# * Delete trailing whitespace.
+# (on $*, in place, overwriting the old file)
+
+scratchfilename=/tmp/canonicalize-whitespace-1.$$.tmp
+
+echo '/in canonicalize-whitespace-1'
+echo '/$*'=$*
+echo '/$scratchfilename='$scratchfilename
+
+for f in $*; do
+
+ echo '/$f'=$f
+
+ # We reuse the "expand" GNU utility to remove tabs, but if it turns out
+ # not to be available everywhere (or someone has defined "expand" to
+ # mean something else on some other class of system!) we could probably
+ # hand-code a replacement in a few lines.
+ expand $f > $scratchfilename
+
+ sed 's/[ ]*$//' < $scratchfilename > $f
+
+done
+
+rm $scratchfilename
--- /dev/null
+#!/bin/sh
+
+# Look for violations of whitespace canonicalization. On the first
+# one found, print the line (mostly to help humans) and exit with
+# nonzero (mostly to help scripts).
+
--- /dev/null
+#!/bin/sh
+
+# Look for violations of whitespace canonicalization, handling them as
+# greppish matches:
+# * Print human-readable description of each one.
+# * Exit with 0 if >=1 found, or exit with 0 if none found.
+
+tools-for-build/whitespacely-canonical-filenames | \
+ xargs egrep --with-filename ' | $'
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+
+# (a script to be run in the root directory of the distribution,
+# probably as part of an enclosing do-something-with-whitespace script)
+#
+# Print to stdout the names of files whose whitespace we (SBCLers)
+# try to keep canonical.
+
+# glob patterns for source files in languages for which the
+# canonicalization is safe (not affecting meaning, at least given the
+# conservative syntax used in SBCL sources)
+source_extensions='.lisp .lisp-expr .c .h'
+# other candidates:
+# .sh
+# ?
+
+for source_extension in $source_extensions; do
+ find . -name '*'$source_extension -print
+done
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.2.39"
+"0.9.2.40"