Remove lib-src/test-distrib.c and related
authorGlenn Morris <rgm@gnu.org>
Sat, 22 Mar 2014 22:52:47 +0000 (15:52 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 22 Mar 2014 22:52:47 +0000 (15:52 -0700)
The class of problems that this was designed to detect, namely .elc
files getting corrupted by being passed around by email via uuencode
or somesuch, has not been a relevant concern for many years.

* lib-src/test-distrib.c, lib-src/testfile: Remove.

* lib-src/Makefile.in (DONT_INSTALL): Remove test-distrib.
(test-distrib${EXEEXT}): Remove rule.

* make-dist: Do not distribute lib-src/testfile.

* admin/quick-install-emacs (AVOID): Remove testfile and test-distrib.

* INSTALL, etc/PROBLEMS, admin/notes/unicode:
Remove references to test-distrib and testfile.

ChangeLog
INSTALL
admin/ChangeLog
admin/notes/unicode
admin/quick-install-emacs
etc/PROBLEMS
lib-src/ChangeLog
lib-src/Makefile.in
lib-src/test-distrib.c [deleted file]
lib-src/testfile [deleted file]
make-dist

index db7048a..f7917d6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-03-22  Glenn Morris  <rgm@gnu.org>
+
+       * make-dist: Do not distribute lib-src/testfile.
+
 2014-03-21  Eli Zaretskii  <eliz@gnu.org>
 
        * configure.ac: Bump version to 24.4.50.
diff --git a/INSTALL b/INSTALL
index ea0331d..e35d036 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -726,8 +726,8 @@ Strictly speaking, not all of the executables in `./lib-src' need be copied.
     are used by Emacs; they do need to be copied.
 - The programs `etags', `ctags', and `emacsclient' are intended to be
     run by users; they are handled below.
-- The programs `make-docfile' and `test-distrib' were
-    used in building Emacs, and are not needed any more.
+- The program `make-docfile' was used in building Emacs, and is
+    not needed any more.
 
 2) Copy the files in `./info' to the place specified in
 `./lisp/site-init.el' or `./lisp/info.el'.  Note that if the
index 755de78..af0a15b 100644 (file)
@@ -1,3 +1,7 @@
+2014-03-22  Glenn Morris  <rgm@gnu.org>
+
+       * quick-install-emacs (AVOID): Remove testfile and test-distrib.
+
 2014-03-21  Glenn Morris  <rgm@gnu.org>
 
        * update_autogen: Auto-detect VCS in use.
index 6545806..841b7eb 100644 (file)
@@ -181,13 +181,6 @@ nontrivial changes to the build process.
 
        admin/charsets/mapfiles/cns2ucsdkw.txt
 
- * no-conversion
-
-     This file purposely contains arbitrary bytes interspersed within text,
-     to test whether the Emacs distribution is corrupted.
-
-       lib-src/testfile
-
  * iso-2022-7bit
 
      This file switches between CJK charsets, which is not encoded in UTF-8.
index f29d1cb..5edc8d4 100755 (executable)
@@ -30,7 +30,7 @@
 PUBLIC_LIBSRC_BINARIES='emacsclient etags ctags ebrowse'
 PUBLIC_LIBSRC_SCRIPTS='grep-changelog'
 
-AVOID="CVS -DIC README COPYING ChangeLog ~ [.]orig$ [.]rej$ Makefile$ Makefile.in$ makefile$ makefile.w32-in$ stamp-subdir [.]cvsignore [.]arch-ids [{]arch[}] [.][cho]$ make-docfile testfile test-distrib"
+AVOID="CVS -DIC README COPYING ChangeLog ~ [.]orig$ [.]rej$ Makefile$ Makefile.in$ makefile$ makefile.w32-in$ stamp-subdir [.]cvsignore [.]arch-ids [{]arch[}] [.][cho]$ make-docfile"
 
 # Prune old binaries lying around in the source tree
 PRUNE=no
index 332f28d..ba95586 100644 (file)
@@ -2504,22 +2504,6 @@ or
 
 (The -R option disables address space randomization.)
 
-*** test-distrib says that the distribution has been clobbered.
-*** or, temacs prints "Command key out of range 0-127".
-*** or, temacs runs and dumps emacs, but emacs totally fails to work.
-*** or, temacs gets errors dumping emacs.
-
-This can be because the .elc files have been garbled.  Do not be
-fooled by the fact that most of a .elc file is text: these are
-binary files and can contain all 256 byte values.
-
-If you have a copy of Emacs whose .elc files have been damaged in this
-way, you should be able to fix it by using:
-
- make bootstrap
-
-to regenerate all the .elc files.
-
 *** temacs prints "Pure Lisp storage exhausted".
 
 This means that the Lisp code loaded from the .elc and .el files
index 7e7f6bf..c55a655 100644 (file)
@@ -1,3 +1,10 @@
+2014-03-22  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (DONT_INSTALL): Remove test-distrib.
+       (test-distrib${EXEEXT}): Remove rule.
+
+       * test-distrib.c, testfile: Remove.
+
 2014-03-10  Juanma Barranquero  <lekktu@gmail.com>
 
        * emacsclient.c (main): #ifdef out previous change on Windows.
index 56cdc09..aacc5c4 100644 (file)
@@ -128,7 +128,7 @@ INSTALLABLE_SCRIPTS = grep-changelog
 UTILITIES = profile${EXEEXT} movemail${EXEEXT} hexl${EXEEXT} \
             update-game-score${EXEEXT}
 
-DONT_INSTALL= test-distrib${EXEEXT} make-docfile${EXEEXT}
+DONT_INSTALL= make-docfile${EXEEXT}
 
 # Like UTILITIES, but they're not system-dependent, and should not be
 #  deleted by the distclean target.
@@ -303,14 +303,6 @@ tags: TAGS
 TAGS: etags${EXEEXT}
        etags *.[ch]
 
-## This verifies that the non-ASCII characters in the file \`testfile\'
-## have not been clobbered by whatever means were used to copy and
-## distribute Emacs.  If they were clobbered, all the .elc files were
-## clobbered too.
-test-distrib${EXEEXT}: ${srcdir}/test-distrib.c
-       $(CC) ${ALL_CFLAGS} -o test-distrib${EXEEXT} ${srcdir}/test-distrib.c
-       ./test-distrib ${srcdir}/testfile
-
 ../lib/libgnu.a: $(config_h)
        cd ../lib && $(MAKE) libgnu.a
 
diff --git a/lib-src/test-distrib.c b/lib-src/test-distrib.c
deleted file mode 100644 (file)
index 88b95db..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/* test-distrib.c --- testing distribution of nonprinting chars
-
-Copyright (C) 1987, 1993-1995, 1999, 2001-2014 Free Software Foundation,
-Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
-
-
-#include <config.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-/* Break string in two parts to avoid buggy C compilers that ignore characters
-   after nulls in strings.  */
-
-static char string1[] = "Testing distribution of nonprinting chars:\n\
-Should be 0177: \177 Should be 0377: \377 Should be 0212: \212.\n\
-Should be 0000: ";
-
-static char string2[] = ".\n\
-This file is read by the `test-distribution' program.\n\
-If you change it, you will make that program fail.\n";
-
-/* Like `read' but keeps trying until it gets SIZE bytes or reaches eof.  */
-static int
-cool_read (int fd, char *buf, size_t size)
-{
-  ssize_t num;
-  ssize_t sofar = 0;
-
-  while (1)
-    {
-      if ((num = read (fd, buf + sofar, size - sofar)) == 0)
-       return sofar;
-      else if (num < 0)
-       return num;
-      sofar += num;
-    }
-}
-
-int
-main (int argc, char **argv)
-{
-  int fd;
-  char buf[300];
-
-  if (argc != 2)
-    {
-      fprintf (stderr, "Usage: %s testfile\n", argv[0]);
-      exit (EXIT_FAILURE);
-    }
-  fd = open (argv[1], O_RDONLY);
-  if (fd < 0)
-    {
-      perror (argv[1]);
-      exit (EXIT_FAILURE);
-    }
-  if (cool_read (fd, buf, sizeof string1) != sizeof string1 ||
-      strcmp (buf, string1) ||
-      cool_read (fd, buf, sizeof string2) != sizeof string2 - 1 ||
-      strncmp (buf, string2, sizeof string2 - 1))
-    {
-      fprintf (stderr, "Data in file `%s' has been damaged.\n\
-Most likely this means that many nonprinting characters\n\
-have been corrupted in the files of Emacs, and it will not work.\n",
-              argv[1]);
-      exit (EXIT_FAILURE);
-    }
-  close (fd);
-  return EXIT_SUCCESS;
-}
-
-
-/* test-distrib.c ends here */
diff --git a/lib-src/testfile b/lib-src/testfile
deleted file mode 100644 (file)
index 8230c35..0000000
Binary files a/lib-src/testfile and /dev/null differ
index acf0e0b..cabce32 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -383,7 +383,7 @@ echo "Making links to \`lib'"
 echo "Making links to \`lib-src'"
 (cd lib-src
  ln [a-zA-Z]*.[ch] ../${tempdir}/lib-src
- ln ChangeLog Makefile.in README testfile ../${tempdir}/lib-src
+ ln ChangeLog Makefile.in README ../${tempdir}/lib-src
  ln grep-changelog rcs2log ../${tempdir}/lib-src
  ln makefile.w32-in ../${tempdir}/lib-src)