*** empty log message ***

This commit is contained in:
Gerd Moellmann 2000-10-16 12:27:33 +00:00
parent 7de5b4214e
commit 76eebffc1e
7 changed files with 136 additions and 799 deletions

View file

@ -1,75 +0,0 @@
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


View file

@ -1,221 +0,0 @@
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.

View file

@ -4,6 +4,8 @@
* 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.

238
etc/FTP
View file

@ -1,236 +1,2 @@
-*- 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.

View file

@ -1,210 +0,0 @@
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.
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.
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>
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:\
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.

View file

@ -3,7 +3,7 @@
@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
@ -77,6 +77,11 @@ to improve performance. Users who use the new functionality will
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
@ -89,6 +94,11 @@ But if you would like to work on what we need most, here is a list of
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.
@ -108,7 +118,7 @@ Web.
@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
@ -117,6 +127,10 @@ If you are a Scheme fan, you can help develop Guile. Please have a look
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.
@ -131,6 +145,11 @@ Help develop software to emulate Windows NT on top of GNU systems.
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
@ -226,10 +245,13 @@ A coherent free reference manual for Perl. Most of the Perl on-line
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).
@ -249,7 +271,7 @@ Reference cards for those manuals that don't have them: C
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
@ -266,6 +288,13 @@ Modify the GNU @code{dc} program to use the math routines of GNU
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
@ -345,9 +374,7 @@ An @code{nroff} macro package to simplify @code{texi2roff}.
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
@ -363,21 +390,26 @@ about the level of @code{cxref}.) We also could use something like
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
@ -385,9 +417,14 @@ An ephemeris program to replace xephem (which is, alas, too restricted
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.
@ -400,8 +437,10 @@ A two-dimensional outliner program, which lets you draw
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.
@ -435,32 +474,25 @@ US citizens, to avoid problems with US export control law.
@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
@ -478,19 +510,13 @@ some of them). However, there may be a need to configure certain data
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
@ -545,12 +571,16 @@ about siff (which is, unfortunately, not free software) at
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.
@ -566,10 +596,12 @@ Programs to handle audio in RTSP 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
@ -595,9 +627,6 @@ learn more.
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,
@ -607,20 +636,33 @@ A program to calculate properties of molecules by solving
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.
@ -628,25 +670,25 @@ 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.
@ -656,6 +698,16 @@ CAD software, such as a vague imitation of Autocad.
@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
@ -676,9 +728,7 @@ finger -l fortran@@gnu.org
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
@ -704,6 +754,9 @@ software does not yet exist.
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:
@ -726,8 +779,6 @@ then watch it explore a world.
@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
@ -736,6 +787,17 @@ We do not need @code{rogue}, as we have @code{hack}.
@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: ""

View file

@ -1,3 +1,16 @@
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: