








								      $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	|
							|	|
							 -------
