wolfordj (04/12/83)
#N:pur-ee:9200006:000:328 pur-ee!wolfordj Apr 11 21:03:00 1983 Any one who would be willing to send the source of smallc2.0 updated could please send your me your login. Thus far in my attempts in obtaining a complete !!!!! copy have been unsuccessful, usually one or more files do not make it. thankyou in advance for any and all responces jeff wolford pur-ee!wolfordj
dbeck (04/20/83)
#R:pur-ee:9200006:sri-unix:13300001:000:26946 sri-unix!dbeck Apr 13 10:55:00 1983 bliography listed in the Summer, Fall, and Winter issues of the Skeptical Inquirer for 1979. The Kendrick Frazier annotations are from his "Some Recent Books" section, included in some issues of SI (I list the specific issue with each entry). The only Ray Hyman entry is also from the Annotated Bibliography in SI. I haven't read all of these books; on the other hand, in those cases where one of the other people mentioned above had written (in my estimation) a better blurb for the book, I have used theirs instead of mine. This is certainly not intended to be THE definitive bibliography; if you have any questions, comments, or additional entries to suggest, by all means send 'em on in and I'll publish occasional updates (giving due credit, of course). I can already think of several books I've left out, but that's probably always going to be the case... Some of the books are NOT annotated, because I haven't read them and couldn't find a blurb by anybody who has. If you've read any of the un-annotated books, feel free to send me your assessment. A final note: this bibliography does not include any books on skepticism with regard to religious topics or creationism, although there are a bunch of good ones (depending on your point of view) out there. This list is largely oriented towards "paranormal" and "occult" stuff. Happy reading... Jeff Mayhew Tektronix Abell, George O., and Barry Singer (eds.). "Science and the Paranormal." New York: Charles Scribner's Sons, 1981. A broad collection of papers on paranormal phenomena. Contributors include Isaac Asimov, Martin Gardner, James Randi, Ray Hyman, and Philip J. Klass. Includes som otherwise hard-to-find discussions of topics like Kirlian photography and the abuse of quantum mechanics as a justification of parapsychology (article by Gardner). Says Paul Kurtz in the foreword: "Here at long last is a different kind of book, one that critically and dispassionately analyzes such claims---and finds them wanting. It is long overdue for the public to have a more balanced appraisal of the paranormal." Amen. JM Abbot, David Phelps. "Behind the Scenes with the Mediums." Chicago: Open Court, 1907. A handbook on the methods used by mediums, mostly for billet reading. RL ______. "Fraudulent Spiritualism Unveiled." In Julian Hawthorne, ed., "Library of the World's Best Mystery and Detective Stories. New York: Review of Reviews Co., 1908. RL Adler, Irving. "Monkey Business: Hoaxes in the Name of Science." New York: John Day, 1957. Popular account of some of the most famous hoaxes: Piltdown man, Anton Mesmer, trisected angles, and a few others. RL Alcock, James E. "Parapsychology: Science or Magic?" Elmsford, New York: Pergamon Press, 1981. A critical perspective on parapsychology by a psychologist knowledgeable about the pitfalls and biases of belief. Approaches the subject with two questioning themes: What are the central--and very fundamental--problems with parapsychology, its methods, data, and theory (or lack of it) that prevents it from achieving acceptance within the scientific community; and if psi phenomena do not exist, what psychological factors account for the persistence of belief in them? An important look at essential issues. KF Spring 1982 SI Anonymous. "Revelations of a Spirit Medium." London: Kegan Paul, 1922. RL Barber, Theodore Xenophon. "LSD, Marihuana, Yoga, and Hypnosis." Chicago: Aldine, 1970. Scientific treatise, supported by National Institute of Mental Health grants, on the psychological and physiological effects of yoga, hypnosis, and psychedelic drugs. Reports recent research, with the focus on observable behavior rather than unobservable internal states. The author attempts to illustrate a method of analysis in the "soft" areas of psychology, which will allow the reader to think more critically and accept fewer assumptions. RL Barnum, Phineas Taylor. "The Humbugs of the World." Detroit: Singing Tree Press, 1970. (Reprint of the G. W. Carleton 1865 ed.) A good debunking book written by the master showman more than a hundred years ago. Although his canvass is broad (almost every conceivable area of "humbug" is covered) and it was written long ago, much of it is instructive today. RL Bilig, Otto. "Flying Saucers: Magic in the Skies." Cambridge, Ma.: Schenkman Publishing Co., 1982. Billed as a "Psychohistory," this is a critical examination of the flying saucer phenomenon from a psycho-social point of view. The author, a professor of clinical psychiatry at the Vanderbilt University School of Medicine, has written an interesting and useful book exploring the emotional and psychological sources of belief in saucers in the absence of concrete evidence. The book draws on psychology, anthropology, and medicine in seeking to understand how and why sincere people report seeing extraterrestrial spacecraft, manifestations that the author concludes are "in the minds of man." KF Winter 1982-1983 SI Bracewell, Ronald N. "The Galactic Club: Intelligent Life In Outer Space." San Francisco: W. W. Norton, 1975. An easy-to-read discussion of a wide variety of issues related to the topics of the existence of, and the establishment of communication with, extraterrestrial intelligence. Bracewell brings out a number of intriguing issues, and examines the fringe claims of Velikovsky and Von Daniken. Bracewell is an astrophysicist and a radio astronomer. JM Brackman, Jacob. "The Put-On: Modern Fooling and Modern Mistrust." Chicago: Regnery, 1971. Breezy exploration of a modern social phenomenon, the put-on: how it works, what's behind it, and what it might mean about contemporary sensibility. Trickery in public events, art, literature, fashion, music, and advertising is examined from a sociological perspective. RL Brian, Denis. "The Enchanted Voyager: The Life of J. B. Rhine." New York: Prentice-Hall, 1982. An authorized biography of the founder of modern parapsychology in the U.S. Both a portrait of Rhine and a history of parapsychology. Bringle, Mary. "Jeane Dixon: Prophet or Fraud?". New York: Tower, 1970. "Publisher's Weekly" (198 [Nov. 2, 1970]: 54) says this is a hatchet job on a sitting duck. RL Burnam, Tom. "More Misinformation." New York: Lippincott, 1981. A new collection of fables, fallacies, and fictions. In this lively sequel to his "Dictionary of Misinformation" (1975), Burnam once again shows that the debunking of commonly accepted misconceptions of all kinds can be entertaining as well as informative. KF Fall 1981 SI Calder, Nigel. "The Comet is Coming!" New York: Viking Press, 1980. A humorous look at the history of popular ideas about comets, including a discussion of Sir Fred Hoyle's theory of comet- borne viruses. Calder deals with public reactions to comets in much the same way that Mackay deals with other manias (in "Popular Delusions and the Madness of Crowds"). JM Campbell, John L., and Trevor H. Hall. "Strange Things." London: Routledge & Kegan Paul, 1968. A detailed debunking of a turn-of-the-century Scottish hoaxer. Subtitle: "The story of Fr. Allan McDonald, Ada Goodrich Freer, and the Society for Psychical Research's enquiry into Highland second sight." RL Cantril, Hadley. "The Invasion from Mars: A Study in the Psychology of Panic, with the Complete Script of the Famous Orson Welles Broadcast." Princeton, N.J.: Princeton University Press, 1940. A good case history and psychological study of how people in 1938 could easily be convinced that the earth was being invaded by creatures from Mars. RL Capaldi, Nicholas. "The Art of Deception." Buffalo, N.Y.: Prometheus Books, 1979. A handbook for people who want to be able to recognize when they're being bamboozled in an argument--a clear discussion of logical fallacies and other tricky tactics used in intellectual confrontations. Although not purely a debunking book, a mastery of this material will help the skeptic see through a lot of trash. JM Carpenter, William Benjamin. "Mesmerism, Spiritualism, & Co. Historically and Scientifically Cons This is our termcap entry for an ADDS VIEWPOINT. Note that it really doesn't have simultaneous underlining and standout but both are declared. sz|viewp|Viewpoint:\ :am:bs:cl=^L:cm=\EY%+ %+ :co#80:\ :k0=\E0:k1=\E1:k2=\E2:k3=\E3:k4=\E4:k5=\E5:k6=\E6:k7=\E7:k8=\E8:k9=\E9:\ :li#24:nd=^F:so=^N\E0P:us=^N\E0`:se=^O:ue=^O:up=^Z:ce=\EK Our site hasn't recieved this fil yet. If it's not being retransmitted from the source, could someone mail it to me? Thanks. pur-ee ! uiucdcs ! grunwald dI threw together the following hack. Does anybody have something better? if test $# -eq 0 then echo 'Usage: '$0' hostname' exit 1 fi cd /usr/spool/news/net.news.map for arg in $* do sed -n -e "/^Name: ${arg}$/,/^$/p" * done cHere's yet another way to use a line for both dial-in and dial-out. I got the idea for this from Donn Terry (csu-cs!hp-dcd!donn) who thinks he spotted something about this on the net. (If anyone can help with proper attribution of this idea, please respond by mail.) Although this discussion relates specifically to 4.1bsd, other Un*x should be able to fiddle this a bit to get the same results. Randy Bentson Colo State U - Comp Sci Ft. Collins, CO 303/491-7016 {hplabs,lanl-a,lll-crg,hao,cires}!csu-cs!bentson GENERAL CONCEPT There are first class and second class citizens in the world of tty's. The first class citizens have the OUTLINE bit set in the minor device number. Having the outline bit set is used for dial-in/dial-out lines. What happens is that a process such as init or getty can hang an open on a second-class line and wait for carrier detect. If a dial- out process does an open on a first-class line, the second class line will not open even if carrier detect does come true for the process using the first class line until that "first class process" closes it. Processes using a first class line can do several opens on those lines if they wish. /DEV ENTRIES This is an excerpt of our /dev directory listing. Port tty06 is the real dialer port. The ports cua0-3 are multiplex files used by the dnd daemon which actually does the dialing on the real dialer port. crw------- 1 root 1, 6 Mar 15 13:04 /dev/tty06 mrw-rw-rw- 1 root 9, 8 Mar 15 11:01 /dev/cua0 mrw-rw-rw- 1 root 9, 7 Mar 15 13:04 /dev/cua1 mrw-rw-rw- 1 root 9, 6 Mar 15 11:01 /dev/cua2 mrw-rw-rw- 1 root 9, 5 Mar 15 11:01 /dev/cua3 Tty05 is the second class version of the first class port cul0. That is, both open the same line, but one has priority over the other. crw--w--w- 1 root 1, 5 Mar 14 18:46 /dev/tty05 crw-rw-rw- 1 root 1,133 Mar 15 13:08 /dev/cul0 This is the second dial-in/dial-out port on our system. There is no apparent limit to the number of such dual ports beyond the maximum second class minor device number limit of 128. crw--w--w- 1 root 1, 4 Mar 15 12:50 /dev/tty04 crw------- 1 root 1,132 Mar 12 15:25 /dev/cul1 TTY.H FILE Make one change to /sys/h/tty.h so that the line state can remember that there is a request for the line as a first class citizen. It doesn't appear that NDQB is used anywhere in the system so I preempted use of the bit. /* 06Mar83 RABentson changed following line from #define NDQB 010000 to the following to support first/second class open */ #define OUTFLAG 010000 /* first class open in progress */ DZ DRIVER I've used diff with two lines of context. Then here's the changes in the dz driver. Notice that I've changed the location of the splN() calls. I believe that this is a more stable use of the calls. *** /sys/dev/dz.c Tue Apr 5 16:41:06 1983 --- /sys/dev/dz.7Oct81.c Wed Oct 7 14:46:11 1981 *************** *** 1,4 - /* 31Mar83 RABentson put delay in close so line stays on-hook for a bit */ - /* 06Mar83 RABentson added support for "first/second class open" */ /* dz.c 4.29 81/07/25 */ --- 1,2 ----- /* dz.c 4.29 81/07/25 */ *************** *** 30,34 * Driver information for auto-configuration stuff. */ - extern lbolt; /* 31Mar83 */ int dzprobe(), dzattach(), dzrint(); struct uba_device *dzinfo[NDZ]; --- 28,31 ----- * Driver information for auto-configuration stuff. */ int dzprobe(), dzattach(), dzrint(); struct uba_device *dzinfo[NDZ]; *************** *** 66,72 #define DZ_ON 1 #define DZ_OFF 0 - - /* Flag indicating first class line */ /*06Mar83*/ - #define OUTLINE 0200 /*06Mar83*/ int dzstart(), dzxint(), dzdma(); --- 63,66 ----- #define DZ_ON 1 #define DZ_OFF 0 int dzstart(), dzxint(), dzdma(); *************** *** 152,156 register int unit; ! unit = minor(dev & ~OUTLINE); /*06Mar83*/ if (unit >= dz_cnt || dzpdma[unit].p_addr == 0) { u.u_error = ENXIO; --- 146,150 ----- register int unit; ! unit = minor(dev); if (unit >= dz_cnt || dzpdma[unit].p_addr == 0) { u.u_error = ENXIO; *************** *** 161,166 tp->t_oproc = dzstart; tp->t_iproc = NULL; - (void) spl5(); - again: /*06Mar83*/ tp->t_state |= WOPEN; if ((tp->t_state & ISOPEN) == 0) { --- 155,158 ----- tp->t_oproc = dzstart; tp->t_iproc = NULL; tp->t_state |= WOPEN; if ((tp->t_state & ISOPEN) == 0) { *************** *** 172,176 } else if (tp->t_state&XCLUDE && u.u_uid != 0) { u.u_error = EBUSY; - (void) spl0(); return; } else if ((dev & OUTLINE) && !(tp->t_state & OUTFLAG)) { /*06Mar83*/ --- 164,167 ----- } else if (tp->t_state&XCLUDE && u.u_uid != 0) { u.u_error = EBUSY; return; } *************** *** 174,181 (void) spl0(); return; - } else if ((dev & OUTLINE) && !(tp->t_state & OUTFLAG)) { /*06Mar83*/ - u.u_error = ENXIO; /*06Mar83*/ - (void) spl0(); /*06Mar83*/ - return; /*06Mar83*/ } if (dev & OUTLINE) tp->t_state |= OUTFLAG; /*06Mar83*/ --- 165,168 ----- u.u_error = EBUSY; return; } dzmodem(unit, DZ_ON); *************** *** 179,183 return; /*06Mar83*/ } - if (dev & OUTLINE) tp->t_state |= OUTFLAG; /*06Mar83*/ dzmodem(unit, DZ_ON); if (!(tp->t_state & CARR_ON) || --- 166,169 ----- return; } dzmodem(unit, DZ_ON); (void) spl5(); *************** *** 181,187 if (dev & OUTLINE) tp->t_state |= OUTFLAG; /*06Mar83*/ dzmodem(unit, DZ_ON); ! if (!(tp->t_state & CARR_ON) || ! ((tp->t_state & OUTFLAG) && /*06Mar83*/ ! !(dev & OUTLINE))) { /*06Mar83*/ tp->t_state |= WOPEN; sleep((caddr_t)&tp->t_rawq, TTIPRI); --- 167,172 ----- } dzmodem(unit, DZ_ON); ! (void) spl5(); ! while ((tp->t_state & CARR_ON) == 0) { tp->t_state |= WOPEN; sleep((caddr_t)&tp->t_rawq, TTIPRI); *************** *** 186,190 tp->t_state |= WOPEN; sleep((caddr_t)&tp->t_rawq, TTIPRI); - goto again; /*06Mar83*/ } (void) spl0(); --- 171,174 ----- tp->t_state |= WOPEN; sleep((caddr_t)&tp->t_rawq, TTIPRI); } (void) spl0(); *************** *** 189,193 } (void) spl0(); ! (*linesw[tp->t_line].l_open)(dev & ~OUTLINE, tp); /*06Mar83*/ } --- 173,177 ----- } (void) spl0(); ! (*linesw[tp->t_line].l_open)(dev, tp); } *************** *** 200,204 int dz; ! unit = minor(dev & ~OUTLINE); /*06Mar83*/ dz = unit >> 3; tp = &dz_tty[unit]; --- 184,188 ----- int dz; ! unit = minor(dev); dz = unit >> 3; tp = &dz_tty[unit]; *************** *** 204,208 tp = &dz_tty[unit]; (*linesw[tp->t_line].l_close)(tp); - tp->t_state &= ~OUTFLAG; ((struct pdma *)(tp->t_addr))->p_addr->dzbrk = (dz_brk[dz] &= ~(1 << (unit&07))); --- 188,191 ----- tp = &dz_tty[unit]; (*linesw[tp->t_line].l_close)(tp); ((struct pdma *)(tp->t_addr))->p_addr->dzbrk = (dz_brk[dz] &= ~(1 << (unit&07))); *************** *** 217,221 register struct tty *tp; ! tp = &dz_tty[minor(dev & ~OUTLINE)]; /*06Mar83*/ (*linesw[tp->t_line].l_read)(tp); } --- 200,204 ----- register struct tty *tp; ! tp = &dz_tty[minor(dev)]; (*linesw[tp->t_line].l_read)(tp); } *************** *** 226,230 register struct tty *tp; ! tp = &dz_tty[minor(dev & ~OUTLINE)]; /*06Mar83*/ (*linesw[tp->t_line].l_write)(tp); } --- 209,213 ----- register struct tty *tp; ! tp = &dz_tty[minor(dev)]; (*linesw[tp->t_line].l_write)(tp); } *************** *** 283,287 { register struct tty *tp; ! register int unit = minor(dev & ~OUTLINE); /*06Mar83*/ register int dz = unit >> 3; --- 266,270 ----- { register struct tty *tp; ! register int unit = minor(dev); register int dz = unit >> 3; *************** *** 432,436 dzaddr = dzpdma[unit].p_addr; bit = 1<<(unit&07); ! if (flag == DZ_OFF){ dzaddr->dzdtr &= ~bit; /* 31Mar83 Pause at least three seconds before allowing DTR to --- 415,419 ----- dzaddr = dzpdma[unit].p_addr; bit = 1<<(unit&07); ! if (flag == DZ_OFF) dzaddr->dzdtr &= ~bit; else *************** *** 434,444 if (flag == DZ_OFF){ dzaddr->dzdtr &= ~bit; ! /* 31Mar83 Pause a long time before allowing DTR to be ! * turned back on. This will ensure the line is hung-up. ! */ ! sleep((caddr_t)&lbolt, TTIPRI); ! sleep((caddr_t)&lbolt, TTIPRI); ! sleep((caddr_t)&lbolt, TTIPRI); ! sleep((caddr_t)&lbolt, TTIPRI); ! sleep((caddr_t)&lbolt, TTIPRI); ! sleep((caddr_t)&lbolt, TTIPRI); ! sleep((caddr_t)&lbolt, TTIPRI); ! }else dzaddr->dzdtr |= bit; } --- 417,421 ----- if (flag == DZ_OFF) dzaddr->dzdtr &= ~bit; ! else dzaddr->dzdtr |= bit; } to create local dictionaries using the "spell" system (spell/spellin/spellout). The following are the responses received to date on my query. I've successfully used the first one, and have not yet tried the others; their creators claim success. To all respondents, my sincere gratitude for your willingness to share your expertise/experiences. Gary Chappell ...decvax!decwrl!qubix!gary2 P.S. I've deleted reference to the authors, as I did not feel I had tacit/explicit approval to use their names. If any of the creators take offense at this, please accept my apologies in advance. <<<<<<<<<<<<<<< SUGGESTION NUMBER 1 >>>>>>>>>>>>>>>>>>>>>>>>>> Here is how I do it. "spl" is my shell script to run spell with my own dictionary. Here is spl ----------------- #! /bin/sh # spell using my own dictionary D=/unc/gb/lib/dict/myhlist spell $* ----------------- I make the dictionary with a makefile. Here it is: ----------------- dict : myhlist myhlist.lax myhlist : mywords /usr/dict/hlista spellin /usr/dict/hlista > myhlist < mywords myhlist.lax : myhlist mywords.lax spellin myhlist > myhlist.lax < mywords.lax ----------------- splx uses a less restrictive dictionary but is otherwise the same. My dictionary has only words that I am adding to the system dictionary. Here is the first few lines of my list of words ----------------- ACM AEC ALU ANDed ARPA Backus burnout BVM bypasssing CAD carotid CCC CCD centimeter CH CID <<<<<<<<<<<<< SUGGESTION NUMBER 2 >>>>>>>>>>>>>>>>>>> >From the spell makefile (I have used it this way and it works nicely). hlist: /usr/dict/words spellin spellin </usr/dict/words >hlist hlista: american local hlist spellin (cat american local)|spellin hlist >hlista hlistb: british local hlist spellin (cat british local)|spellin hlist >hlistb hstop: stop spellin spellin <stop >hstop where hlist is the initial list, hlist[ab] are the american and british spelling lists created by adding anomalous entries to the basic list, and hstop is the list to catch spelling errors which otherwise look like valid prefix/suffix extensions from valid entries. <<<<<<<<<<<<<< SUGGESTION NUMBER 3 >>>>>>>>>>>>>>>> this is how we implement a local dictionary. we leave the distributed dictionary untouched: #! /bin/sh myname=`basename ${0} | sed -e 's/\..*//'` spell=/usr/bin/spell loc=/usr/local/lib/dict eval H=/dev/null ${spell} ${@} | H=${loc}/hist D=${loc}/hlocal ${spell} <<<<<<<<<<<<<< SUGGESTION NUMBER 4 >>>>>>>>>>>>>>>> Regarding your Usenet message, here's a copy of our manual page for Spell. It clarifies the matter somewhat. .TH SPELL 1 .SH NAME spell, spellin, spellout \- find spelling errors .SH SYNOPSIS .B spell [ option ] ... [ file ] ... .PP .B spellin [ list ] .PP .B spellout [ .B \-d ] list .SH DESCRIPTION .I Spell collects words from the named documents, and looks them up in a spelling list. Words that neither occur among nor are derivable (by applying certain inflections, prefixes or suffixes) from words in the spelling list are printed on the standard output. If no files are named, words are collected from the standard input. .PP .I Spell ignores most .I troff, .I tbl and .IR eqn (1) constructions. .PP Under the .B \-v option, all words not literally in the spelling list are printed, and plausible derivations from spelling list words are indicated. .PP Under the .B \-b option, British spelling is checked. Besides preferring .ft I centre, colour, speciality, travelled, .ft R etc., this option insists upon .I -ise in words like .I standardise, Fowler and the OED to the contrary notwithstanding. .PP Under the .B \-x option, every plausible stem is printed with `=' for each word. .PP The spelling list is based on many sources, and while more haphazard than an ordinary dictionary, is also more effective in respect to proper names and popular technical words. Coverage of the specialized vocabularies of biology, medicine and chemistry is light. .PP Pertinent auxiliary files may be specified by environment variables. For example, to add your own list of favorite (favourite?) proper names, you could issue the following commands: .br $ spellin /usr/dict/hlista < mynames > mynames.hash .br $ D=mynames.hash ; export D .PP If .I spell is then run, words from both lists are used. The known variables are indicated below with their default settings. Copies of all output are accumulated in the history file. The stop list filters out misspellings (e.g. thier=thy\-y+ier) that would otherwise pass. .PP Two routines help maintain the hash lists used by .I spell. Both expect a list of words, one per line, from the standard input. .I Spellin adds the words on the standard input to the preexisting .I list and places a new list on the standard output. If no .I list is specified, the new list is created from scratch. .I Spellout looks up each word in the standard input and prints on the standard output those that are missing from (or present on, with option .BR \-d ) the hash list. .SH FILES D=/usr/dict/hlist[ab]: hashed spelling lists, American & British .br S=/usr/dict/hstop: hashed stop list .br H=/usr/dict/spellhist: history file .br /usr/lib/spell .br deroff(1), sort(1), tee(1), sed(1) .SH BUGS The spelling list's coverage is uneven; new installations will probably wish to monitor the output for several months to gather local additions. .br British spelling was done by an American. ------- <<<<<<<<<<<< SUGGESTION NUMBER 5 >>>>>>>>>>>>>>>>>>>>> I, too, have given up hope that spell will perform as advertised. In frustration, I wrote a 'csh' shell script called "Spell" to use the main spell routines, but then compare the output to a list of words you provide (the output of previous spells) and only report "newly misspelled" words, i.e. words not in the list. I got tired of seeing the not-really- misspelled words come out of spell each time I ran it on a new version of a paper. Note that the options of spell are no longer valid. Valid use of my program is as follows: Spell -w fname paper1 paper2 ... where the -w option names the list of words to ignore. The other parameters are documents to be spelled. I use the "Spell" program as follows. "Spell" the document the first time without the -w option, and send the output to a file. Look at the output, correct any truly misspelled words, and take them out of the list. Then use the remaining words as the "ignore-list" for later "Spell"s. Append later outputs to the list, etc. Hope you can use this routine. P.S. Because of the exact match option used with fgrep, I am forced to run a "strip" routine in "Spell" on the ignore-list to remove trailing blanks. This would not be necessary if the list were always the direct output from previous "Spell"s, but since I edit the list or make additions by hand I decided not to take the chance of not "strip"ing. The "strip" routine is included below; it is a ridiculously small lex program that you can compile. ****************************** Spell ************************************* #/bin/csh -f #========================================================================== # # Spell # # # "spell"s, but will ignore words in list given by -w filename # in the parameter list. # # example: # Spell -w nixem doc1 doc2 doc3 ... # #======.SH NAME restor \- incremental file system restore .SH SYNOPSIS .B restor key [ arguments ] .SH DESCRIPTION .I Restor\^ is used to read magnetic tapes dumped with the .I dump\^ command. The .I key\^ specifies what is to be done. .I Key\^ is one of the characters .BR rRcxXtT , optionally combined with .BR fF . .TP .B f Use the next .I argument\^ as the name of the tape instead of the default. .TP .B F Use the next .I argument\^ as the number of the file on the tape to read instead of the default first file on the tape. If the dump extends across multiple tapes, the dump is assumed to continue on the first file of all subsequent tapes. .TP .BR r " or " R The tape is read and loaded into the file system specified in .IR argument . This should not be done lightly (see below). If the key is .BR R , .I restor\^ asks which tape of a multi-volume set to start on. This allows .I restor\^ to be interrupted and then restarted (an .I fsck\^ must be done before the restart). .TP .B c The tape is read and compared with the file system specified in .IR argument . Any I/O errors or checksum errors are listed, as well as any differences between the dump tape and the file system are listed; the latter include: .RS .IP 1. Inodes that are clear on the tape, but in use on the file system, or .IR "vice versa" . .IP 2. A difference between the information in the inode as given on the dump tape and as stored on the file system, except for differences in the times of last access, last modification, and last file status change. The error message indicates which part of the inode did not match. .IP 3. A difference between the data in the