From: Glenn Morris Date: Sat, 22 Mar 2014 22:52:47 +0000 (-0700) Subject: Remove lib-src/test-distrib.c and related X-Git-Tag: emacs-25.0.90~2640^2~344^2~15 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/7cd431112c589aa20289a8c94544ccf5d3c688d5 Remove lib-src/test-distrib.c and related 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. --- diff --git a/ChangeLog b/ChangeLog index db7048a2a8..f7917d6bec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-03-22 Glenn Morris + + * make-dist: Do not distribute lib-src/testfile. + 2014-03-21 Eli Zaretskii * configure.ac: Bump version to 24.4.50. diff --git a/INSTALL b/INSTALL index ea0331da62..e35d036809 100644 --- 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 diff --git a/admin/ChangeLog b/admin/ChangeLog index 755de78a2e..af0a15b8d3 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2014-03-22 Glenn Morris + + * quick-install-emacs (AVOID): Remove testfile and test-distrib. + 2014-03-21 Glenn Morris * update_autogen: Auto-detect VCS in use. diff --git a/admin/notes/unicode b/admin/notes/unicode index 654580639f..841b7ebd5e 100644 --- a/admin/notes/unicode +++ b/admin/notes/unicode @@ -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. diff --git a/admin/quick-install-emacs b/admin/quick-install-emacs index f29d1cb377..5edc8d4d9a 100755 --- a/admin/quick-install-emacs +++ b/admin/quick-install-emacs @@ -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 diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 332f28dd93..ba95586c43 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -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 diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 7e7f6bf377..c55a6553bb 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,10 @@ +2014-03-22 Glenn Morris + + * Makefile.in (DONT_INSTALL): Remove test-distrib. + (test-distrib${EXEEXT}): Remove rule. + + * test-distrib.c, testfile: Remove. + 2014-03-10 Juanma Barranquero * emacsclient.c (main): #ifdef out previous change on Windows. diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index 56cdc09e0f..aacc5c4241 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in @@ -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 index 88b95db906..0000000000 --- a/lib-src/test-distrib.c +++ /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 . */ - - -#include -#include -#include -#include - -/* 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 index 8230c35f40..0000000000 Binary files a/lib-src/testfile and /dev/null differ diff --git a/make-dist b/make-dist index acf0e0b5e6..cabce329f0 100755 --- 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)