123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771 |
- $1.00
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- Contents
- Gnu's Who 2
- What is the Free Software Foundation? 3
- GNU Project Status 4
- GNU Software Available Now 6
- How To Get GNU Software 7
- Emacs version 18 improvements 9
- GNU Wish List 10
- Free Software Foundation Order Form 11
- Thank Gnus 12
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- Gnu's Who
- In the first Bulletin there was a piece Gnu's Zoo telling of the
- various people working on Project Gnu and connecting them with an
- appropriate animal. Matching menageries of people to menageries of
- animals gets increasingly hard to do. So I have settled for
- presenting just the biography without the bestiary.
- Paul Rubin started working for the Foundation full time this summer
- and is now helping us again in January. During the school year he
- studies mathematics at UC Berkeley. He's written a number of GNU
- utilities including the C Compatible Compiler Preprocessor (CCCP),
- worked on getting the printed Emacs manuals made, and is now
- developing kernel maintenance tools for TRIX. He likes jazz and
- classical music and hates cats.
- hack (Jay Fenlason) joined project GNU full time this fall. Jay is
- finishing the awk program started by Paul Rubin. Jay says of himself:
- "I've been a UNIX hacker since high school, I wrote the original
- version of Hack, and various obscure utilities. I'm most famous for
- my work on various Logo interpreters, including LSRHS/Childrens Museum
- logo, and TLC logo for the Commodore Amiga. When I'm not hacking, I
- read, write poetry, and play role-playing games."
- Diane Wells has been helping all summer and fall and winter,
- answering the mail and filling orders.
- Stephen Gildea redesigned the Emacs reference card for version 18.
- The new reference card source uses TeX instead of a proprietary
- formatting program.
- Pierre MacKay typeset the masters that the Emacs manual
- pages were shot from on his high quality phototypesetter.
- ----------------------------------------------------------------------
- G N U ' S B U L L E T I N Copyright January 1987
- by the Free Software Foundation.
- Editor: Jerome E. Puzo
- Asst. Editor Paul Rubin
- Permission is granted to anyone to make or distribute verbatim
- copies of this document as received, in any medium, provided that
- the copyright notice and permission notice are preserved, and
- that the distributor grants the recipient permission for further
- redistribution as permitted by this notice.
- -2-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- What is the Free Software Foundation?
- by Richard M. Stallman
- The Free Software Foundation is dedicated to eliminating restrictions
- on copying, redistribution, understanding and modification of software.
- The word "free" in our name does not refer to price; it refers to
- freedom. First, the freedom to copy a program and redistribute it to
- your neighbors, so that they can use it as well as you. Second, the
- freedom to change a program, so that you can control it instead of it
- controlling you; for this, the source code must be made available to
- you.
- The Foundation works to give you these freedoms by developing free
- compatible replacements for proprietary software. Specifically, we
- are putting together a complete, integrated software system "GNU" that
- is upward-compatible with Unix. When it is released, everyone will be
- permitted to copy it and distribute it to others; in addition, it will
- be distributed with source code, so you will be able to learn about
- operating systems by reading it, to port it to your own machine, to
- improve it, and to exchange the changes with others.
- There are already organizations that distribute free CPM and MSDOS
- software. The Free Software Foundation is doing something different.
- 1. The other organizations exist primarily for distribution; they
- distribute whatever happens to be available. We hope to provide a
- complete integrated free system that will eliminate the need for any
- proprietary software.
- 2. One consequence is that we are now interested only in software
- that fits well into the context of the GNU system. Distributing
- free MSDOS or Macintosh software is a useful activity, but it is
- not part of our game plan.
- 3. Another consequence is that we will actively attempt to improve and
- extend the software we distribute, as fast as our manpower permits.
- For this reason, we will always be seeking donations of money,
- computer equipment or time, labor, and source code to improve the GNU
- system.
- 4. In fact, our primary purpose is this software development effort;
- distribution is just an adjunct which also brings in some money. We
- think that the users will do most of the distribution on their own,
- without needing or wanting our help.
- Why a Unix-Like System?
- It is necessary to be compatible with some widely used system to give
- our system an immediate base of trained users who could switch to it
- easily and an immediate base of application software that can run on
- it. (Eventually we will provide free replacements for proprietary
- application software as well, but that is some years in the future.)
- [cont'd on next page]
- -3-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- We chose Unix because it is a fairly clean design which is already
- known to be portable, yet whose popularity is still rising. The
- disadvantages of Unix seem to be things we can fix without removing
- what is good in Unix.
- Why not imitate MSDOS or CPM? They are more widely used, true, but
- they are also very weak systems, designed for tiny machines. Unix is
- much more powerful and interesting. When a system takes years to
- implement, it is important to write it for the machines that will
- become available in the future; not to let it be limited by the
- capabilities of the machines that are in widest use at the moment but
- will be obsolete when the new system is finished.
- Why not aim for a new, more advanced system, such as a Lisp Machine?
- Mainly because that is still more of a research effort; there is a
- sizeable chance that the wrong choices will be made and the system
- will turn out not very good. In addition, such systems are often tied
- to special hardware. Being tied to one manufacturer's machine would
- make it hard to remain independent of that manufacturer and get broad
- community support.
- -----------------------------------
- Status of the GNU project, last updated 3 January 1987.
- by RMS
- (See also the article "GNU Software Available Now", on page 6 of this
- issue).
- * GNU Emacs and GDB.
- GNU Emacs and GDB are already released. Berkeley is distributing GNU
- Emacs with the 4.3 distribution, and DEC is going to distribute it with
- Unix systems on Vaxes.
- * gsh, the GNU imitation C shell.
- Beta-test release of a C shell with input editing and
- compilation of shell scripts is expected at the end of January.
- The same program is supposed to imitate sh, but that doesn't work yet.
- * Kernel.
- I am planning to use a remote procedure call kernel called TRIX,
- developed at MIT, as the GNU kernel. It runs, and supports basic
- Unix compatibility, but needs a lot of new features. Its authors
- have decided to distribute it free. It was developed on an obscure,
- expensive 68000 box designed years ago at MIT.
- In December 1986, we started working on the changes needed to TRIX.
- [cont'd]
- -4-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- * C compiler
- I am now working on finishing a new portable optimizing C compiler.
- It supports the Oct 1986 draft of ANSI C and has compiled both
- itself and GNU Emacs. However, I plan to make some rearrangements
- in order to enable compilation of arbitrarily large functions in
- bounded amounts of memory, though with some decrease in optimization
- compared to what can be done with lots of memory.
- The compiler performs automatic register allocation, common
- subexpression elimination, invariant code motion from loops, constant
- propagation and copy propagation, delaying popping of function call
- arguments, plus many local optimizations that are automatically
- deduced from the machine description. By the time it is finished it
- will probably also know when to keep constant addresses in registers.
- It makes shorter and faster 68020 code than the sun compiler with -O.
- A new cpp was written last summer. It is as fast as the Unix cpp.
- PHR is now making it support the Oct 1986 standard.
- * Assembler.
- An assembler has been written. It works well on Vaxes but proves to
- be harder to port than I had hoped, so some rewriting is needed to
- simplify the interface between the machine-dependent portions and the
- machine-independent ones.
- * Window system.
- I plan to use the X window system written at MIT. This system
- is already available free.
- * Documentation system.
- I now have a truly compatible pair of programs which can convert
- a file of texinfo format documentation into either a printed manual
- or an Info file.
- Documentation files are needed for many utilities.
- * Stdio
- A free stdio system has just been received.
- * Other utilities.
- The GNU `ls', `grep', `make' and `ld' are in regular use. `tar'
- recently appeared on USENET net.sources. The other object-file
- management utilities are written too. `cron' and `at' were recently
- submitted, and so was `m4'. The assembler works for the Vax, but
- proves to be hard to port, so it may need considerable rewriting.
- `awk' is now in final testing stages. `diff' is making progress. We
- have a program like `lex' but not fully compatible; work is required
- on it.
- [continued on page 8]
- -5-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- GNU Software Available Now
- * GNU Emacs
- In 1975, Richard Stallman developed the first Emacs: the
- extensible, customizable real-time display editor. GNU Emacs is
- his second implementation of Emacs. It's the first Emacs available
- on Unix systems which offers true Lisp, smoothly integrated into the
- editor, for writing extensions. It also provides a special interface
- to MIT's free X window system, which makes redisplay very fast.
- GNU Emacs has been in widespread use since 1985 and often, as at
- MIT's Project Athena, displaces proprietary implementations of Emacs
- because of its greater reliability as well as its good features
- and easier extensibility.
- GNU Emacs has run on many kinds of Unix systems: those made by Alliant
- (system release 1 or 2), AT&T (3b machines and 7300 pc), Celerity,
- Digital (Vax, not PDP-11), Dual, Encore, Gould, HP (9000 series 200 or
- 300 but not series 500), IBM (RT/PC running 4.2), Integrated Solutions
- (Optimum V with 68020 and VMEbus), Masscomp, Megatest, NCR (Tower 32),
- Plexus, Pyramid, Sequent, Stride (system release 2), Sun (any kind),
- Tahoe, Tektronix (NS16000 system), Texas Instruments (Nu), Whitechapel
- (MG1), and Wicat. These include both Berkeley Unix and System V
- (release 0, 2 or 2.2). It also runs on Apollo machines and on
- VAX/VMS.
- GNU Emacs use is described by the GNU Emacs Manual, available from
- the Free Software Foundation.
- * GDB
- GDB is the source-level C debugger written for the GNU project in 1986.
- It offers many features not usually found in debuggers on Unix, such
- as a history that records all values examined within the debugger for
- concise later reference, multi-line user-defined commands, and a
- strong self-documentation capability. It currently runs on Vaxes
- and Suns (systems version 2 and 3).
- A users' manual for GDB is available from the Foundation.
- * GNU CC
- The GNU C compiler is a fairly portable optimizing compiler. It
- generates good 68000 and 68020 code and generated good Vax code when
- it was last tested for the Vax. It features automatic register
- packing that makes register declarations unnecessary. It supports
- full ANSI C as of the latest draft standard. We expect to release the
- compiler in 1st quarter 1987.
- * Bison
- Bison is an upward-compatible replacement for YACC, with some
- additional undocumented features. It has been in use for a couple
- of years.
- [Cont'd]
- -6-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- * X Window System
- X is a portable, network transparent window system for bitmap displays
- written at MIT and DEC. It currently runs on DEC VAXstation, Lexidata
- 90, and most Sun Microsystems displays, with others in the works. X
- supports overlapping windows, fully recursive subwindows, and provides
- hooks for several different styles of user interface. Applications
- provided include a terminal emulator, bitmap editor, several window
- managers, clock, window dump and undump programs, hardcopy printing
- program for the LN03 printer, several typesetting previewers, and more.
- * MIT Scheme
- Scheme is a simplified, lexically scoped dialect of Lisp, designed at
- MIT and other universities for two purposes: teaching students of
- programming, and researching new parallel programming constructs
- and compilation techniques. MIT Scheme is written in C and runs on
- many kinds of Unix systems.
- Sorry, there is no documentation for the current distribution version
- of MIT Scheme. A new standard for Scheme has been designed by the
- various labs that work on Scheme, and work is going on at MIT to
- change MIT Scheme to fit. Once that is done, the standard will serve
- as a manual for MIT Scheme. At that time, we will distribute both the
- new release of Scheme and the standard.
- * GNU Chess
- GNU Chess was written in 1986 by Stuart Cracraft, who is continuing to
- develop it. It comes with an interface to the X window system to
- display a pretty chessboard. It also has an opening book which is
- being added to all the time.
- * Hack
- Hack is a display oriented adventure game similar to Rogue.
- ----------------------------------------
- H O W T O G E T G N U S O F T W A R E
- All software and publications are distributed with a permission to
- copy and redistribute. The easiest way to get a copy of GNU Software
- is from someone else who has it. You need not ask for permission;
- just copy it.
- If you have access to the Internet, you can get the latest
- distribution version of GNU Software from host: `prep.ai.mit.edu'
- For more info read: `/u2/emacs/GETTING.GNU.SOFTWARE' on said host.
- If you cannot get a copy in any of these ways, you can order one from
- the Free Software Foundation. Please consult the accompanying Order
- Form for prices and details.
- -7-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- GNU PROJECT STATUS, continued from page 5
- * Free Software Foundation.
- The foundation exists for two purposes: to accept gifts to
- support GNU development, and to carry out distribution.
- We are now tax exempt; you can deduct donations to us
- on your tax returns.
- Our address is
- Free Software Foundation
- 1000 Mass Ave
- Cambridge, MA 02138
- and our phone number is (617) 876-3296.
- * Service directory.
- The foundation now maintains a Service Directory; a list of people
- who offer service to individual users of GNU Emacs and, eventually,
- all parts of the GNU system. Service can be answering questions
- for new users, customizing programs, porting to new systems, or
- anything else.
- * Possible target machines.
- GNU will require a cpu that uses 32-bit addresses and integers and
- addresses to the 8-bit byte. 1 meg of core should be enough, though 2
- meg would probably make a noticeable improvement in performance.
- Running much of the system in 1/2 meg may be possible, but certainly
- not GNU Emacs. I do not expect that virtual memory will be required,
- but it is VERY desirable in any case.
- GNU Emacs requires more than a meg of addressable memory in the system,
- although a meg of physical memory is probably enough if there is
- virtual memory.
- A hard disk will be essential; at least 20 meg will be needed to hold
- the system plus the source code plus the manual plus swapping space.
- Plus more space for the user's files, of course.
- I'd recommend 80meg for a personal GNU system.
- This is not to say that it will be impossible to adapt some or all
- of GNU for other kinds of machines; but it may be difficult, and
- I don't consider it part of my job to try to reduce that difficulty.
- I have nothing to say about any specific models of microcomputer,
- as I do not follow hardware products.
- * Porting.
- It is too early to inquire about porting GNU (except GNU Emacs).
- First, we have to finish it.
- -8-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- Emacs 18 runs on Vax VMS.
- * GNU Emacs now runs on Vax VMS.
- * Searching is several times faster.
- * Running out of memory is never fatal.
- Memory usage for strings is cut in half by a new garbage collector.
- * GNU Emacs can emulate other editors: EDT, VI, Gosmacs.
- * New major modes for LaTeX, Fortran, Scribe, Modula2 and Prolog.
- * Terminal-independent function keys.
- The first, terminal-dependent level converts a terminal's function key
- codes into standard codes. The second level maps these into commands.
- Users can customize the second level and enjoy the same results
- automatically on all terminal types.
- * All C-c LETTER keys are reserved for users. Such commands
- previously defined by Mail mode, Picture mode and Telnet mode have
- been moved.
- * New Commands
- ** Buffer-sorting commands.
- Various new commands sort the lines, paragraphs or pages in the
- region; they can also sort lines according to fields or columns.
- ** `occur' output now serves as a menu.
- `M-x occur' now allows you to move quickly to any of the occurrences
- listed. To do this, select the `*Occur*' buffer that contains the
- output of `occur', move point to the occurrence you want, and type C-c
- C-c.
- ** Meta-TAB performs completion on the Emacs Lisp symbol name in the buffer.
- ** Dynamic abbreviation package.
- The new command Meta-/ expands an abbreviation in the buffer before point
- by searching the buffer for words that start with the abbreviation.
- ** `c-tab-always-indent' parameter tells TAB in C mode to insert a
- tab character when used in the middle of a line.
- ** Outline mode is customizable.
- You can now specify with a regexp which lines are outline headings.
- Lines that separate pages are always considered headings.
- * File saving changes
- ** Undo says "not modified" only when the buffer matches the disk file.
- [cont'd on next page]
- -9-
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- ** Auto save file name now has `#' at end.
- For a file `foo', the auto save file is now called `#foo#'. This is
- so that `*.c' in a shell command will never match auto save files.
- ** M-x recover-file checks file dates.
- M-x recover-file is used to recover a file's contents from its auto
- save file. Now this command checks the date of the auto save file
- and offers to recover from it only if it is newer.
- ** Modifying a buffer whose file is changed on disk is detected instantly.
- Thus, you are warned that something is wrong before you go ahead and
- create a skewed version of the file.
- ** Exiting Emacs offers to save `*mail*'.
- ** M-x ftp-find-file and M-x ftp-write-file read and write files via Internet.
- ** Precious files. If you mark a buffer "precious", Emacs will save
- it by renaming so that there is no time between the disappearance of
- the old file and the appearance of the new one. This is used for RMAIL files.
- * Existing Emacs usable as a server for `mail', etc.
- Programs that invoke a user-specified editor as a temporary inferior
- can now be told to use an existing Emacs process instead.
- * M-x disassemble disassembles byte-compiled Emacs Lisp functions.
- * `substitute-key-definition' finds all keys defined as one command
- and redefines them all as another command.
- * New hooks for file I/O.
- You can set up multiple hooks for finding and saving files. These can
- arrange automatically to get files via RCS, uncompression, ftp, etc.
- * New data structure controls mode line format.
- Now it is possible to change one aspect of what appears in the mode line
- independently of what is being done with the rest of the mode line.
- ----------------------------------------------------------------------
- GNU Wish List
- The GNU project can always use donations of money or equipment.
- Specifically, we could use:
- * Salary for two more full time programers.
- * A computer powerful enough to develop the GNU kernel on. This means
- a 68xxx/32xxx class processor with several meg of main memory and
- an 80 meg disk.
- * Local volunteers to help mail tapes and manuals to our clients, and
- answer mail. We need about 10 person-hours/week of help doing this.
- * Dedicated people, with C and Unix knowledge, especially those with
- a local (Cambridge and surrounds) address, to write programs and
- documentation. Ask for our task list if you want to help.
- -10-
- Free Software Foundation Order Form
- January 1987
- All software and publications are distributed with permission to copy
- and redistribute.
- Quantity Price
- _______ $150 GNU Emacs source code, on 1600bpi industry standard
- magnetic tape in tar format. The tape also contains
- Scheme, Hack, Bison, GNU Chess, GDB, and the X window
- system.
- _______ $175 Same data as above, on a DC300XL 1/4" cartridge tape.
- _______ $150 GNU Emacs source code, on 1600bpi industry standard
- magnetic tape in VMS interchange format.
- _______ $15 GNU Emacs manual. This includes a reference card.
- The source for this manual also comes with the tape.
- (~300 pages)
- Thus, one 1600bpi tape and one manual come to $165.
- _______ $60 Box of six GNU Emacs manuals, shipped book rate.
- _______ $1 GNU Emacs reference card.
- _______ $5 Ten GNU Emacs reference cards.
- _______ $10 GDB manual. The source for this manual also comes
- with the source for GDB. (~50 pages)
- _______ $10 TeXinfo manual. The source for this manual also comes
- with the Emacs source. (~30 pages)
- $_________ 5% Massachusetts sales tax, if applicable.
- $_________ Optional tax deductable donation
- $_________ Total amount enclosed
- Shipping outside of North America is normally by surface mail, which is
- very slow. For air mail delivery, please add $15 per tape or manual,
- $1 for an individual reference card, or 50 cents per card in
- quantities of 10 or more.
- Orders are filled upon receipt of check or money order. We do not
- have the staff to handle the billing of unpaid orders. Please help
- keep our lives simple by including your payment with your order. Make
- checks payable to the Free Software Foundation, and mail orders to:
- Free Software Foundation phone: (617) 876-3296.
- 1000 Massachusetts Avenue
- Cambridge, MA 02138
- Prices are subject to change without notice. All software from the
- Free Software Foundation is provided on an ``as is'' basis, with no
- warranty of any kind.
- ----------------------------------------------------------------------
- January 1987 G N U ' S B U L L E T I N Volume 1 No.2
- ----------------------------------------------------------------------
- Thank Gnus
- The Free Software Foundation would like to send special thank gnus to
- the following:
- Thanks to Stacy Goldstein. Stacy answered the mail and filled orders
- for FSF. Her efforts got us thru a very busy season. She then left
- to continue her studies in Hawaii which she claims "is as good as they
- say".
- Thanks to Todd Cooper and Henry Mensch. They also helped out in the
- mail room.
- Thanks to the MIT Laboratory for Computer Science. The LCS has
- provided FSF with the loan of a TI Nu machine and a Microvax for
- program development.
- Thanks to Professor Dertouzos, head of LCS. His specific decision to
- support us is greatly appreciated.
- Thanks to the MIT Artificial Intelligence Laboratory for invaluable
- assistance of many kinds.
- Thanks to Lisp Machine, Inc. LMI has generously provided office space,
- computer resources and a mailing address for FSF.
- Thanks to the European Unix Users' Group of Sweden and the Swedish
- Royal Institute of Technology for their generous donations.
- Thanks to those who sent money and offered help. Thanks also to those
- who support us by ordering Emacs manuals and distribution tapes.
- The creation of this bulletin is our way of thanking all who have
- expressed interest in what we are doing.
- *end*
- ----------------------------------------------------------------------
- -------
- | |
- Free Software Foundation, Inc. | stamp |
- 1000 Mass Ave | |
- Cambridge, MA 02138 | here |
- | |
- -------
|