view etc/InstallGuide @ 5170:5ddbab03b0e6

various fixes to memory-usage stats -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-03-25 Ben Wing <ben@xemacs.org> * diagnose.el (show-memory-usage): * diagnose.el (show-object-memory-usage-stats): Further changes to correspond with changes in the C code; add an additional column in show-object-memory-usage-stats showing the ancillary Lisp overhead used with each type; shrink columns for windows in show-memory-usage to get it to fit in 79 chars. src/ChangeLog addition: 2010-03-25 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (struct): * alloc.c (finish_object_memory_usage_stats): * alloc.c (object_memory_usage_stats): * alloc.c (Fobject_memory_usage): * alloc.c (lisp_object_memory_usage_full): * alloc.c (compute_memusage_stats_length): * lrecord.h: * lrecord.h (struct lrecord_implementation): Add fields to the `lrecord_implementation' structure to list an offset into the array of extra statistics in a `struct generic_usage_stats' and a length, listing the first slice of ancillary Lisp-object memory. Compute automatically in compute_memusage_stats_length(). Use to add an entry `FOO-lisp-ancillary-storage' for object type FOO. Don't crash when an int or char is given to object-memory-usage, signal an error instead. Add functions lisp_object_memory_usage_full() and lisp_object_memory_usage() to compute the total memory usage of an object (sum of object, non-Lisp attached, and Lisp ancillary memory). * array.c: * array.c (gap_array_memory_usage): * array.h: Add function to return memory usage of a gap array. * buffer.c (struct buffer_stats): * buffer.c (compute_buffer_usage): * buffer.c (vars_of_buffer): * extents.c (compute_buffer_extent_usage): * marker.c: * marker.c (compute_buffer_marker_usage): * extents.h: * lisp.h: Remove `struct usage_stats' arg from compute_buffer_marker_usage() and compute_buffer_extent_usage() -- these are ancillary Lisp objects and don't get accumulated into `struct usage_stats'; change the value of `memusage_stats_list' so that `markers' and `extents' memory is in Lisp-ancillary, where it belongs. In compute_buffer_marker_usage(), use lisp_object_memory_usage() rather than lisp_object_storage_size(). * casetab.c: * casetab.c (case_table_memory_usage): * casetab.c (vars_of_casetab): * emacs.c (main_1): Add memory usage stats for case tables. * lisp.h: Add comment explaining the `struct generic_usage_stats' more, as well as the new fields in lrecord_implementation. * console-impl.h: * console-impl.h (struct console_methods): * scrollbar-gtk.c: * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): * scrollbar-msw.c: * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): * scrollbar-x.c: * scrollbar-x.c (x_compute_scrollbar_instance_usage): * scrollbar.c: * scrollbar.c (struct scrollbar_instance_stats): * scrollbar.c (compute_all_scrollbar_instance_usage): * scrollbar.c (scrollbar_instance_memory_usage): * scrollbar.c (scrollbar_objects_create): * scrollbar.c (vars_of_scrollbar): * scrollbar.h: * symsinit.h: * window.c: * window.c (find_window_mirror_maybe): * window.c (struct window_mirror_stats): * window.c (compute_window_mirror_usage): * window.c (window_mirror_memory_usage): * window.c (compute_window_usage): * window.c (window_objects_create): * window.c (syms_of_window): * window.c (vars_of_window): Redo memory-usage associated with windows, window mirrors, and scrollbar instances. Should fix crash in find_window_mirror, among other things. Properly assign memo ry to object memory, non-Lisp extra memory, and Lisp ancillary memory. For example, redisplay structures are non-Lisp memory hanging off a window mirror, not a window; make it an ancillary Lisp-object field. Window mirrors and scrollbar instances have their own statistics, among other things.
author Ben Wing <ben@xemacs.org>
date Thu, 25 Mar 2010 06:07:25 -0500
parents 9ad43877534d
children
line wrap: on
line source

Introduction

Thank you for downloading XEmacs.  We of the XEmacs development team
believe user satisfaction is our number one priority, and we hope that
you will be pleased with the power of our editor.  Please follow all
of the instructions in order to enjoy a quick and easy installation.


Getting Started

In this guide, information which you will need to supply will be enclosed in
angle brackets, <like this>.  Commands which you will have to enter will be
indented,

	like this.

You will need to provide a loading directory, in which to load the
material from tape (/tmp/xemacs is recommended), and a permanent
installation directory (/usr/local/xemacs is recommended).


Loading From Tape

First create and change directory to the loading directory:

	mkdir <working directory>
	cd <working directory>

Now you are ready to load the software from tape.

The specific device name needed to load the tape varies with hardware vendors,
and may be found in Appendix A, "Vendors and Device Names".

Load the software from tape:

	tar xvf /dev/<device name>

You have now loaded all of the software from tape, and are ready to compile and
install the XEmacs Text Editor.


Compiling and Installing the XEmacs Editor

Compiling and installing the libraries is handled by a user-friendly shell
script.  You will need to provide some information to the script, such as your
organization name and registration number.  To run the script, type

	/bin/sh xemacs/xemacs.install -d <installation directory>

Follow the script's directions, and provide the information which it prompts
for.

When the script prompts you for the directory in which the distribution files
are located, you will find that you are unable to provide it with any directory
which the script will deem satisfactory.  That is because it is necessary to
order the following additional parts which are necessary to continue with the
installation:

	Part Number	Qty	Name				Price

	GM-96-3026	1	Goat, male			 1000.00
	CB-13-2395	1	Candle, black			   50.00
	CG-63-6376	1	Chalk dust container		   10.00
	IB-89-3335	5	Incense sticks			    5.00
	DE-44-8846	1	Dagger, ebon, curved		  500.00
	AS-87-2319	1	Altar, silver			10000.00

Wait until the additional parts arrive; you will be ready to continue the
installation the next Friday the 13th at midnight.


Ritual for Successfully Completing Installation

Stand in front of the computer.  Pour out the chalk dust in an inscribed
pentagram around you; be sure that it is without breaks.  Set an incense stick
at each of the five corners, the altar in front of the computer, and the candle
in front of the altar.

Light each of the incense sticks and the candles, chanting in a low voice:

	Daemons and spirits of the netherworld
	Forces of all that is chaotic and mysterious
	Essence of Netscape and MicroSoft

	I am coming here to appease you
	I offer you this goat
	That my software may work

	I bind you here
	Do not make my system crash
	Let the software install as advertised

Place the goat on the altar, and slaughter it with the dagger.

	May this goat feed you
	Sate your lust for blood
	Into it may your mischief fly
	Not my computer
	Make the software work
	For this is the only way

Then spit into the computer's ventilation slots.  This will complete different
circuits inside the computer, causing its motherboard and cards to function in
ways that the engineers never intended, thereby making your system compatible
with our libraries.

Reboot your computer.  The installation is now complete.

[This has undergone a minor rewrite for XEmacs.  It originally
appeared on rec.humor.funny courtesy of jonathan seth hayward
<jhayward@students.uiuc.edu>, and is included by permission of the
author].