+++ /dev/null
-Date: Mon, 16 Feb 87 15:04:41 EST
-From: katinsky@gauss.rutgers.edu (David Katinsky)
-To: rms@prep.ai.mit.edu
-Subject: 3b2 procedure to raise MAXMEM
-
-Below is the procedure I followed to allow enough memory for GnuEmacs to run
-on my 3b2/400. The end result of this is that a process can snarf up to 2Mb
-of memory. This can be a bit dangerous on a 2Mb machine, but I tried it and
-it worked ok.
-
--------------------------------------------------------------------------------
-
-In the simplest case, these are the procedures to reconfigure a 3bx kernel.
-
-
-
-1] cd /etc/master.d
-
-`ls` shows the files to be:
-
-README ctc* hdelog idisk ipc iuart kernel mau
-mem msg ports* prf sem shm stubs sxt
-sys xt
-
-2] Edit the file which contains the parameter[s] you wish to change.
-In the following excerpt from /etc/master.d/kernel the value MAXMEM
-was raised from 256 to 1024.
-
-In V.3.0 and later releases, the parameter in question is MAXUMEM
-instead of MAXMEM.
-
-
- *
- * The following entries form the tunable parameter table.
- *
-
-
- NCALL = 30
- NPROC = 60
- NTEXT = 58
- NCLIST = 188
- * maxmem is number of pages (2K) was 256 --dmk
- MAXMEM = 1024
- MAXUP = 25
- * hashbuf must be a power of 2
- NHBUF = 128
- NPBUF = 8
-
-3] cd /boot
-
-4] mkboot -k KERNEL
-
-5] shutdown -i5 -g0 -y
-
-This will take the machine down and bring it back up into firmware
-mode. When you see that the machine has reached this state, type the
-firmware password (default=mcp). The machine will ask for the name of
-a program to execute. At this prompt enter /etc/system . The machine
-should start to boot and display its configuration data.
-
-
-
-8701271222 dmk
-
- [katinsky@topaz.rutgers.edu]
--------------------------------------------------------------------------------
-
-
-
-I do not feel that having the default firmware password is a
-problem... but if you wish to edit it out, feel free.
-
- dmk
-
-\1f
+++ /dev/null
-The following text was written by someone at IBM to describe an older
-version of the code for dumping on AIX. It does NOT apply to
-the current version of Emacs. It is included in case someone
-is curious.
-
-
-I (rms) couldn't understand the code, and I can't fully understand
-this text either. I rewrote the code to use the same basic
-principles, as far as I understood them, but more cleanly. This
-rewritten code does not always work. In fact, the basic method
-seems to be intrinsically flawed.
-
-Since then, someone else implemented a different way of dumping on
-the RS/6000, which does seem to work. None of the following
-applies to the way Emacs now dumps on the 6000. However, the
-current method fails to use shared libraries. Anyone who might be
-interested in trying to resurrect the previous method might still
-find the following information useful.
-
-
-It seems that the IBM dumping code was simply set up to detect when
-the dumped data cannot be used, and in that case to act approximately
-as if CANNOT_DUMP had been defined all along. (This is buried in
-paragraph 1.) It seems simpler just to define CANNOT_DUMP, since
-Emacs is not set up to decide at run time whether there is dumping or
-not, and doing so correctly would be a lot of work.
-
-Note that much of the other information, such as the name and format
-of the dumped data file, has been changed.
-
-
- --rms
-
-
-
- A different approach has been taken to implement the
-"dump/load" feature of GNU Emacs for AIX 3.1. Traditionally the
-unexec function creates a new a.out executable file which contains
-preloaded Lisp code. Executing the new a.out file (normally called
-xemacs) provides rapid startup since the standard suite of Lisp code
-is preloaded as part of the executable file.
-
- AIX 3.1 architecture precludes the use of this technique
-because the dynamic loader cannot guarantee a fixed starting location
-for the process data section. The loader loads all shared library
-data BEFORE process data. When a shared library changes its data
-space, the process initial data section address (_data) will change
-and all global process variables are automatically relocated to new
-addresses. This invalidates the "dumped" Emacs executable which has
-data addresses which are not relocatable and now corrupt. Emacs would
-fail to execute until rebuilt with the new libraries.
-
- To circumvent the dynamic loader feature of AIX 3.1, the dump process
-has been modified as follows:
-
- 1) A new executable file is NOT created. Instead, both pure and
- impure data are saved by the dump function and automatically
- reloaded during process initialization. If any of the saved data
- is unavailable or invalid, loadup.el will be automatically loaded.
-
- 2) Pure data is defined as a shared memory segment and attached
- automatically as read-only data during initialization. This
- allows the pure data to be a shared resource among all Emacs
- processes. The shared memory segment size is PURESIZE bytes.
- If the shared memory segment is unavailable or invalid, a new
- shared memory segment is created and the impure data save file
- is destroyed, forcing loadup.el to be reloaded.
-
- 3) The ipc key used to create and access Emacs shared memory is
- SHMKEY and can be overridden by the environment symbol EMACSSHMKEY.
- Only one ipc key is allowed per system. The environment symbol
- is provided in case the default ipc key has already been used.
-
- 4) Impure data is written to the ../bin/.emacs.data file by the
- dump function. This file contains the process' impure data
- at the moment of load completion. During Emacs initialization,
- the process' data section is expanded and overwritten
- with the .emacs.data file contents.
-
- The following are software notes concerning the GNU Emacs dump function under AIX 3.1:
-
- 1) All of the new dump/load code is activated by the #ifdef SHMKEY
- conditional.
-
- 2) The automatic loading of loadup.el does NOT cause the dump function
- to be performed. Therefore once the pure/impure data is discarded,
- someone must remake Emacs to create the saved data files. This
- should only be necessary when Emacs is first installed or whenever
- AIX is upgraded.
-
- 3) Emacs will exit with an error if executed in a non-X environment
- and the dump function was performed within a X window. Therefore
- the dump function should always be performed in a non-X
- environment unless the X environment will ALWAYS be available.
-
- 4) Emacs only maintains the lower 24 bits of any data address. The
- remaining upper 8 bits are reset by the XPNTR macro whenever any
- Lisp object is referenced. This poses a serious problem because
- pure data is stored in segment 3 (shared memory) and impure data
- is stored in segment 2 (data). To reset the upper 8 address bits
- correctly, XPNTR must guess as to which type of data is represented
- by the lower 24 address bits. The technique chosen is based upon
- the fact that pure data offsets in segment 3 range from
- 0 -> PURESIZE-1, which are relatively small offsets. Impure data
- offsets in segment 2 are relatively large (> 0x40000) because they
- must follow all shared library data. Therefore XPNTR adds segment
- 3 to each data offset which is small (below PURESIZE) and adds
- segment 2 to all other offsets. This algorithm will remain valid
- as long as a) pure data size remains relatively small and b) process
- data is loaded after shared library data.
-
- To eliminate this guessing game, Emacs must preserve the 32-bit
- address and add additional data object overhead for the object type
- and garbage collection mark bit.
-
- 5) The data section written to .emacs.data is divided into three
- areas as shown below. The file header contains four character
- pointers which are used during automatic data loading. The file's
- contents will only be used if the first three addresses match
- their counterparts in the current process. The fourth address is
- the new data segment address required to hold all of the preloaded
- data.
-
-
- .emacs.data file format
-
- +---------------------------------------+ \
- | address of _data | \
- +---------------------------------------+ \
- | address of _end | \
- +---------------------------------------+ file header
- | address of initial sbrk(0) | /
- +---------------------------------------+ /
- | address of final sbrk(0) | /
- +---------------------------------------+ /
- \ \
- \ \
- all data to be loaded from
- _data to _end
- \ \
- \ \
- +---------------------------------------+
- \ \
- \ \
- all data to be loaded from
- initial to final sbrk(0)
- \ \
- +---------------------------------------+
-
-
- Sections two and three contain the preloaded data which is
- restored at locations _data and initial sbrk(0) respectively.
-
- The reason two separate sections are needed is that process
- initialization allocates data (via malloc) prior to main()
- being called. Therefore _end is several kbytes lower than
- the address returned by an initial sbrk(0). This creates a
- hole in the process data space and malloc will abort if this
- region is overwritten during the load function.
-
- One further complication with the malloc'd space is that it
- is partially empty and must be "consumed" so that data space
- malloc'd in the future is not assigned to this region. The malloc
- function distributed with Emacs anticipates this problem but the
- AIX 3.1 version does not. Therefore, repeated malloc calls are
- needed to exhaust this initial malloc space. How do you know
- when malloc has exhausted its free memory? You don't! So the
- code must repeatedly call malloc for each buffer size and
- detect when a new memory page has been allocated. Once the new
- memory page is allocated, you can calculate the number of free
- buffers in that page and request exactly that many more. Future
- malloc requests will now be added at the top of a new memory page.
-
- One final point - the initial sbrk(0) is the value of sbrk(0)
- after all of the above malloc hacking has been performed.
-
-
- The following Emacs dump/load issues need to be addressed:
-
- 1) Loadup.el exits with an error message because the xemacs and
- emacs-xxx files are not created during the dump function.
-
- Loadup.el should be changed to check for the new .emacs.data
- file.
-
- 2) Dump will only support one .emacs.data file for the entire
- system. This precludes the ability to allow each user to
- define his/her own "dumped" Emacs.
-
- Add an environment symbol to override the default .emacs.data
- path.
-
- 3) An error message "error in init file" is displayed out of
- startup.el when the dumped Emacs is invoked by a non-root user.
- Although all of the preloaded Lisp code is present, the important
- purify-flag has not been set back to Qnil - precluding the
- loading of any further Lisp code until the flag is manually
- reset.
-
- The problem appears to be an access violation which will go
- away if the read-write access modes to all of the files are
- changed to rw-.
-
- 4) In general, all file access modes should be changed from
- rw-r--r-- to rw-rw-rw-. They are currently setup to match
- standard AIX access modes.
-
- 5) The dump function is not invoked when the automatic load of
- loadup.el is performed.
-
- Perhaps the command arguments array should be expanded with
- "dump" added to force an automatic dump.
-
- 6) The automatic initialization function alloc_shm will delete
- the shared memory segment and .emacs.data file if the "dump"
- command argument is found in ANY argument position. The
- dump function will only take place in loadup.el if "dump"
- is the third or fourth command argument.
-
- Change alloc_shm to live by loadup.el rules.
-
* tasks.texi: Updated to the version from /gd/gnuorg.
+ * FTP: Refer to the GNU web site.
+
2000-10-13 John Wiegley <johnw@gnu.org>
* NEWS: Added a note about Eshell.
- -*- text -*-
-How to get GNU Software by Internet FTP or by UUCP. Last updated 1999-01-20
-
-* Please send improvements to this file to gnu@gnu.org.
-
-* No Warranties
-
-We distribute software in the hope that it will be useful, but without
-any warranty. No author or distributor of this software accepts
-responsibility to anyone for the consequences of using it or for
-whether it serves any particular purpose or works at all, unless he
-says so in writing. This is exactly the same warranty that the commercial
-software companies offer: None. If the distribution is incomplete or the
-media fails, you can always download a replacement from any of the GNU
-mirrors, free of charge.
-
-* Updates
-
-A possibly more up-to-date list of GNU FTP sites is at
- http://www.gnu.org/order/ftp.html
-
-* How to FTP
-
-Use the ftp program on your system (ask locally if you can't find it)
-to connect to the host you are ftping from. Unless indicated
-otherwise, login in as user "anonymous", with password: "your e-mail
-address" and set "binary" mode (to transfer all eight bits in each
-byte).
-
-ALWAYS USE BINARY/IMAGE MODE TO TRANSFER THESE FILES!
-Text mode does not work for tar files or compressed files.
-
-* GNU Software and How To FTP It
-
-GNU software is available on ftp.gnu.org under the directory /gnu.
-diff files to convert between versions exist for some of these
-programs. Some programs have misc support files as well. Have a look
-on ftp.gnu.org to see which ones. In most cases, the tar or diff
-files are compressed with the `gzip' program; this is indicated with
-the .gz suffix.
-
-Descriptions of GNU software are available at
- http://www.gnu.org/software/software.html
-
-* Alternative Internet FTP Sources
-
-Please do NOT use a site outside your country, until you have checked
-all sites inside your country, and then your continent. Trans-ocean
-TCP/IP links are very expensive and usually very low speed.
-
-The canonical GNU ftp site is located at ftp.gnu.org/gnu.
-You should probably use one of the many mirrors of that site - the
-mirrors will be less busy, and you can find one closer to your site.
-
-* GNU FTP Site Mirror List
-
-United States:
-
-
-California - labrea.stanford.edu/pub/gnu, gatekeeper.dec.com/pub/GNU
-Hawaii - ftp.hawaii.edu/mirrors/gnu
-Illinois - uiarchive.cso.uiuc.edu/pub/gnu (Internet address 128.174.5.14)
-Kentucky - ftp.ms.uky.edu/pub/gnu
-Maryland - ftp.digex.net/pub/gnu (Internet address 164.109.10.23)
-Massachusetts - aeneas.mit.edu/pub/gnu
-Michigan - gnu.egr.msu.edu/pub/gnu
-Missouri - wuarchive.wustl.edu/systems/gnu
-New Mexico - ftp.cs.unm.edu/mirrors/gnu
-New York - ftp.cs.columbia.edu/archives/gnu/prep
-Ohio - ftp.cis.ohio-state.edu/mirror/gnu
-Tennessee - ftp.skyfire.net/pub/gnu
-Virginia - ftp.uu.net/archive/systems/gnu
-Washington - ftp.nodomainname.net/pub/mirrors/gnu
-
-Africa:
-
-South Africa - ftp.sun.ac.za/gnu
-
-The Americas:
-
-Brazil - ftp.unicamp.br/pub/gnu
-Brazil - master.softaplic.com.br/pub/gnu
-Brazil - linuxlabs.lci.ufrj.br/gnu
-Canada - ftp.cs.ubc.ca/mirror2/gnu
-Chile - ftp.inf.utfsm.cl/pub/gnu (Internet address 146.83.198.3)
-Costa Rica - sunsite.ulatina.ac.cr/GNU
-Mexico - ftp.uaem.mx/pub/gnu
-
-Australia:
-
-Australia - archie.au/gnu (archie.oz or archie.oz.au for ACSnet)
-Australia - ftp.progsoc.uts.edu.au/pub/gnu
-Australia - mirror.aarnet.edu.au/pub/gnu
-
-Asia:
-
-Japan - tron.um.u-tokyo.ac.jp/pub/GNU/prep
-Japan - ftp.cs.titech.ac.jp/pub/gnu
-Korea - cair-archive.kaist.ac.kr/pub/gnu (Internet address 143.248.186.3)
-Saudi Arabia - ftp.isu.net.sa/pub/mirrors/prep.ai.mit.edu/
-Taiwan - ftp.edu.tw/UNIX/gnu/
-Taiwan - ftp.nctu.edu.tw/UNIX/gnu/
-Taiwan - ftp1.sinica.edu.tw/pub3/GNU/gnu/
-Thailand - ftp.nectec.or.th/pub/mirrors/gnu (Internet address - 192.150.251.32)
-
-Europe:
-
-Austria - ftp.univie.ac.at/packages/gnu
-Austria - gd.tuwien.ac.at/gnu/gnusrc
-Belgium - ftp.be.gnu.org/
-Austria - http://gd.tuwien.ac.at/gnu/gnusrc/
-Czech Republic - ftp.fi.muni.cz/pub/gnu/
-Denmark - ftp.denet.dk/mirror/ftp.gnu.org/pub/gnu
-Denmark - ftp.dkuug.dk/pub/gnu/
-Finland - ftp.funet.fi/pub/gnu
-France - ftp.univ-lyon1.fr/pub/gnu
-France - ftp.irisa.fr/pub/gnu
-Germany - ftp.informatik.tu-muenchen.de/pub/comp/os/unix/gnu/
-Germany - ftp.informatik.rwth-aachen.de/pub/gnu
-Germany - ftp.de.uu.net/pub/gnu
-Greece - ftp.forthnet.gr/pub/gnu
-Greece - ftp.ntua.gr/pub/gnu
-Greece - ftp.aua.gr/pub/mirrors/GNU (Internet address 143.233.187.61)
-Hungary - ftp.kfki.hu/pub/gnu
-Ireland - ftp.esat.net/pub/gnu (Internet address 193.120.14.241)
-Italy - ftp.oasi.gpa.it/pub/gnu
-Netherlands - ftp.eu.net/gnu (Internet address 192.16.202.1)
-Netherlands - ftp.nluug.nl/pub/gnu
-Netherlands - ftp.win.tue.nl/pub/gnu (Internet address 131.155.70.19)
-Norway - ftp.ntnu.no/pub/gnu (Internet address 129.241.11.142)
-Poland - ftp.task.gda.pl/pub/gnu
-Portugal - ftp.ci.uminho.pt/pub/mirrors/gnu
-Portugal - http://ciumix.ci.uminho.pt/mirrors/gnu/
-Portugal - ftp.ist.utl.pt/pub/gnu
-Russia - ftp.chg.ru/pub/gnu/
-Slovenia - ftp.arnes.si/pub/software/gnu
-Spain - ftp.etsimo.uniovi.es/pub/gnu
-Sweden - ftp.isy.liu.se/pub/gnu
-Sweden - ftp.stacken.kth.se
-Sweden - ftp.luth.se/pub/unix/gnu
-Sweden - ftp.sunet.se/pub/gnu (Internet address 130.238.127.3)
- Also mirrors the Mailing List Archives.
-Sweden - swamp.ios.chalmers.se/pub/gnu/
-Switzerland - ftp.eunet.ch/mirrors4/gnu
-Switzerland - sunsite.cnlab-switch.ch/mirror/gnu (Internet address 193.5.24.1)
-United Kingdom - ftp.mcc.ac.uk/pub/gnu (Internet address 130.88.203.12)
-United Kingdom - unix.hensa.ac.uk/mirrors/gnu
-United Kingdom - ftp.warwick.ac.uk (Internet address 137.205.192.14)
-United Kingdom - SunSITE.doc.ic.ac.uk/gnu (Internet address 193.63.255.4)
-
-* How to FTP GNU Emacs
-
-Emacs is in the directory /gnu/emacs on ftp.gnu.org. The emacs
-distribution itself has a filename in the form emacs-M.N.tar.gz, where
-M and N stand for the version numbers; the Emacs Lisp Reference Manual
-is in a separate file, named elisp-manual-NN.tar.gz.
-
-* Scheme and How to FTP It
-
-The latest distribution version of C Scheme is available via anonymous FTP
-from swiss-ftp.ai.mit.edu in /pub/scheme-X.X/ (where X.X is some version
-number).
-
-Read the files INSTALL and README in the top level C Scheme directory.
-
-* TeX and How to Obtain It
-
-We don't distribute TeX now, but it is free software.
-
-TeX is a document formatter that is used, among other things, by the FSF
-for all its documentation. You will need it if you want to make printed
-manuals.
-
-TeX is freely redistributable. You can get it by ftp, tape, or CD/ROM.
-
-** For FTP instructions, retrieve the file
-ftp.cs.umb.edu/pub/tex/unixtex.ftp. (We don't include it here because it
-changes relatively frequently. Sorry.)
-
-** A minimal TeX collection (enough to process Texinfo files, anyway)
-is included on the GNU source CD-ROM. See the file ORDERS in this
-directory for more information.
-
-* VMS FTP sites with GNU Software
-You can anonymously ftp a VMS version of GNU emacs from:
- - ftp.vms.stacken.kth.se:[.GNU-VMS] - GNU Emacs and some other VMS
-ports (and some VMS binaries) of GNU software
- - mango.rsmas.miami.edu has a VMS version of the GCC/G++ compiler.
-Contact angel@flipper.miami.edu (angel li) for details.
- - RIGEL.EFD.LTH.SE [130.235.48.3] - GNU Emacs
-
-* Getting GNU software in Great Britain
-
-jpo@cs.nott.ac.uk is willing to distribute those GNU sources he has
-available. The smaller items are available from the info-server (send
-to info-server@cs.nott.ac.uk); the larger items by negotiation. Due to
-communication costs this service is only available within the UK.
-
-BattenIG@computer-science.birmingham.ac.uk (aka
-I.G.Batten@fulcrum.bt.co.uk) is also willing to distribute those GNU
-sources he has.
-
-wizards@doc.ic.ac.uk is willing to distribute those GNU sources they have
-along with most other freely distributable software. The SunSITE archive
-on SunSITE.doc.ic.ac.uk (193.63.255.4) is available via ftp, http, fsp,
-gopher, NFS and Lanmanger over IP (SMB), and telnet.
-
-UK sites with just anonymous FTP access are in the above list.
-
-* Getting GNU software via UUCP
-
-OSU is distributing via UUCP: most GNU software, MIT C Scheme,
-Compress, News, RN, NNTP, Patch, some Appletalk stuff, some of the
-Internet Requests For Comment (RFC) et al.. See their periodic
-postings on the Usenet newsgroup comp.sources.d for informational
-updates. Current details from <staff@cis.ohio-state.edu> or
-<...!osu-cis!staff>.
-
-Information on how to uucp some GNU programs is available via
-electronic mail from: uunet!hutch!barber, hqda-ai!merlin, acornrc!bob,
-hao!scicom!qetzal!upba!ugn!nepa!denny, ncar!noao!asuvax!hrc!dan,
-bigtex!james (aka james@bigtex.cactus.org), oli-stl!root,
-src@contrib.de (Germany), toku@dit.co.jp (Japan) and info@ftp.uu.net.
-
-* If You Like The Software
-
-If you like the software developed and distributed by the Free
-Software Foundation, please express your satisfaction with a donation.
-Your donations will help to support the Foundation and make our future
-efforts successful, including a complete development and operating
-system, called GNU (Gnu's Not Unix), which will run Unix user
-programs. For more information on GNU and the Foundation, contact us
-at the above address, or see our web site at http://www.gnu.org.
-
-Ordering a GNU Source Code CD-ROM or Source Code CD-ROM Subscription
-is a good way for your organization to help support our work.
+Please refer to <http://www.gnu.org/software/emacs/> for information
+about obtaining Emacs.
+++ /dev/null
-NOTE: the Free Software Foundation agreed to put this file, and the
-programs it describes, into the Emacs distribution ONLY on the
-condition that we would not lift a finger to maintain them! We are
-willing to *pass along* support for Sun windows, but we are not
-willing to let it distract us from what we are trying to do. If you
-have complaints or suggestions about Sun windows support, send them to
-peck@sun.com, who is the maintainer.
-
-
-The interface between GNU Emacs and Sun windows consists of the program
-etc/emacstool, the Lisp programs lisp/sun-*.el and lisp/term/sun.el,
-and the C source file src/sunfns.c. It is documented with a man page,
-etc/emacstool.1.
-
-To enable use of these files and programs, define the configuration
-switch HAVE_SUN_WINDOWS in src/config.h before compiling Emacs.
-The definition of HAVE_SUN_WINDOWS must precede the #include m-sun3.h
-or #include m-sun4.h.
-If you must change PURESIZE, do so after the #include m-sun3.h
-
-This software is based on SunView for Sun UNIX 4.2 Release 3.2,
-and will not work "as is" on previous releases, eg 3.0 or 3.1.
-\f
-Using Emacstool with GNU Emacs:
-
- The GNU Emacs files lisp/term/sun.el, lisp/sun-mouse.el,
-lisp/sun-fns.el, and src/sunfns.c provide emacs support for the
-Emacstool and function keys. If your terminal type is SUN (that is,
-if your environment variable TERM is set to SUN), then Emacs will
-automatically load the file lisp/term/sun.el. This, in turn, will
-ensure that sun-mouse.el is autoloaded when any mouse events are
-detected. It is suggested that sun-mouse and sun-fns be
-included in your site-init.el file, so that they will always be loaded
-when running on a Sun workstation. [Increase PURESIZE to 154000].
-
- Support for the Sun function keys requires disconnecting the standard
-Emacs command Meta-[. Therefore, the function keys are supported only
-if you do (setq sun-esc-bracket t) in your .emacs file.
-
- The file src/sunfns.c defines several useful functions for emacs on
-the Sun. Among these are procedures to pop-up SunView menus, put and
-get from the SunView selection [STUFF] buffer, and a procedure for
-changing the cursor icon. If you want to define cursor icons, try
-using the functions in lisp/sun-cursors.el.
-
- The file lisp/sun-mouse.el includes a mass of software for defining
-bindings for mouse events. Any function can be called or any form
-evaluated as a result of a mouse event. If you want a pop-up menu,
-your function can call sun-menu-evaluate. This will bring up a
-SunView walking menu of your choice.
-
- Use the macro (defmenu menu-name &rest menu-items) to define menu
-objects. Each menu item is a cons of ("string" . VALUE), VALUE is
-evaluated when the string item is picked. If VALUE is a menu, then a
-pullright item is created.
-
- This version also includes support for copying to and from the
-sun-windows "stuff" selection. The keyboard bindings defined in
-lisp/sun-fns.el let you move the current region to the "STUFF"
-selection and vice versa. Just set point with the left button, set
-mark with the middle button, (the region is automatically copied to
-"STUFF") then switch to a shelltool, and "Stuff" will work. Going the
-other way, the main right button menu contains a "Stuff Selection"
-command that works just like in shelltool. [The Get and Put function
-keys are also assigned to these functions, so you don't need the mouse
-or even emacstool to make this work.]
-
- Until someone write code to read the textsw "Selection Shelf", it is
-not possible to copy directly from a textsw to emacs, you must go through
-the textsw "STUFF" selection.
-
- The Scroll-bar region is not a SunView scrollbar. It really should
-be called the "Right-Margin" region. The scroll bar region is basically
-the rightmost five columns (see documentation on variable scrollbar-width).
-Mouse hits in this region can have special bindings, currently those binding
-effect scrolling of the window, and so are referred to as the "Scroll-bar"
-region.
-
- For information on what mouse bindings are in effect, use the command
-M-x Describe-mouse-bindings, or the quick pop-up menu item "Mouse-Help".
-
-
-GNU Emacs EXAMPLES:
- See definitions in lisp/sun-fns.el for examples.
-
- You can redefine the cursor that is displayed in the emacs window.
-On initialization, it is set to a right arrow. See lisp/sun-cursors.el
-for additional cursors, how to define them, how to edit them.
-
-BUGS:
- It takes a few milliseconds to create a menu before it pops up.
-Someone who understands the GNU Garbage Collector might see if it
-is possible for defmenu to create a SunView menu struct that does
-not get destroyed by Garbage Collection.
-\f
- An outline of the files used to support Sun Windows and the mouse.
-
-etc/SUN-SUPPORT.
- This document.
-
-etc/emacstool.1:
- Added: an nroff'able man page for emacstool.
-
-etc/emacstool.c:
- Encodes all the function keys internally, and passes non-window
-system arguments to emacs.
-
-etc/emacs.icon:
- The "Kitchen Sink" GNU Emacs icon.
-
-src/sunfns.c:
- This contains the auxiliary functions that allow elisp code to interact
-with the sunwindows, selection, and menu functions.
-
-lisp/sun-mouse.el:
- Defines the lisp function which is called when a mouse hit is found
-in the input queue. This handler decodes the mouse hit via a keymap-like
-structure sensitive to a particular window and where in the window the
-hit occurred (text-region, right-margin, mode-line). Three variables
-are bound (*mouse-window* *mouse-x* *mouse-y*) and the selected function
-is called.
- See documentation on "define-mouse" or look at lisp/sun-fns.el
-to see how this is done.
- Defines two functions to pass between region and sun-selection
- Defines functions for interfacing with the Menu.
-During menu evaluation, the variables *menu-window* *menu-x* *menu-y* are bound.
-
-lisp/sun-fns.el
- The definition of the default menu and mouse function bindings.
-
-lisp/sun-cursors.el
- Defines a number of alternate cursors, and an editor for them.
- The editor is also a demonstration of mouse/menu utilization.
-
-lisp/term/sun.el
- Sets up the keymap to make the sun function keys do useful things.
-Also includes the setup/initialization code for running under emacstool,
-which makes "\C-Z" just close the emacstool window (-WI emacs.icon).
-
- Jeff Peck, Sun Microsystems, Inc <peck@sun.com>
-\f
-
-Subject: Making multi-line scrolling really work:
-
-In your .defaults file, include the line:
-/Tty/Retained "Yes"
-That way, the terminal emulator can do text moves using bitblt,
-instead of repaint.
-
-If that's not enough for you, then tell unix and emacs that
-the sun terminal supports multi-line and multi-character insert/delete.
-Add this patch to your /etc/termcap file:
-
-*** /etc/termcap.~1~ Mon Sep 15 12:34:23 1986
---- /etc/termcap Mon Feb 9 17:34:08 1987
-***************
-*** 32,39 ****
---- 32,40 ----
- Mu|sun|Sun Microsystems Workstation console:\
- :am:bs:km:mi:ms:pt:li#34:co#80:cl=^L:cm=\E[%i%d;%dH:\
- :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:rs=\E[s:\
- :al=\E[L:dl=\E[M:im=:ei=:ic=\E[@:dc=\E[P:\
-+ :AL=\E[%dL:DL=\E[%dM:IC=\E[%d@:DC=\E[%dP:\
- :up=\E[A:nd=\E[C:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:\
- :k1=\E[224z:k2=\E[225z:k3=\E[226z:k4=\E[227z:k5=\E[228z:\
- :k6=\E[229z:k7=\E[230z:k8=\E[231z:k9=\E[232z:
- M-|sun-nic|sune|Sun Microsystems Workstation console without insert character:\
-
-
-If you don't have the program "patch", just add the line:
- :AL=\E[%dL:DL=\E[%dM:IC=\E[%d@:DC=\E[%dP:\
-\f
-casetek@crvax.sri.com says:
-
-Those of you using GNU Emacs on Sun workstations under
-3.2 may be interested in reducing memory utilization in
-the emacstool via the Sun toolmerge facility. The technique
-is described in the Release 3.2 Manual starting on page
-71. The following is a summary of how it would apply
-to merging emacstool into the basetools.
-
-1) Change the main procedure declaration in emacstool.c to:
-
- #ifdef SUN_TOOLMERGE
- emacstool_main (argc, argv);
- #else
- main (argc, argv)
- #endif
-
- This will allow creation of either standard or toolmerge
- versions.
-
-2) Copy emacstool.o into directory /usr/src/sun/suntool.
-3) make CFLAGS="-g -DSUN_TOOLMERGE" emacstool.o
-4) Add the following line to basetools.h
-
- "emacstool",emacstool_main,
-
-5) Add the following line to toolmerge.c.
-
- extern emacstool_main();
-
-6) make basetools MOREOBJS="emacstool.o"
-7) make install_bins
-
-To invoke the toolmerged version, you must exit suntools and
-re-start it. Make sure that /usr/bin occurs before the directory
-in which you installed the standard (non-toolmerged) version.
-
-
@setfilename tasks.info
@settitle GNU Task List
@c This date is automagically updated when you save this file:
-@set lastupdate November 1, 1999
+@set lastupdate October 11, 2000
@c %**end of header
@setchapternewpage off
appreciate it very much, if they use it; but even when they benefit from
a performance improvement, they may not consider it very important.
+Finally, if you think of an important job that free software cannot
+solve yet that is typically solved by proprietary software, please send
+a short description of that job to @email{tasks@@gnu.org} so that we can
+add it to this task list.
+
@node Highest Priority, Documentation, Intro, Top
@chapter Highest Priority
high priority projects.
@itemize @bullet
+
+@item
+A new maintainer is needed for Goose
+@url{http://www.gnu.org/software/goose/goose.html}.
+
@item
If you are good at writing documentation, please do that.
@uref{ftp://ftp.gnu.org/pub/gnu/tasks/tasks.hurd}, via anonymous FTP.
@item
-@email{gnu@@gnu.org} via e-mail.
+@email{gvc@@gnu.org} via e-mail.
@end itemize
at the URL @uref{http://www.gnu.org/software/guile/guile.html}
and then contact the Guile developers at @email{guile@@gnu.org}.
+@item
+Improve the facilities for translating other languages into Scheme,
+so that Guile can provide support for a variety of languages.
+
@item
A package to convert programs written using MS Access into Scheme,
making use of a free data base system and the GTK toolkit.
For example, you could help work on Willows Twin.
See @uref{http://www.willows.com/}.
+@item
+Add gettext support to GNU programs that don't have it already. (Please
+contact the developers of the specific packages that you want to work
+on.)
+
@ignore The Kermit developers say they will provide a free program
to do this.
@item
reference documentation can be used as a starting point, but work is
needed to weld them together into a coherent manual.
+@ignore
+@c Bradley Kuhn is working on this. <bkuhn@ebb.org>
@item
A good free Perl language tutorial introduction. The existing Perl
introductions are published with restrictions on copying and
modification, so that they cannot be part of a GNU system.
+@end ignore
@item
A manual for PIC (the graphics formatting language).
Compiler, Make, Texinfo, Termcap, and maybe the C Library.
@item
-Many utilities need documentation, including @code{grep} and others.
+Many utilities still need documentation.
@end itemize
@node Unix-Related Projects, Kernel Projects, Documentation, Top
Less urgent: make a replacement for the ``writer's workbench'' program
@code{style}, or something to do the same kind of job. Compatibility
with Unix is not especially important for this program.
+
+@item
+Rewrite @code{indent} from scratch to make it cleaner.
+
+@item
+Write a free software replacement for the @code{agrep} program.
+
@end itemize
@node Kernel Projects, Extensions, Unix-Related Projects, Top
A queueing system for the mailer Smail that groups pending work by
destination rather than by original message. This makes it possible
to schedule retries coherently for each destination. Talk to
-@email{tron@@veritas.com} about this.
-
-Smail also needs a new chief maintainer.
+@email{tron@@veritas.com} and @email{woods@@weird.com} about this.
@item
Enhanced cross-reference browsing tools. (We now have something at
An emulator for Macintosh graphics calls on top of X Windows.
@item
-A package that emulates the API of Visual C++, but operates on top of
-X11. It need not match the screen appearance of Visual C++. Instead,
-it would be best to use GTK, so as to give coherence with GNOME.
+A package that emulates the API of Visual C++'s Foundation Classes
+(MFC), but operates on top of X11. It need not match the screen
+appearance provided by MFC. Instead, it would be best to use GTK, so as
+to give coherence with GNOME.
+
+@ignore
+@c GNOME Basic is doing this
@item
A compatible replacement for Visual Basic, running on top of X11.
It need not match the screen appearance of Visual C++. Instead,
it would be best to use GTK, so as to give coherence with GNOME.
+@end ignore
+@ignore
+@c Denemo is doing this.
@item
A music playing and editing system. This should work with LilyPond, a
GNU program for music typesetting.
-
-@item
-An ear-training program for students of music.
+@end ignore
@ignore @c GNUskies should do this
@item
to qualify as free software).
@end ignore
+@c Gepetto (@url{http://laurent.riesterer.free.fr/gepetto/intro-main.html},
+@c @email{laurent.riesterer@@free.fr}), according to @email{gnueval@@gnu.org},
+@c does the job of displaing dancers but does not allow editing notation.
+
@item
A program to edit dance notation (such as labanotation) and display
-dancers moving on the screen.
+dancers moving on the screen. Gepetto done some of this work. Contact
+@email{gvc@@gnu.org} if you are interested in helping finish the job.
@item
Make sure the Vibrant toolkit works with LessTif instead of Motif.
graph structures of textual items, and then display them
in various ways.
+@ignore @c done
@item
A program for graphic morphing of scanned photographs.
+@end ignore
@item
Software for designing and printing business cards.
@itemize @bullet
@item
-A free library for public-key encryption.
-
-This library should use the Diffie-Helman algorithm for public key
-encryption, not the RSA algorithm, because the Diffie-Helman patent in
-the US expired in 1997. This library can probably be developed from
-the code for the GNU Privacy Guard (now in development).
-
+A free library for public-key encryption. This library can probably be
+developed from the code for the GNU Privacy Guard.
+
@item
-An implementation of SSLv3 (more precisely, TLSv1) which is patent-free
-(uses the non-RSA algorithms) and has distribution terms compatible with
-the GNU GPL. We know of a GPL-covered implemention of a version of SSL
-that you can use as a starting point.
+An implementation of SSLv3 (more precisely, TLSv1) which has
+distribution terms compatible with the GNU GPL. We know of a
+GPL-covered implemention of a version of SSL that you can use as a
+starting point.
@item
Free software for doing secure commercial transactions on the web.
This too needs public key encryption.
@end itemize
-The projects to provide free replacements for PGP and SSH are no longer
-listed here, because projects to do those jobs are well under way.
-
@node Other Projects, Languages, Encryption Projects, Top
@chapter Other Projects
If you think of others that should be added, please
-send them to @email{gnu@@gnu.org}.
+send them to @email{tasks@@gnu.org}.
@itemize @bullet
@ignore OpenBIOS is doing this
in the computer in a way that is specific to each model of computer.
@end ignore
-@ignore Frank Cruz promises a free version
-@item
-A free program that can transfer files on a serial line
-using the same protocol that Kermit uses.
-@end ignore
-
@item
An imitation of Page Maker or Ventura Publisher.
@item
An imitation of @code{dbase2} or @code{dbase3}. (How dbased!)
-@uref{http://www.startech.keller.tx.us/xbase/xbase.html} may contain
-some useful stuff to start with.
+Harbour, a free replacement for Clipper, would provide a useful start.
+@uref{http://www.harbour-project.org/}.
@ignore @c being done by Jonas etc.
@item
A free replacement for the semi-free Qt library.
@end ignore
+@ignore
+@c Ogg Vorbis is doing this, see @url{http://www.xiph.org/ogg/vorbis/index.html} or contact @email{Monty <monty@xiph.org>}.
+
@item
High-quality music compression software.
-(Talk with @email{phr@@netcom.com} for relevant suggestions.)
+(Talk with @email{mt@@sulaco.org} for relevant suggestions.)
Unfortunately we cannot implement the popular MP3 format
due to patents, so this job includes working out some other
non-patented format and compression method.
+@end ignore
@item
A program to play sound distributed in ``Real Audio'' format.
An MPEG III audio encoder/decoder (but it is necessary to check, first,
whether patents make this impossible).
-@c Chris Hofstader is working on this.
+@c Chris Hofstader is working on a non-Festival speech-generation program.
+@c Mario Lang <lang@zid.tu-graz.ac.at> reports that Festival needs only
+@c to be 2-5 times faster to work well with Emacspeak.
@item
-Speech-generation programs (there is a program from Brown U that you
-could improve).
+Speech-generation programs that are faster than the Festival engine.
+This might be done by optimizing Festival.
@c We have a project now.
@item
More scientific mathematical subroutines.
(A clone of SPSS is being written already.)
-@item
-Statistical tools.
-
@item
A scientific data collection and processing tool,
perhaps something like Scientific Workbench and/or Khoros,
the Schroedinger equation.
@item
-Software to replace card catalogues in libraries.
+Software to replace card catalogs in libraries.
@item
A simulator for heating and air conditioning systems for buildings.
+@ignore
+@c Pat Deegan @email{pat@@psychogenic.com} is working on this.
+@c no URL yet, the status is updated in @file{volunteers}
+
+@item
+A program for voting and tabulating election results.
+
+@end ignore
+
@item
A package for editing genealogical records conveniently.
This could perhaps be done as a Gnome program, or perhaps
as an Emacs extension.
+@ignore
+@c ToutDoux aims to do this.
+
@item
A project-scheduling package that accepts a list of project sub-tasks
with their interdependencies, and generates Gantt charts and Pert charts
and all the other standard project progress reports.
+@end ignore
@item
Grammar and style checking programs.
@item
A diagnostic program to test a hard disk.
-@item
-A fast emulator for the i386, which would make it possible
-to emulate x86 code on other CPUs, and also to more easily
-debug kernels such as Linux more conveniently.
-
-To make this faster, it could work by translating machine instructions
-into the machine language of the host machine.
-
@item
Optical character recognition programs; especially if suitable for
scanning documents with multiple fonts and capturing font info as well
as character codes. Work is being done on this, but more help is needed.
+@c Some of the OCR work being done:
+@c Luis Cearra <luisjc@lem.eui.upm.es>, http://lem.eui.upm.es/ocre.html
+@c The status of these projects is updated in @file{/gd/gnuorg/volunteers}
+
@item
A program to scan a line drawing and convert it to Postscript.
@item
A program to recognize handwriting.
+@item
+A program that can translate from one natural language, into another.
+For example, a program to translate French into English.
+
@item
A pen based interface.
@item
A program to receive data from a serial-line tap to facilitate the
reverse-engineering of communication protocols.
+
+@item
+A database program designed to store and retrieve patent information.
+
+@item
+A free software package to run on a Palm Pilot in place of its usual
+software, doing more or less the usual jobs. (Linux, the kernel, has
+apparently been ported, but according to what we hear this port is not
+useful yet.)
+
@end itemize
@node Languages, Games and Recreations, Other Projects, Top
We would like to have translators from various languages into Scheme.
These languages include TCL, Python, Perl, Java, Javascript, and Rexx.
-
-We would like to have an implementation of Clipper, perhaps a GCC front
-end, and perhaps a translator into Scheme.
+Perhaps Clipper as well.
@node Games and Recreations, , Languages, Top
@chapter Games and Recreations
A Hierarchical Task Network package which can be used
to program play the computer's side in various strategic games.
+@item
+A game like Mill/Nine Men's Morris.
+
@item
Write imitations of some popular video games:
@item
Biomorph evolution (as in Scientific American and @cite{The Blind
Watchmaker}).
-@item
-A program to display effects of moving at relativistic speeds.
@end itemize
@end itemize
@contents
@bye
+@c LocalWords: dir texi lastupdate uref http www org html helpgnu ifinfo ftp
+@c LocalWords: dvi hurd toc gvc URL GTK XmHTML xs nl ripley NT com gettext Qt
+@c LocalWords: GUI libstdc Docbook SGML libc sed STL Gforth GNUstep TCSH Perl
+@c LocalWords: Ghostscript PIC GCC Texinfo grep dc bc ethernet GDB IP CIFS CU
+@c LocalWords: SMB SVGA Khoros Automake OpenStep diff roff Smail tron veritas
+@c LocalWords: cxref ctrace API LilyPond xephem labanotation LessTif outliner
+@c LocalWords: Hypercard morphing SeeMe ICQ Diffie Helman RSA SSLv TLSv GPL
+@c LocalWords: OpenBIOS BIOS LILO dbase dbased Harbour harbour WYSIWYG ISBN
+@c LocalWords: TruePrint Baecker siff sif cs arizona edu TR ps mt sulaco MP
+@c LocalWords: RTSP MPEG jasonw ariel ucs unimelb AU stutz dsl TCL Javascript
+@c LocalWords: Rexx GnuGo jhall isd Biomorph regexp eval gd gnuorg
Local variables:
update-date-leading-regexp: "@c This date is automagically updated when you save this file:\n@set lastupdate "
update-date-trailing-regexp: ""
+2000-10-16 Gerd Moellmann <gerd@gnu.org>
+
+ * eshell/esh-var.el, eshell/esh-util.el, eshell/esh-test.el,
+ * eshell/esh-proc.el, eshell/esh-opt.el, eshell/esh-mode.el,
+ * eshell/esh-maint.el, eshell/esh-io.el, eshell/esh-ext.el,
+ * eshell/esh-cmd.el, eshell/esh-arg.el, eshell/em-xtra.el,
+ * eshell/em-unix.el, eshell/em-term.el, eshell/em-smart.el,
+ * eshell/em-script.el, eshell/em-rebind.el, eshell/em-prompt.el,
+ * eshell/em-pred.el, eshell/em-ls.el, eshell/em-hist.el,
+ * eshell/em-glob.el, shell/em-dirs.el, eshell/em-cmpl.el,
+ * eshell/em-basic.el, eshell/em-banner.el, eshell/em-alias.el:
+ Add author information.
+
2000-10-16 Miles Bader <miles@lsi.nec.co.jp>
* toolbar/up_arrow.xpm, toolbar/right_arrow.xpm: