Mercurial > emacs
view lib-src/test-distrib.c @ 103406:2a3d145eef1e
Remove the term "on-line" (meaning "Info") throughout, since
in this day and age the common meaning is "on the web".
(copying): Use @copyright in all cases.
(Basic keys): Remove reference to deleted manual node "Text Characters".
(File-name conventions): Use GNU as an example rather than SERVICE.
default.el lives in site-lisp. Update Info directory location.
(Real meaning of copyleft): GPL actions have been brought, but all
settled out of court.
(Guidelines for newsgroup postings): Shorten section title.
Simplify comp.emacs description.
(Newsgroup archives): Change Google URL. Describe Gmane.
(Unsubscribing from Emacs lists): Remove discussion of "distribution
points". Mention List-Unsubscribe header.
(Contacting the FSF): Update email and URLs.
(Basic editing): Mention F1 for help.
(Installing Texinfo documentation): Refer to Texinfo website rather
than ftp server.
(Printing a Texinfo file): Mention texi2pdf.
(Informational files for Emacs): Don't describe FTP or SERVICE, they
are just stubs nowadays.
(Latest version of Emacs): Explain version numbers.
(Spell-checkers, Checking TeX and *roff documents): Remove sections.
(Turning on syntax highlighting): No need to mention hilit19 any more.
(Finding Emacs on the Internet): Refer to URLs rather than DISTRIB, FTP.
(Modes for various languages): Remove section.
(Major packages and programs): Remove most version and maintainer
information - it's hard to keep up-to-date, and adds nothing.
Similarly with direct links to mailing lists.
(Spell-checkers): Rename node from Ispell. Mention Aspell and Hunspell.
(Mailcrypt): Remove section - mailcrypt has not been updated in mnay
years, and Emacs comes with tools for this now.
(Patch): Remove section - this is a standard tool.
(Using function keys under X): Remove section.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 13 Jun 2009 02:21:29 +0000 |
parents | a9f7e446141d |
children | 1d1d5d9bd884 |
line wrap: on
line source
/* test-distrib.c --- testing distribution of nonprinting chars Copyright (C) 1987, 1993, 1994, 1995, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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/>. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <stdio.h> #ifdef HAVE_FCNTL_H #include <fcntl.h> #endif #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #ifndef O_RDONLY #define O_RDONLY 0 #endif /* Break string in two parts to avoid buggy C compilers that ignore characters after nulls in strings. */ char string1[] = "Testing distribution of nonprinting chars:\n\ Should be 0177: \177 Should be 0377: \377 Should be 0212: \212.\n\ Should be 0000: "; char string2[] = ".\n\ This file is read by the `test-distribution' program.\n\ If you change it, you will make that program fail.\n"; char buf[300]; /* Like `read' but keeps trying until it gets SIZE bytes or reaches eof. */ int cool_read (fd, buf, size) int fd; char *buf; int size; { int num, 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 (argc, argv) int argc; char **argv; { int fd; 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; } /* arch-tag: 3a89005d-df98-4c32-aa9f-33570e16a26a (do not change this comment) */ /* test-distrib.c ends here */