From: Alex S. Crain
Subject: Re: Lisp Archives
Date:
Message-ID: <3007@umbc3.UMBC.EDU>
My, my. Mondo responses on this one, I wish all my queries were so
so fruitful. Most of the responses were "please forward an info ...", so here
it is:
Arun Welch offers:
> The two that I know of are rascal.ics.utexas.edu and
> tut
Which is nice, but the award goes to Jamie Zawinski <···@teak.berkeley.edu>,
who replied with:
> That was me. FTP to spice.cs.cmu.edu (128.2.254.139), log in as "anonymous",
> any password, cd to /usr/jwz/public/ (in one step, /usr/jwz/ and /usr/ are
> not accessible) and get the file "_readme.text".
> .cis.ohio-state.edu. Tut's mostly got Interlisp/Xerox Medley stuff.
I did, let me tell you, christmas came early this year! here's the _readme.text
file, ftp & enjoy.
-*- Mode:Text -*-
This file has short descriptions of the files in this directory.
Most of the files have better descriptions in comments at the top.
In the following list, if a file names are preceded by special chars
indicating their portability:
* means portable Common Lisp;
+ means enough of the code is portable Common Lisp to be runnable in any
Lisp, but contains TI Explorer dependencies, usually graphics or a wizzy
user interface. These parts are (usually) easy to reimplement, and if
you do so, you should send the code to me so nobody else will need to.
- means the code is Explorer specific, and you probably can't run it
without hacking on it, but it would be easy or medium-easy to port
to a new implementation. (And if you do so...)
<space> means it's really really Explorer specific. It might be of use
on a Symbolics, but who knows. For other implementations there's really
no point, unless you just want to read it or something.
If a file is also preceded by a ! then I think it is way cool and everybody
should use it all the time. (Just trying to help you prune your search...)
The file _recent-changes.text describes recent additions and
modifications to this archive. If you have any useful or interesting
Lisp code that you would like me to add to this archive, send mail to
···@spice.cs.cmu.edu or ···@teak.berkeley.edu.
Since most of this code was developed on TI Explorers, and since the Explorer
editor (Zmacs) supports multiple fonts, some of the source code contains
font-change information, which will make the code unreadable on non-Explorer
Lisps. If you have this problem, use the code in "strip-explorer-fonts.lisp"
to remove the font-change codes.
If you find things in this archive useful, send me your name and I will
add you to a mailing list announcing new and wonderful things that arrive.
- ANDREW-DATASTREAM Code to read and display multimedia bulletin boards
in the CMU Andrew datastream format. The bboard-
reader part of this isn't quite finished yet, but
the parser/displayer works pretty well.
APROPOS-PROPERTY Defines a function for finding symbols with a given
property (or with properties whose names match a
given pattern).
* AUDIO-TAPE Code for generating PostScript to print tape labels.
- AUDIO-TAPE-INTERFACE A friendly ZMACS interface to the above code.
See AUDIO-TAPE.TEXT for documentation.
BIBTEX-MODE A ZMACS major mode for editing BibTeX bibliography
databases. By Kenneth Traub.
BIFF Puts a little mailbox icon in your wholine. The
little flag will go up when you have mail. Requires
the file BIFF-FONT.XLD in this directory.
* BIG-DICTIONARY.TXT An ISpell-format dictionary for use with the spelling
checker in the PUBLIC; directory. I created this
dictionary by merging the dictionary from CSC.TI.COM
with two others I found at CMU. It has about 60,000
words, I think.
* BIG-DICTIONARY.TXT.Z A compressed version of the above, which may or may
not be more convenient for you to transfer.
BIT-ARRAY-EDITOR A more recent version of the bit array editor from
the PUBLIC; directory. By Clint Hyde.
! BOLD-LOCK Code for using the Bold Lock and Italic Lock keys on
the Explorer keyboard. This defines a Zmacs minor-
mode, "Bold-Lock Mode", which automatically changes
the current font to correspond to the state of the
keys. See the file BOLD-LOCK.TEXT for documentation.
(This code is FAR superior to the code in the file
SYS:PUBLIC;FONT-LOCK-KEYS.LISP from TI release 6!
It "knows" that hl12b is the bold version of hl12,
instead of always using font #n for bold, etc)
BREAKOUT The Atari game. Works in color or monochrome.
- CHANGELOG Code for automating the changelog process - it
defines a ZMACS command, COM-INSERT-CHANGELOG, which
moves the cursor to the end of the current buffer's
changelog, and inserts the current date and user ID.
END moves the cursor back to its original position.
CHOOSE-COLOR Redefines the Profile color requester menu to display
the colors on the menu, along with their names.
CLEAR-RINGS Clear the output history, command history, and kill
rings to free up memory. By David Forster.
COLORBARS Displays standard video colorbars on a color monitor.
COMPARE-WINDOWS Zmacs command like the GNU command. By David Forster.
COMPILE-MACRO-CALLERS Compile all callers in the current buffer of a
prompted-for macro.
COMPRESS Paul Fuqua's port of the Unix 'compress' program.
- COMPRESS-POSTSCRIPT Code that converts a bitmap to PostScript, compressing
the encoded data using run-length encoding. This makes
it print much faster. The PostScript half is portable,
the Lisp half is Lispm specific.
* CONX Given a body of text, this code will collect a word-
occurance histogram and generate random sentences.
Better than Zippy! Written by Skef Wholey.
DESCRIBE-DEFSTRUCT-DIFF Given two structs of the same type, points out the
differing slots. By David Forster.
! DESCRIBE-SYMBOL Alters DESCRIBE so that it doesn't say so much about
NIL, and so that describing a symbol which names
a DEFSTRUCT describes that kind of structure.
+ DICTIONARY-CLIENT Code for talking to the Webster's Dictionary server on
pasteur.berkeley.edu. Defines Zmacs commands that will
give you the dictionary definition of any word; bold
words in the def are mousable, and clicking on them
gives you their definitions. Mostly portable.
+ DICTIONARY-CLIENT-MIT Same idea as DICTIONARY-CLIENT, but this one works
with the Webster protocol used by mintaka.lcs.mit.edu.
By John Nguyen.
!- DOMAIN-STUBS/ This directory contains a Domain Stub Resolver for
the explorer, written by Bjorn Victor. With this, you
don't need to have every host you ever want to contact
in your network namespace - if there is a reference to
an unknown host, an Arpa nameserver is contacted, and
a namespace entry is built for that host (including
exported services, system type, etc). Very cool.
Don't forget to get the subdirectories of this as well.
EDIT-NEWSRC For use with the code in the NEWS/ directory - lets
you edit your list of newsgroups like Edit Buffers.
! EDIT-PRINT-QUEUE Extends the PEEK utility to have an Edit Print Queue
command, which allows the user to alter the state of
the print queue on the local machine or a remote
print server. Must be loaded on both machines.
The remote-machine part of this code depends on the
file PRINTER-REQUESTS-PATCH.LISP, also in this
directory.
EPSILONS The Zmacs code for writing diagram lines to files
is severely broken. This is the fix.
EVALSERVER Defines a server which allows evaluation of arbitrary
forms on a remote machine. Returns the result.
FGREP Searches for a string in a file. Can show the
line with that string, or the paragraph.
Case-sensitive, no pattern matching.
! FINGER Patches the finger daemon to print out more
information, which is obtained from the namespace. So
if someone fingers ····@explorer" and "foo" isn't
logged in to "explorer", the person calling finger will
still be told "foo"'s real name, office number, etc.
If there is a file called "explorer:foo;plan.text",
that file will be dumped. This pathname can be
overridden on a user-by-user basis. Also does phonetic
matching, so misspelled names still work.
- FIREWORKS-JWZ A simple fireworks simulation. Works as a screensaver.
- FIREWORKS-PEZARIS A different fireworks simulation. Both of these are
different from the one in the SYS:PUBLIC; directory.
FONT-BITMAPS Given a bitmap and a rectangle in it, store that image
into some character of a font (creating or adjusting
the font as necessary). Useful for creating
replacements for the TI-LOGO font.
FONTS/ This directory contains TI versions of most of the
fonts distributed with X11r3; these fonts were created
with the code in READ-BDF-FONT.LISP in this directory.
There are four compressed "tar" archives here;
uncompress them with the Unix "uncompress" program,
and then extract the XLD files from each of them with
tar, as in "tar -vxf <filename.tar>"
_README.TEXT: Long listing of tar file contents.
FONTS-ADOBE.TAR.Z: Times, Helvetica, Courier,
Schoolbook, Symbol, and Charter in 8,10,14,18,24.
FONTS-ANDY.TAR.Z: The Andrew fonts.
FONTS-MAC.TAR.Z: Fonts from Bmug and Info-Mac.
FONTS-X.TAR.Z: X10 fonts: cursor, xtrek, 8x13, etc.
The Adobe and X fonts are the same as the fonts which
are present in the SYS:X11M.FONTS.75DPI; directory
of TI release 6, but the names are different, and
they don't have lots of X-server info on their plists.
GENERATE-ETC-HOSTS Code to generate a UNIX /etc/hosts or /usr/lib/aliases
file from an Explorer namespace. Also code to show
the machines in the Explorer namespace sorted by IP
or CHAOS addresses, or alphabetically.
- GREP Searches for files containing given strings. Doesn't
do regexp comparisons, though; it uses the and/or
syntax that APROPOS uses.
- GREYNETIC Draws random grey (or color!) rectangles on the
screen or a window. Very fast.
- HELIX A neat graphics hack by John Nguyen. Screensaver.
- HOPALONG Draws pretty fractal patterns. Uses color if
available.
- HYPERCUBE Spins a hypercube under keyboard control. Color.
Works as a screensaver.
* IFF/ This directory contains code for reading and
displaying Amiga picture files, playing Amiga sound
files, reading Sculpt-Animate 3D files, and
displaying scaled fonts which are stored in the SA3D
format. See the file iff/_readme.text for details.
IMAGEN-PATCHES Some patches to the TI's Imagen print driver.
By John Nguyen.
INSPECTOR-CONFIG Defines two new inspector configurations, which have
larger history windows, and have all of the
scrollbars at the left edge of the screen (big win).
- INTERFERENCE Interactively frobbing circular interference patterns.
KEYMAP Allows arbitrary remapping of the (raw) TI keyboard.
LISP-SCRIBBLE Makes Mouse-Left and Mouse-Middle on Lisp Listeners
draw and erase lines, for doodling purposes...
! LIVE-LISTENER Alters the Lisp Listeners, typeout windows, and break
loops to make everything printed with PRIN1 or PRINC
be mousable, much like Symbolics listeners. Kind of
like a hybrid Listener/Inspector.
! LOAD-PATCH If LOAD is called on a pathname or string whose TYPE
component is not specified, and the source version is
newer than the binary, then the behavior is
controlled by a variable, whose value is :SOURCE,
:BINARY, or :QUERY.
* LOGICAL-PATHNAMES An implementation of Explorer-like logical pathnames
for Vax Lisp and CMU Common Lisp. By David Forster.
LOST-CONNECTION-HACK Scenario: you have a long-running program reading from
a multi-megabyte file on a different machine. Someone
reboots the remote machine on which the file lives.
Shafted? No. This code will reopen the file, and
bash on the dead stream object enough that you can
proceed with the connection invisibly reestablished!
Just go down the stack and reinvoke READ-CHAR.
! MAIL-ABBREV When the point is the TO: or CC: fields of a send-mail
buffer, word-abbrev mode is automatically on. Defines
a function for automatically generating send-mail-mode
word-abbrevs from the :USER class of the namespace.
Saves much typing, avoids much bounced mail.
! MAIL-CLASSES The Zmacs mailer doesn't have mail classes, but it does
handle multiple saved-mail files; this defines some
read-mail commands that relieve you of the burden of
remembering and typing mail file names, letting you
use symbolic names instead.
MAIL-APPEND Defines a new editor command, Append Message to File,
for use in Read Mail Mode.
! MAIL-FONT-PATCH Various redefinitions that cause the Mail Reader to
allow multi-font messages. This interacts well with
the code in both BOLD-LOCK.LISP and MAIL-APPEND.LISP
!+ MANDELBROT Window-based utility for exploring the Mandelbrot
fractal set. Uses a quad-tree approach to generating
the image, and is bat-out-of-hell FAST.
+ MAZE Code for generating and displaying random mazes.
Works as a screensaver.
MEMORY-MONITOR Memory-consumption graph; by John Nguyen.
MINOR-MODES-HACK If you hate the interation between *INITIAL-MINOR-
MODES* and buffer switching, this is for you.
* MKSYS A portable Common Lisp 'make' utility with a more sane
syntax than DEFINE-SYSTEM.
MODE-LINE-PERCENT Adds a percent through file notation to the ZMACS mode
line.
- MODEM-H19 Code to simulate a Heath 19 terminal, talking to a
modem on the local machine's serial port.
! MOUSE-RECORD Code for recording and playing back mouse and keyboard
activity. The system cannot tell the difference
between playback and an actual user moving an actual
mouse.
MULT-MAIL-DOMAINS Patches things so that all mail domains are searched,
not just the first one. By Eric Karlson.
- NARRATE You give it a number, and it reads it in english.
Requires the file NARRATE-SAMPLES.XLD in this
directory.
!- NATIONAL-DEBT Display the current US national debt in the wholine.
Updated every second.
NEWS/ An NNTP netnews reader that runs in Zmacs.
This is the same as the one on CSC.TI.COM.
More current version in Rel6 public directory.
NEWS-FILTER A ``kill file'' utility for the code in the NEWS/
directory. By David Forster.
! NEWS-FONTS Makes the header fields of a news article be in a
different font, thus easier to read. Other patches too.
!+ NSA-FILTER Makes the world just a little bit safer for democracy.
! PATHNAME-MODS Some incredible functionality extensions to
Explorer pathnames, by James Rice and Rich Acuff.
Lets you do things like
"LM: FOO; (and L* (not LOGIN-INIT)).LISP"
to match L*.LISP except LOGIN-INIT.LISP
+ PHONEGEN Given a phone-mnemonic, return the phone number; or,
given a phone number generate every possible mnemonic.
Or, given a phone number, generate every possible
mnemonic that is a real word (requires the spelling
dictionary to be loaded).
* PHONES These two files comprise a mouse-based phone number
PHONES-INTERFACE and address database program. Many kinds of searches
are possible. Mousing on a network address tosses
you into a mail buffer; mousing on a postal address
tosses you into an editor buffer with a Scribe
letter template begun; and much more.
! PIPE-STREAM Defines a general pipe utility, sort of like in Unix.
Also Includes a patch to Zmacs so that when you visit
a file whose name ends in ".Z", the file will be
uncompressed as it is read - this part requires the
code from the file COMPRESS.LISP in this directory.
PRINTER-REQUESTS-PATCH Various enhancements/fixes to the TI print request
code. See the comments at the top of the file.
Do not load this along with the LPR code in REXEC/.
PROCESS-MONITOR Load-average graph; by John Nguyen.
PS-FONT-MAP The default TI->PostScript font map is scaled so that
the right side of the page is at 80 columns. This
file defines a function that lets you adjust that
(scaling the font map as a whole). This file also
adds the Adobe fonts (fromt the FONTS/ directory of
this archive) to the font map.
- QATTRACTION A neat graphics hack by John Nguyen; swirling
qix-like forms. Screensaver.
- QIX Half-done implementation of the QIX video game.
Works as a demo... feel free to finish it!
There's some interesting code here for dividing
regions into rectangles.
- QUAD-TRIANGLE A neat graphics hack by John Nguyen; symetrical
qix-like forms. Screensaver.
RAINBOW Color monitor only - displays a scrolling rainbow
pattern on the whole screen using colormap cycling.
- READ-BDF-FONT Translates X Windows or Andrew font files to TI
screen-fonts. There are over 600 such fonts included
with the X11r3 distribution, about half of which are
included here in the FONTS directory.
* READ-ANDREW-RASTER Reads Andrew Toolkit image bitmaps.
* READ-SUN-RASTER Reads Sun Raster file bitmaps.
* READ-X11-RASTER Reads and writes X10 or X11 format (C source) bitmaps.
REBOOT Defines a function, REBOOT, which does the same thing
as calling SI:SHUTDOWN, and then doing
Meta-Control-Meta-Control-Rubout.
! REDEFINITION-PATCH Redefines QUERY-ABOUT-REDEFINITION so that it will
time out to a default answer after N seconds.
Unattended compiles which get a redefinition query
will eventually continue.
RESERVATIONS Code for reserving time on an Explorer; useful if you
share a machine with several people. Will warn the
logged-in user when their time is almost up, and will
complain at anyone logging in when someone else is
scheduled. By David Forster.
- REXEC/ Code that implements the RSHELL, REXEC, and LPD
protocols. This means that you can print files from
an Explorer to a printer on a Unix machine.
This does *not* get along with the code in
EDIT-PRINT-QUEUE and PRINTER-REQUESTS-PATCH.
- ROCKS A neat graphics hack by John Nguyen; something like
the Sun JumpDemo - this one's an asteroid field.
- RORSCHACH-SCREENHACK Draws random inkblot-like patterns. Screensaver.
! SAMPLE-EDITOR A window-based utility for recording, modifying, and
saving digitally recorded sound.
- SCHOOL-OF-FISH A neat graphics hack by John Pezaris. A group of
guppy-like fish schooling around very realistically.
Requires the font in FISHES-FONT.XLD in this directory.
! SCREENSAVER-PATCHES Various improvements to the version of the
ScreenSaver from SYS:PUBLIC;SCREEN-SAVER-MIT. Makes
it work in color, among other things (some might say
"makes it work, period").
- SCRIBE-MODE Defines a minor mode which is to .MSS files what
Electric Font Lock Mode is to .LISP files. See the
file SCRIBE-MODE.TEXT for documentation.
- SEARCH-FILES Another GREPalike, this one by David Forster.
SENDMAIL-FINGER When you send mail from Zmacs, the addresses and hosts
printed will be mousable; clicking on them will fire
up FINGER in a popup window.
SHOW-COMTAB Code to display and search Zmacs comtabs.
* SOUNDEX Code for recognising similar words. By David Forster.
This is what FINGER.LISP uses for phonetic matching.
SPACE-WAR A one or two player space battle game. By John Nguyen.
SPACE-WAR-NET A multi-player version of the above that works over
the network. Both of these require the file
SPACE-DUEL-FONT.XLD, also in this directory.
SPELLER-ADDITIONS Enhancements to the code in SYS:PUBLIC.SPELLER; -
See the file SPELLER-ADDITIONS.TEXT for documentation.
SPIN Graphics hack by John Pezaris; kind of like ROCKS but
the objects follow spiral trajectories.
SPLINE-SCREENHACK Bounces a spline around the screen. Screensaver.
* STRIP-EXPLORER-FONTS CommonLisp code to strip out Explorer font-change
information from a source file. Some of the code in
this directory has font information in it, so if you
want to use it on another machine, you need to filter
the code through this first.
SUBDIR Some code for walking directory trees - includes a
function like the Unix 'du' program.
SYMBOL-HELP Makes the keyboard that comes up with Symbol-Help
display the current font instead of the default font.
+ TALK/ This directory contains code for translating english
text to phonetics, and speaking it using the D/A
converter. The speaking part doesn't quite work;
the translation part is portable Common Lisp.
See the file talk/_readme.text for details.
TALKSERVER Sets up a server for recording sound on the local host
and playing it on a remote machine - "want to go to
lunch?"
TELNET-NEWLINE-FIX When telnetting in to a TI from a Unix machine, you
cannot type Newline - so there is no way to complete
a READ-LINE. This fixes that.
TERM-N-FIX It is possible to see old notifications with the
PRINT-NOTIFICATIONS function - but if you saw the
notifications with Terminal-N (because they were
deferred, as by a screensaver) then once you have
viewed them they are gone. This fixes that.
TETRIS The dropping-blocks game; this has a two-player
competition mode as well. By John Nguyen. Requires
the file TETRIS-FONT.XLD from this directory.
TIMER-QUEUE A 'cron' like facility; more efficient than spawning
a process for some applications. By Dan Cerys.
UNIX-MANUAL Defines "Meta-X Manual Entry" to contact a unix machine
and (with REXEC) look up an entry in the unix manual.
The manual entry is put into a buffer, with some minor
fontification (headings are bold, and underlining is
turned into italics). Requires the code in the REXEC/
subdirectory of this archive.
+ UUMAPS Code for parsing the UUCP map files; includes an
almost-working 'pathalias' program.
UWM-INTERFACE For use with the KSL desktop; gives a 'uwm'-like
window management facility. By John Nguyen.
* VIDEO-TAPE Code for generating pretty PostScript labels for
video tapes. This should have a whizzy UI like
AUDIO-TAPE does, but...
VOICEMAIL A very simpleminded voicemail system. Requires
the code in EPSILONS.LISP and MAIL-FONT-PATCH.LISP.
WHOIS Given a user ID, looks up info in the namespace and
tells you about the user - real name, home host,
address, etc - in a pretty format. This is obsoleted
by the better code in FINGER.LISP.
* WRITE-PBM-RASTER Write a section of a bitmap to a PBM file. (PBM is
the common file format of a collection of image format
conversion tools by Jef Poskanzer.)
ZWEI-AUTOSAVE An auto-save mode for Zmacs. By John Nguyen. Requires
the file TIMER-QUEUE.LISP from this directory.
! ZWEI-METHOD-DOCUMENTATION Redefines the Describe Function (and Show
Arglist) commands to be much more clever. Describing
SEND really describes the method being sent; it's
clever about sends to SELF; describes all submethods
of a generic function; and lots more. See the
documentation in the file.
ZWEI-UNKNOWN-FONTS-PATCH If you visit a file which has a Fonts: field in
its -*- line which refers to a font which does not
exist on your system, Zmacs dives into the debugger.
This redefines things so that a *warning* is printed,
and the default font is substituted for the bad one.
This is very useful if someone (like me) uses custom
fonts that someone else (like you) doesn't have.
################################# :alex.
#Disclamer: Anyone who agrees # University of Maryland Baltimore County
#with me deserves what they get.# ····@umbc3.umbc.edu
#################################