# HG changeset patch # User Stephen J. Turnbull # Date 1261476205 -32400 # Node ID 5cca06f930ea1c44372f6ad2a66271d0e9747fad # Parent d6cfba1cc38842be89d966e150a5cfb359164635# Parent 2302bb5fa67d45ce4524e69d6b362164caab7cf4 Merge Adrian's doc commit. diff -r 2302bb5fa67d -r 5cca06f930ea ChangeLog --- a/ChangeLog Mon Dec 21 19:21:30 2009 +0100 +++ b/ChangeLog Tue Dec 22 19:03:25 2009 +0900 @@ -1,3 +1,7 @@ +2009-12-21 Jerry James + + * INSTALL: Replace reference to yow. + 2009-12-18 Jerry James * INSTALL: Remove reference to rcs-checkin. diff -r 2302bb5fa67d -r 5cca06f930ea INSTALL --- a/INSTALL Mon Dec 21 19:21:30 2009 +0100 +++ b/INSTALL Tue Dec 22 19:03:25 2009 +0900 @@ -586,7 +586,7 @@ `/usr/local/lib/xemacs/site-lisp/*'. `/usr/local/lib/xemacs-VERSION/etc' holds the XEmacs tutorial, the - `yow' database, and other architecture-independent + Unicode database, and other architecture-independent files XEmacs might need while running. VERSION is as specified for `.../lisp'. diff -r 2302bb5fa67d -r 5cca06f930ea lib-src/ChangeLog --- a/lib-src/ChangeLog Mon Dec 21 19:21:30 2009 +0100 +++ b/lib-src/ChangeLog Tue Dec 22 19:03:25 2009 +0900 @@ -1,3 +1,8 @@ +2009-12-21 Jerry James + + * Makefile.in.in: Remove rules for building yow. + * yow.c: Removed. + 2009-12-18 Jerry James * Makefile.in.in: Don't install rcs-checkin. diff -r 2302bb5fa67d -r 5cca06f930ea lib-src/Makefile.in.in --- a/lib-src/Makefile.in.in Mon Dec 21 19:21:30 2009 +0100 +++ b/lib-src/Makefile.in.in Tue Dec 22 19:03:25 2009 +0900 @@ -118,7 +118,7 @@ fakemail\ #endif profile make-docfile digest-doc\ - sorted-doc movemail cvtmail yow hexl mmencode + sorted-doc movemail cvtmail hexl mmencode GEN_SCRIPTS = rcs2log vcdiff gzip-el.sh PKG_SCRIPTS = add-big-package.sh @@ -363,9 +363,6 @@ fakemail: ${srcdir}/fakemail.c ../src/config.h $(CC) $(cflags) ${srcdir}/fakemail.c $(ldflags) -o $@ -yow: ${srcdir}/yow.c ../src/paths.h - $(CC) $(cflags) ${srcdir}/yow.c $(ldflags) -o $@ - i: ${srcdir}/i.c $(CC) $(cflags) ${srcdir}/i.c $(ldflags) -o $@ diff -r 2302bb5fa67d -r 5cca06f930ea lib-src/yow.c --- a/lib-src/yow.c Mon Dec 21 19:21:30 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,176 +0,0 @@ -/* - * yow.c - * - * Print a quotation from Zippy the Pinhead. - * Qux March 6, 1986 - * - * With dynamic memory allocation. - */ - -/* Synched up with: FSF 19.28. */ - -#include - -#include -#include -#include <../src/paths.h> /* For PATH_DATA. */ - -#if __STDC__ || defined(STDC_HEADERS) -#include -#include -#include -#include /* for time() */ -#endif - -#define BUFSIZE 80 -#define SEP '\0' - -#ifndef YOW_FILE -#define YOW_FILE "yow.lines" -#endif - -void yow (FILE *fp); -void setup_yow (FILE *fp); - -#ifdef WIN32_NATIVE -#define rootrelativepath(rel) \ -({\ - static char res[BUFSIZE], *p;\ - strcpy (res, argv[0]);\ - p = res + strlen (res);\ - while (p != res && *p != '/' && *p != '\\' && *p != ':') p--;\ - strcpy (p + 1, "../");\ - strcpy (p + 4, rel);\ - &res;}) -#endif - -int -main (int argc, char *argv[]) -{ - FILE *fp; - char file[BUFSIZ]; - - if (argc > 2 && !strcmp (argv[1], "-f")) - strcpy (file, argv[2]); - else -#ifdef PATH_DATA -#ifdef vms - sprintf (file, "%s%s", PATH_DATA, YOW_FILE); -#else - sprintf (file, "%s/%s", PATH_DATA, YOW_FILE); -#endif -#else /* !PATH_DATA */ - { - fprintf (stderr, - "%s: the location of the \"%s\" file was not supplied at compile-time.\n\ - You must supply it with the -f command-line option.\n", - argv[0], YOW_FILE); - exit (1); - } -#endif - - if ((fp = fopen(file, "r")) == NULL) { - perror(file); - exit(1); - } - - /* initialize random seed */ - srand((int) (getpid() + time((time_t *) 0))); - - setup_yow(fp); - yow(fp); - fclose(fp); - return 0; -} - -static long len = -1; -static long header_len; - -#define AVG_LEN 40 /* average length of a quotation */ - -/* Sets len and header_len */ -void -setup_yow (FILE *fp) -{ - int c; - - /* Get length of file */ - /* Because the header (stuff before the first SEP) can be very long, - * thus biasing our search in favor of the first quotation in the file, - * we explicitly skip that. */ - while ((c = getc(fp)) != SEP) { - if (c == EOF) { - fprintf(stderr, "File contains no separators.\n"); - exit(2); - } - } - header_len = ftell(fp); - if (header_len > AVG_LEN) - header_len -= AVG_LEN; /* allow the first quotation to appear */ - - if (fseek(fp, 0L, 2) == -1) { - perror("fseek 1"); - exit(1); - } - len = ftell(fp) - header_len; -} - - -/* go to a random place in the file and print the quotation there */ -void -yow (FILE *fp) -{ - long offset; - int c, i = 0; - char *buf; - int bufsize; - - offset = rand() % len + header_len; - if (fseek(fp, offset, 0) == -1) { - perror("fseek 2"); - exit(1); - } - - /* Read until SEP, read next line, print it. - (Note that we will never print anything before the first separator.) - If we hit EOF looking for the first SEP, just recurse. */ - while ((c = getc(fp)) != SEP) - if (c == EOF) { - yow(fp); - return; - } - - /* Skip leading whitespace, then read in a quotation. - If we hit EOF before we find a non-whitespace char, recurse. */ - while (isspace(c = getc(fp))) - ; - if (c == EOF) { - yow(fp); - return; - } - - bufsize = BUFSIZE; - buf = (char *) malloc(bufsize); - if (buf == (char *)0) { - fprintf(stderr, "can't allocate any memory\n"); - exit (3); - } - - buf[i++] = c; - while ((c = getc(fp)) != SEP && c != EOF) { - buf[i++] = c; - - if (i == bufsize-1) { - /* Yow! Is this quotation too long yet? */ - bufsize *= 2; - buf = (char *)realloc(buf, bufsize); - if (buf == (char *)0) { - fprintf(stderr, "can't allocate more memory\n"); - exit (3); - } - } - } - buf[i++] = 0; - printf("%s\n", buf); -} -