annotate man/beta.texi @ 5157:1fae11d56ad2

redo memory-usage mechanism, add way of dynamically initializing Lisp objects -------------------- ChangeLog entries follow: -------------------- lisp/ChangeLog addition: 2010-03-18 Ben Wing <ben@xemacs.org> * diagnose.el (show-memory-usage): Rewrite to take into account API changes in memory-usage functions. src/ChangeLog addition: 2010-03-18 Ben Wing <ben@xemacs.org> * alloc.c: * alloc.c (disksave_object_finalization_1): * alloc.c (lisp_object_storage_size): * alloc.c (listu): * alloc.c (listn): * alloc.c (Fobject_memory_usage_stats): * alloc.c (compute_memusage_stats_length): * alloc.c (Fobject_memory_usage): * alloc.c (Ftotal_object_memory_usage): * alloc.c (malloced_storage_size): * alloc.c (common_init_alloc_early): * alloc.c (reinit_alloc_objects_early): * alloc.c (reinit_alloc_early): * alloc.c (init_alloc_once_early): * alloc.c (syms_of_alloc): * alloc.c (reinit_vars_of_alloc): * buffer.c: * buffer.c (struct buffer_stats): * buffer.c (compute_buffer_text_usage): * buffer.c (compute_buffer_usage): * buffer.c (buffer_memory_usage): * buffer.c (buffer_objects_create): * buffer.c (syms_of_buffer): * buffer.c (vars_of_buffer): * console-impl.h (struct console_methods): * dynarr.c (Dynarr_memory_usage): * emacs.c (main_1): * events.c (clear_event_resource): * extents.c: * extents.c (compute_buffer_extent_usage): * extents.c (extent_objects_create): * extents.h: * faces.c: * faces.c (compute_face_cachel_usage): * faces.c (face_objects_create): * faces.h: * general-slots.h: * glyphs.c: * glyphs.c (compute_glyph_cachel_usage): * glyphs.c (glyph_objects_create): * glyphs.h: * lisp.h: * lisp.h (struct usage_stats): * lrecord.h: * lrecord.h (enum lrecord_type): * lrecord.h (struct lrecord_implementation): * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE): * lrecord.h (DEFINE_DUMPABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_FROB_BLOCK_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_INTERNAL_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_SIZABLE_INTERNAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_FROB_BLOCK_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_INTERNAL_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_SIZABLE_INTERNAL_LISP_OBJECT): * lrecord.h (MAKE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_MODULE_LISP_OBJECT): * lrecord.h (DEFINE_DUMPABLE_MODULE_SIZABLE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_LISP_OBJECT): * lrecord.h (DEFINE_NODUMP_MODULE_SIZABLE_LISP_OBJECT): * lrecord.h (MAKE_MODULE_LISP_OBJECT): * lrecord.h (INIT_LISP_OBJECT): * lrecord.h (INIT_MODULE_LISP_OBJECT): * lrecord.h (UNDEF_LISP_OBJECT): * lrecord.h (UNDEF_MODULE_LISP_OBJECT): * lrecord.h (DECLARE_LISP_OBJECT): * lrecord.h (DECLARE_MODULE_API_LISP_OBJECT): * lrecord.h (DECLARE_MODULE_LISP_OBJECT): * lstream.c: * lstream.c (syms_of_lstream): * lstream.c (vars_of_lstream): * marker.c: * marker.c (compute_buffer_marker_usage): * mc-alloc.c (mc_alloced_storage_size): * mc-alloc.h: * mule-charset.c: * mule-charset.c (struct charset_stats): * mule-charset.c (compute_charset_usage): * mule-charset.c (charset_memory_usage): * mule-charset.c (mule_charset_objects_create): * mule-charset.c (syms_of_mule_charset): * mule-charset.c (vars_of_mule_charset): * redisplay.c: * redisplay.c (compute_rune_dynarr_usage): * redisplay.c (compute_display_block_dynarr_usage): * redisplay.c (compute_glyph_block_dynarr_usage): * redisplay.c (compute_display_line_dynarr_usage): * redisplay.c (compute_line_start_cache_dynarr_usage): * redisplay.h: * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage): * scrollbar-x.c (x_compute_scrollbar_instance_usage): * scrollbar.c (compute_scrollbar_instance_usage): * scrollbar.h: * symbols.c: * symbols.c (reinit_symbol_objects_early): * symbols.c (init_symbols_once_early): * symbols.c (reinit_symbols_early): * symbols.c (defsymbol_massage_name_1): * symsinit.h: * ui-gtk.c: * ui-gtk.c (emacs_gtk_object_getprop): * ui-gtk.c (emacs_gtk_object_putprop): * ui-gtk.c (ui_gtk_objects_create): * unicode.c (compute_from_unicode_table_size_1): * unicode.c (compute_to_unicode_table_size_1): * unicode.c (compute_from_unicode_table_size): * unicode.c (compute_to_unicode_table_size): * window.c: * window.c (struct window_stats): * window.c (compute_window_mirror_usage): * window.c (compute_window_usage): * window.c (window_memory_usage): * window.c (window_objects_create): * window.c (syms_of_window): * window.c (vars_of_window): * window.h: Redo memory-usage mechanism, make it general; add way of dynamically initializing Lisp object types -- OBJECT_HAS_METHOD(), similar to CONSOLE_HAS_METHOD(). (1) Create OBJECT_HAS_METHOD(), OBJECT_HAS_PROPERTY() etc. for specifying that a Lisp object type has a particular method or property. Call such methods with OBJECT_METH, MAYBE_OBJECT_METH, OBJECT_METH_OR_GIVEN; retrieve properties with OBJECT_PROPERTY. Methods that formerly required a DEFINE_*GENERAL_LISP_OBJECT() to specify them (getprop, putprop, remprop, plist, disksave) now instead use the dynamic-method mechanism. The main benefit of this is that new methods or properties can be added without requiring that the declaration statements of all existing methods be modified. We have to make the `struct lrecord_implementation' non-const, but I don't think this should have any effect on speed -- the only possible method that's really speed-critical is the mark method, and we already extract those out into a separate (non-const) array for increased cache locality. Object methods need to be reinitialized after pdump, so we put them in separate functions such as face_objects_create(), extent_objects_create() and call them appropriately from emacs.c The only current object property (`memusage_stats_list') that objects can specify is a Lisp object and gets staticpro()ed so it only needs to be set during dump time, but because it references symbols that might not exist in a syms_of_() function, we initialize it in vars_of_(). There is also an object property (`num_extra_memusage_stats') that is automatically initialized based on `memusage_stats_list'; we do that in reinit_vars_of_alloc(), which is called after all vars_of_() functions are called. `disksaver' method was renamed `disksave' to correspond with the name normally given to the function (e.g. disksave_lstream()). (2) Generalize the memory-usage mechanism in `buffer-memory-usage', `window-memory-usage', `charset-memory-usage' into an object-type- specific mechanism called by a single function `object-memory-usage'. (Former function `object-memory-usage' renamed to `total-object-memory-usage'). Generalize the mechanism of different "slices" so that we can have different "classes" of memory described and different "slices" onto each class; `t' separates classes, `nil' separates slices. Currently we have three classes defined: the memory of an object itself, non-Lisp-object memory associated with the object (e.g. arrays or dynarrs stored as fields in the object), and Lisp-object memory associated with the object (other internal Lisp objects stored in the object). This isn't completely finished yet and we might need to further separate the "other internal Lisp objects" class into two classes. The memory-usage mechanism uses a `struct usage_stats' (renamed from `struct overhead_stats') to describe a malloc-view onto a set of allocated memory (listing how much was requested and various types of overhead) and a more general `struct generic_usage_stats' (with a `struct usage_stats' in it) to hold all statistics about object memory. `struct generic_usage_stats' contains an array of 32 Bytecounts, which are statistics of unspecified semantics. The intention is that individual types declare a corresponding struct (e.g. `struct window_stats') with the same structure but with specific fields in place of the array, corresponding to specific statistics. The number of such statistics is an object property computed from the list of tags (Lisp symbols describing the statistics) stored in `memusage_stats_list'. The idea here is to allow particular object types to customize the number and semantics of the statistics where completely avoiding consing. This doesn't matter so much yet, but the intention is to have the memory usage of all objects computed at the end of GC, at the same time as other statistics are currently computed. The values for all statistics for a single type would be added up to compute aggregate values for all objects of a specific type. To make this efficient, we can't allow any memory allocation at all. (3) Create some additional functions for creating lists that specify the elements directly as args rather than indirectly through an array: listn() (number of args given), listu() (list terminated by Qunbound). (4) Delete a bit of remaining unused C window_config stuff, also unused lrecord_type_popup_data.
author Ben Wing <ben@xemacs.org>
date Thu, 18 Mar 2010 10:50:06 -0500
parents 1cecc3e9f0a0
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
2
2547
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
3 @c This file is in Texinfo format.
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
4 @c If for some reason you do not have the formatted version available,
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
5 @c this file is more or less readable as plain text.
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
6 @c Skip to the line beginning "@node Introduction".
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
7
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
8 @c %**start of header
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
9 @setfilename ../info/beta.info
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
10 @settitle Info on beta versions of XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
11 @direntry
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
12 * Beta: (beta). Info on beta versions of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
13 @end direntry
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
14 @c footnotestyle separate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
15 @c paragraphindent 2
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
16 @c %**end of header
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
17
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
18 @ifinfo
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
19 This file describes info relevant to beta versions of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
20
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
21 Copyright @copyright{} 2005 Ben Wing.
2547
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
22 Copyright @copyright{} 2005 Free Software Foundation, Inc.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
23
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
24 This file is part of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
25
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
26 XEmacs is free software; you can redistribute it and/or modify it
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
27 under the terms of the GNU General Public License as published by the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
28 Free Software Foundation; either version 2, or (at your option) any
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
29 later version.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
30
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
31 XEmacs is distributed in the hope that it will be useful, but WITHOUT
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
32 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
33 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
34 for more details.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
35
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
36 You should have received a copy of the GNU General Public License
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
37 along with XEmacs; see the file COPYING. If not, write to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
38 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
39 Boston, MA 02111-1307, USA.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
40 @end ifinfo
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
41
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
42 @c Combine indices.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
43 @syncodeindex fn cp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
44 @syncodeindex vr cp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
45 @syncodeindex ky cp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
46 @syncodeindex pg cp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
47 @syncodeindex tp cp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
48
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
49 @setchapternewpage odd
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
50 @finalout
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
51
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
52 @titlepage
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
53 @title Info on beta versions of XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
54
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
55 @author XEmacs Development Team
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
56 @page
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
57 @vskip 0pt plus 1fill
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
58
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
59 @noindent
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
60 Copyright @copyright{} 2006 Free Software Foundation. @*
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
61 Copyright @copyright{} 2005 Ben Wing. @*
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
62
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
63 This file is part of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
64
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
65 XEmacs is free software; you can redistribute it and/or modify it
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
66 under the terms of the GNU General Public License as published by the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
67 Free Software Foundation; either version 2, or (at your option) any
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
68 later version.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
69
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
70 XEmacs is distributed in the hope that it will be useful, but WITHOUT
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
71 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
72 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
73 for more details.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
74
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
75 You should have received a copy of the GNU General Public License
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
76 along with XEmacs; see the file COPYING. If not, write to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
77 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
78 Boston, MA 02111-1307, USA.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
79 @end titlepage
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
80 @page
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
81
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
82 @ifinfo
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
83 @node Top, Introduction, (dir), (dir)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
84 This Info file describes info relevant to beta versions of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
85 @menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
86 * Introduction::
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
87 * Building Beta XEmacs::
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
88 * Packages::
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
89 * Reporting Problems::
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
90 * Improving XEmacs::
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
91 * Index::
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
92
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
93 @detailmenu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
94 --- The Detailed Node Listing ---
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
95
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
96 Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
97
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
98 * Mailing Lists::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
99 * Beta Release Schedule::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
100
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
101 Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
102
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
103 * XEmacs Beta Mailing List::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
104 * XEmacs Patches Mailing List::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
105 * XEmacs Design Mailing List::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
106 * List Administrivia::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
107 * Managing your subscription via the Web::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
108 * Subscribing by e-mail::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
109 * Unsubscribing by e-mail::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
110
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
111 Building Beta XEmacs
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
112
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
113 * Getting the Source::
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
114 * Building an XEmacs from patches::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
115 * Building XEmacs from a full distribution::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
116
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
117 Packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
118
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
119 * Binary package installation::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
120 * Manual procedures for package management::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
121 * Building XEmacs and XEmacs packages from scratch::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
122
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
123 Improving XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
124
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
125 * Creating patches for submission::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
126 * Large contributions::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
127
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
128 Creating patches for submission
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
129
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
130 * Patch discussion etiquette::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
131
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
132 Large contributions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
133
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
134 * Updates to existing packages::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
135 * New packages::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
136 * Syncing with GNU Emacs::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
137
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
138 @end detailmenu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
139 @end menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
140
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
141 @end ifinfo
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
142
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
143
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
144 @node Introduction, Building Beta XEmacs, Top, Top
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
145 @chapter Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
146
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
147 You are running a potentially unstable version of XEmacs. Please do
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
148 not report problems with Beta XEmacs to comp.emacs.xemacs. Report
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
149 them to @uref{mailto:xemacs-beta@@xemacs.org}, preferably with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
150 @kbd{M-x report-xemacs-bug RET}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
151
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
152 @menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
153 * Mailing Lists::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
154 * Beta Release Schedule::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
155 @end menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
156
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
157
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
158 @node Mailing Lists, Beta Release Schedule, Introduction, Introduction
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
159 @section Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
160
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
161 @menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
162 * XEmacs Beta Mailing List::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
163 * XEmacs Patches Mailing List::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
164 * XEmacs Design Mailing List::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
165 * List Administrivia::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
166 * Managing your subscription via the Web::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
167 * Subscribing by e-mail::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
168 * Unsubscribing by e-mail::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
169 @end menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
170
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
171
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
172 @node XEmacs Beta Mailing List, XEmacs Patches Mailing List, Mailing Lists, Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
173 @subsection XEmacs Beta Mailing List
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
174
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
175 If you are not subscribed to the XEmacs beta list you should be.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
176 Currently all discussion of development issues, including bug reports
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
177 and coding discussion, takes place on the XEmacs Beta mailing list.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
178 Only patches and administrative actions regarding patches are sent
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
179 elsewhere (to the XEmacs Patches list).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
180
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
181
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
182 @node XEmacs Patches Mailing List, XEmacs Design Mailing List, XEmacs Beta Mailing List, Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
183 @subsection XEmacs Patches Mailing List
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
184
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
185 XEmacs Patches records proposed changes to XEmacs, and their
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
186 disposition. It is open subscription, and all patches that are
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
187 seriously proposed for inclusion in XEmacs should be posted here. You
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
188 can follow progress of your patch by subscribing to the mailing list
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
189 or in the archives.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
190
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
191 Besides patches, only actions by members of the XEmacs Review Board
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
192 should be posted to this list. All discussion should be redirected to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
193 XEmacs Beta or XEmacs Design.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
194
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
195
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
196 @node XEmacs Design Mailing List, List Administrivia, XEmacs Patches Mailing List, Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
197 @subsection XEmacs Design Mailing List
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
198
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
199 XEmacs Design is for design discussions such as adding major features
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
200 or whole modules, or reimplementation of existing functions, to XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
201
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
202 @node List Administrivia, Managing your subscription via the Web, XEmacs Design Mailing List, Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
203 @subsection List Administrivia
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
204
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
205 In the descriptions below, the word LIST (all uppercase) is a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
206 variable. Substitute "beta", "design", or "patches" as appropriate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
207 (to get "xemacs-beta" as the mailbox for the XEmacs Beta mailing list,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
208 or @uref{http://www.xemacs.org/Lists/#xemacs-beta} for its URL).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
209
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
210 The XEmacs mailing lists are managed by the Mailman mailing list package,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
211 and the usual Mailman commands work. Do not send mailing list requests to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
212 the main address (@uref{mailto:xemacs-LIST@@xemacs.org}), always send them
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
213 to @uref{mailto:xemacs-LIST-request@@xemacs.org}. If you have problems with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
214 the list itself, they should be brought to the attention of the XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
215 Mailing List manager @uref{mailto:list-manager@@xemacs.org} (the same
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
216 mailbox, "list-manager", for all lists). All public mailing lists have
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
217 searchable archives. The URL is
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
218
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
219 @uref{http://list-archive.xemacs.org/xemacs-LIST}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
220
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
221 Note that the xemacs-LIST-admin address is used internally by the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
222 Mailman software; it is NOT a synonym for xemacs-LIST-request.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
223
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
224
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
225 @node Managing your subscription via the Web, Subscribing by e-mail, List Administrivia, Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
226 @subsection Managing your subscription via the Web
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
227
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
228 Subscription, unsubscription, and options (such as digests and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
229 temporarily suspending delivery) can be accomplished via the web
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
230 interface at @uref{http://www.xemacs.org/Lists/#xemacs-LIST}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
231
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
232
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
233 @node Subscribing by e-mail, Unsubscribing by e-mail, Managing your subscription via the Web, Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
234 @subsection Subscribing by e-mail
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
235
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
236 Send an email message to @uref{mailto:xemacs-LIST-request@@xemacs.org} with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
237 @samp{subscribe} (without the quotes) as the BODY of the message.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
238
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
239
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
240 @node Unsubscribing by e-mail, , Subscribing by e-mail, Mailing Lists
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
241 @subsection Unsubscribing by e-mail
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
242
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
243 Send an email message to @uref{mailto:xemacs-LIST-request@@xemacs.org} with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
244 @samp{unsubscribe} (without the quotes) as the BODY of the message.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
245
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
246
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
247 @node Beta Release Schedule, , Mailing Lists, Introduction
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
248 @section Beta Release Schedule
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
249
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
250 We would like to achieve a weekly or fortnightly release cycle (you
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
251 know the Open Source model: release early, release often), and in a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
252 perfect world that would indeed be the case. There are at least three
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
253 things that often get in the way of that goal: 1) The Release Manager
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
254 has a life outside of XEmacs (hard to believe, I know, but true),
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
255 2) we like to make releases that will build (at least on the Release
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
256 Manager's box), and 3) Murphy likes to throw a spanner in the works
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
257 right when you least expect it (Murphy's Law: Whatever can go wrong,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
258 will go wrong).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
259
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
260 If you'd like to keep right up to date and ride the bleeding edge, use
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
261 CVS (see @uref{http://www.xemacs.org/Develop/cvsaccess.html}). If you
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
262 can't use CVS for some reason and must use FTP, please let us know.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
263 it will make it more likely that we release betas more often.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
264
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
265
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
266 @node Building Beta XEmacs, Packages, Introduction, Top
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
267 @chapter Building Beta XEmacs
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
268
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
269 @menu
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
270 * Getting the Source::
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
271 * Building an XEmacs from patches::
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
272 * Building XEmacs from a full distribution::
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
273 @end menu
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
274
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
275
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
276 @node Getting the Source, Building an XEmacs from patches, Building Beta XEmacs, Building Beta XEmacs
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
277 @section Getting the Source
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
278
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
279 We provide the traditional tarballs and release-to-release patchkits for
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
280 each beta release. @xref{Beta Release Schedule}. These are available
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
281 at
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
282
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
283 @uref{ftp://ftp.xemacs.org/pub/xemacs/beta/}
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
284
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
285 In addition to the normal tar distribution, XEmacs source is now
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
286 available via CVS. Please see
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
287
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
288 @uref{http://www.xemacs.org/Develop/cvsaccess.html}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
289
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
290 You can also browse the repository via ViewCVS
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
291
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
292 @uref{http://cvs.xemacs.org/}
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
293
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
294
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
295 @node Building an XEmacs from patches, Building XEmacs from a full distribution, Getting the Source, Building Beta XEmacs
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
296 @section Building an XEmacs from patches
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
297
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
298 All beta releases of XEmacs provide patches from the previous version as
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
299 an alternative to keep bandwidth requirements down. These patches are
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
300 actually scripts generated by the @file{makepatch} program, and can be
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
301 run if you have the @file{applypatch} program. Patches may also be
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
302 applied with the GNU patch program in something like the following.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
303 Let's say you're upgrading XEmacs 21.5-beta9 to XEmacs 21.5-beta10 and
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
304 you have a full unmodified XEmacs 21.5-beta9 source tree to work with.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
305 Change to the top level directory and issue the shell command:
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
306
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
307 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
308 $ gunzip -c /tmp/xemacs-21.5.9-21.5.10.patch.gz | patch -p1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
309 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
310
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
311 After patching, check to see that no patches were missed by doing
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
312
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
313 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
314 $ find . -name \*.rej -print
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
315 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
316
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
317 Any rejections should be treated as serious problems to be resolved
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
318 before building XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
319
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
320 After seeing that there were no rejections, issue the commands
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
321
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
322 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
323 $ ./config.status --recheck
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
324 $ make beta > ./beta.err 2>&1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
325 $ make check > ./xemacs-make-check.err 2>&1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
326 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
327
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
328 Redirect the output from make to those files because you'll use them
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
329 later when you send off a build report with @kbd{M-x build-report RET}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
330
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
331
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
332 @node Building XEmacs from a full distribution, , Building an XEmacs from patches, Building Beta XEmacs
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
333 @section Building XEmacs from a full distribution
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
334
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
335 @enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
336 @item
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
337 Locate a convenient place where you have at least 200MB of free space
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
338 (approximately 100MB for sources and compiled Lisp, and 100MB for
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
339 objects and other generated files) and issue the command
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
340
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
341 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
342 $ gunzip -c /tmp/xemacs-21.5.10.tar.gz | tar xvf -
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
343 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
344
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
345 (or simply @code{tar zxvf /tmp/xemacs-21.5.10.tar.gz} if you use GNU tar).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
346
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
347 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
348 cd to the top level directory and issue an appropriate configure
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
349 command.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
350
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
351 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
352 Run @code{configure}. If you are new, just consider running it with no
4312
1094d6d400fb Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3388
diff changeset
353 options, to see if you can get a successful build. When you are more
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
354 experienced, you should put various flags in. Here is what we suggest:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
355
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
356 @enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
357 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
358 It's a good idea to use
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
359
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
360 @example
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
361 --enable-debug
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
362 --enable-memory-usage-stats
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
363 --enable-error-checking=all
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
364 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
365
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
366 These turn on extra debugging info and checks. The last one in particular
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
367 will add a great deal of extra error-checking -- which will slow your XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
368 down somewhat but is likely to catch bugs much sooner and make your bug
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
369 reports much more useful.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
370
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
371 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
372 You should also strongly consider
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
373
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
374 @example
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
375 --enable-mule
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
376 --enable-kkcc
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
377 --enable-pdump
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
378 --enable-clash-detection
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
379 --with-wmcommand
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
380 --with-xfs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
381 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
382
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
383 These turn on optional features, which can always use testing.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
384
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
385 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
386 If you have gcc, consider using
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
387
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
388 @example
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
389 --with-compiler=gcc
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
390 --with-xemacs-compiler=g++
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
391 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
392
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
393 This will compile XEmacs using g++, which is generally much stricter
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
394 about type-checking than C compilers like gcc.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
395
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
396 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
397 If your packages are not installed under /usr/local, you should add a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
398 line like
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
399
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
400 @example
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
401 --with-package-path=~/.xemacs::/xemacs/site-packages:/xemacs/xemacs-packages:/xemacs/mule-packages
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
402 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
403
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
404 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
405 If you want to build multiple configurations from the same source
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
406 tree, make separate build directories for each configuration, run
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
407 @code{configure} from the top level of these (currently empty)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
408 directories and use an option like
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
409
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
410 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
411 --srcdir=/xemacs/source-tree
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
412 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
413
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
414 (or wherever your source tree is). This will magically create symlinks and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
415 populate your build directory.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
416
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
417 @item
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
418 Use --with-site-prefixes (or --with-site-includes and
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
419 ---with-site-libraries) if you have some packages that XEmacs can
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
420 compile with that are located in an unusual place. For example:
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
421
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
422 @example
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
423 --with-site-prefixes=/usr/local/pgsql:/usr/local/BerkeleyDB.4.1
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
424 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
425
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
426 @item
4312
1094d6d400fb Spelling fixes.
"Ville Skyttä <scop@xemacs.org>"
parents: 3388
diff changeset
427 Depending on your build environment, consider setting or not setting
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
428 options for menubars, scrollbars, window systems, native sound, etc. If
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
429 you're not sure, leave them out and let configure do the auto-detection.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
430 (If you get bugs compiling GTK, use @code{--with-gtk=no --with-gnome=no}.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
431
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
432 Part of the configure output is a summary that looks something
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
433 like the following. (this summary is also available as the file
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
434 'Installation' in the top directory of your build tree, and via
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
435 the command @kbd{M-x describe-installation RET}).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
436
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
437 @example
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
438 uname -a: Darwin laptop.local 7.7.0 Darwin Kernel Version 7.7.0: Sun Nov 7 16:06:51 PST 2004; root:xnu/xnu-517.9.5.obj~1/RELEASE_PPC Power Macintosh powerpc
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
439
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
440 ./configure '--with-site-prefixes=/sw' '--without-ldap' '--with-dynamic=yes' '--with-gtk=no' '--with-gnome=no' '--enable-toolbars' '--with-wmcommand' '--with-athena=3d' '--enable-menubars=lucid' '--enable-scrollbars=athena' '--enable-dialogs=athena' '--enable-widgets=athena' '--with-gif' '--enable-sound=native,noesd' '--with-site-lisp=no' '--with-site-modules' '--enable-pdump' '--enable-mule' '--with-xfs' '--enable-debug' '--enable-error-checking=all' '--enable-memory-usage-stats' '--enable-kkcc' '--enable-clash-detection'
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
441
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
442
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
443 XEmacs 21.5-b19 "chives" (+CVS-20050226) configured for `powerpc-apple-darwin7.7.0'.
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
444
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
445 WARNING: --------------------------------------------------------------
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
446 WARNING: This was produced from a new autoconf-2.5 based configuration.
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
447 WARNING: If this configuration seems buggy then copy etc/configure-2.13
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
448 WARNING: to configure and try again. Also please report the bug.
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
449 WARNING: --------------------------------------------------------------
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
450
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
451 Compilation Environment and Installation Defaults:
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
452 Source code location: /usr/local/src/xemacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
453 Installation prefix: /usr/local
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
454 Additional prefixes: /sw
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
455 Operating system description file: `s/darwin.h'
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
456 Machine description file: `m/powerpc.h'
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
457 Compiler version: gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1671)
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
458 - GCC specs file: /usr/libexec/gcc/darwin/ppc/3.3/specs
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
459 - Compiler command: gcc -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wpointer-arith -Wunused-parameter -g
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
460 libc version:
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
461 Relocating allocator for buffers: no
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
462 GNU version of malloc: no
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
463 - The GNU allocators don't work with this system configuration.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
464
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
465 Window System:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
466 Compiling in support for the X window system:
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
467 - X Windows headers location: /usr/X11R6/include
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
468 - X Windows libraries location: /usr/X11R6/lib
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
469 - Handling WM_COMMAND properly.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
470 Compiling in support for the Athena widget set:
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
471 - Athena headers location: X11/Xaw3d
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
472 - Athena library to link: Xaw3d
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
473 Using Lucid menubars.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
474 Using Athena scrollbars.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
475 Using Athena dialog boxes.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
476 Using Athena native widgets.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
477
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
478 TTY:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
479 Compiling in support for ncurses.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
480
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
481 Images:
4708
1cecc3e9f0a0 Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents: 4312
diff changeset
482 Compiling in support for GIF images.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
483 Compiling in support for XPM images.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
484 Compiling in support for PNG images.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
485 Compiling in support for JPEG images.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
486 Compiling in support for TIFF images.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
487 Compiling in support for X-Face message headers.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
488
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
489 Sound:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
490
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
491 Databases:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
492 Compiling in support for Berkeley database.
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
493 Compiling in support for GNU DBM.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
494 Compiling in support for PostgreSQL.
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
495 - Using PostgreSQL header file: postgresql/libpq-fe.h
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
496 - Using PostgreSQL V7 bindings.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
497
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
498 Internationalization:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
499 Compiling in support for Mule (multi-lingual Emacs).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
500 Compiling in support for XIM (X11R5+ I18N input method).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
501 - Using raw Xlib to provide XIM support.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
502 - Using XFontSet to provide bilingual menubar.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
503
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
504 Mail:
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
505 Compiling in support for "file" mail spool file locking method.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
506
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
507 Other Features:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
508 Inhibiting IPv6 canonicalization at startup.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
509 Compiling in support for dynamic shared object modules.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
510 Using the new GC algorithms.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
511 Using the new portable dumper.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
512 Compiling in support for extra debugging code.
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
513 Compiling in support for runtime error checking.
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
514 WARNING: ---------------------------------------------------------
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
515 WARNING: XEmacs will run noticeably more slowly as a result.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
516 WARNING: Error checking is on by default for XEmacs beta releases.
2647
89e2f8e3f660 [xemacs-hg @ 2005-03-10 11:44:17 by malcolmp]
malcolmp
parents: 2547
diff changeset
517 WARNING: ---------------------------------------------------------
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
518 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
519 @end enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
520
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
521
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
522 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
523 Then...
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
524
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
525 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
526 $ make > ./beta.err 2>&1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
527 $ make check > ./xemacs-make-check.err 2>&1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
528 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
529
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
530 ...and you should have a working XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
531
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
532 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
533 After you have verified that you have a functional editor, fire up
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
534 your favorite mail program and send a build report to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
535 @uref{mailto:xemacs-buildreports@@xemacs.org}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
536
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
537 Preferably this is best done from XEmacs, following these simple steps:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
538
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
539 @enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
540 @kbd{M-x customize-group RET build-report RET}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
541 @kbd{M-x build-report RET}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
542 @end enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
543
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
544 See also
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
545 @uref{http://www.xemacs.org/Releases/Public-21.2/tester.html#reporting}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
546
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
547 If you create the report manually by other means, here is what the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
548 build report should include:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
549
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
550 @enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
551 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
552 Your hardware configuration (OS version, etc.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
553
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
554 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
555 Version numbers of software in use (X11 version, system library
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
556 versions if appropriate, graphics library versions if appropriate).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
557 If you're on a system like Linux, include all the version numbers
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
558 you can because chances are it makes a difference.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
559
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
560 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
561 The options given to configure
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
562
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
563 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
564 The configuration report illustrated above
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
565
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
566 For convenience all of the above items are placed in a file called
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
567 `Installation' in the top level build directory. They are also
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
568 available by performing @kbd{M-x describe-installation} inside XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
569
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
570 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
571 Any other unusual items you feel should be brought to the attention
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
572 of the developers.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
573 @end enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
574 @end enumerate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
575
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
576
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
577 @node Packages, Reporting Problems, Building Beta XEmacs, Top
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
578 @chapter Packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
579
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
580 [Note: these instructions have been partly updated, but not carefully
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
581 reviewed in some time. Caveat tester.]
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
582
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
583 Starting with XEmacs 21.1, much of the functionality of XEmacs has
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
584 been unbundled into "the packages." For more information about the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
585 package system, see the Info nodes on Packages (in the XEmacs User
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
586 Manual) and on Packaging (in the Lisp Reference).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
587
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
588 When bootstrapping XEmacs, you may need to manually install some
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
589 packages (at least xemacs-base and efs). These packages are available
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
590 by FTP at @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
591
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
592 @menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
593 * Binary package installation::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
594 * Manual procedures for package management::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
595 * Building XEmacs and XEmacs packages from scratch::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
596 @end menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
597
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
598
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
599 @node Binary package installation, Manual procedures for package management, Packages, Packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
600 @section Binary package installation
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
601
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
602 Prerequisite: XEmacs 21.0-b1.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
603
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
604 Binary packages are complete entities that can be untarred at the top
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
605 level of an XEmacs package hierarchy and work at runtime. To install files
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
606 in this directory, run the command @kbd{M-x package-admin-add-binary-package}
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
607 and fill in appropriate values to the prompts.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
608
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
609
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
610 @node Manual procedures for package management, Building XEmacs and XEmacs packages from scratch, Binary package installation, Packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
611 @section Manual procedures for package management
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
612
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
613 Prerequisite: XEmacs 21.0
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
614
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
615 When adding and deleting files from a lisp directory the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
616 auto-autoloads.el (global symbols) and custom-load.el (Customization
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
617 groups) must be kept in synch. Assuming one is manipulating a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
618 directory called `lisp-utils', the command to rebuild the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
619 auto-autoloads.el file is:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
620
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
621 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
622 xemacs -vanilla -batch \
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
623 -eval \("setq autoload-package-name \"lisp-utils\""\) \
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
624 -f batch-update-directory lisp-utils
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
625 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
626
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
627 The command to rebuild the custom-load.el file is:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
628
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
629 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
630 xemacs -vanilla -batch -f Custom-make-dependencies lisp-utils
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
631 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
632
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
633 To byte-compile both of these files the command is:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
634
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
635 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
636 xemacs -vanilla -batch -f batch-byte-compile \
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
637 lisp-utils/auto-autoloads.el lisp-utils/custom-load.el
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
638 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
639
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
640 Of course, being a beta tester, you'd be aware that it is much easier
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
641 to manage your XEmacs packages with PUI.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
642
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
643
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
644 @node Building XEmacs and XEmacs packages from scratch, , Manual procedures for package management, Packages
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
645 @section Building XEmacs and XEmacs packages from scratch
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
646
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
647 To build everything completely from scratch isn't hard, just time
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
648 consuming.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
649
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
650 @subheading Step 1 - grab the sources (core and packages)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
651
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
652 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
653 $ cvs -d :pserver:cvs@@cvs.xemacs.org:/pack/xemacscvs login
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
654 [password: "cvs" (sans quotes)]
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
655
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
656 $ cvs -d :pserver:cvs@@cvs.xemacs.org:/pack/xemacscvs co -d xemacs-21.5 xemacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
657
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
658 $ cvs -d :pserver:cvs@@cvs.xemacs.org:/pack/xemacscvs co packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
659 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
660
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
661 @subheading Step 2 - build XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
662
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
663 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
664 $ cd xemacs-21.5
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
665 $ ./configure [options...]
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
666 $ make > ./beta.err 2>&1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
667 $ make check > ./xemacs-make-check.err 2>&1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
668 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
669
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
670 And optionally:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
671
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
672 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
673 $ make install > ./xemacs-make-install.err 2>&1
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
674 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
675
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
676 @subheading Step 3 - build and install the packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
677
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
678 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
679 $ cd packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
680 $ cp Local.rules.template Local.rules
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
681 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
682
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
683 Then edit Local.rules to suit your needs/environment
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
684 (@pxref{Local.rules file,,, xemacs, XEmacs User's Manual}) for details
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
685 about this file.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
686
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
687 And then:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
688
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
689 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
690 $ make install
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
691 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
692
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
693
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
694 @node Reporting Problems, Improving XEmacs, Packages, Top
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
695 @section Reporting Problems
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
696
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
697 The best way to get problems fixed in XEmacs is to submit good problem
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
698 reports, @kbd{M-x report-xemacs-bug RET} will help you do this (assuming
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
699 you have a usable XEmacs). Since this is beta software, problems are
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
700 certain to exist. Please read through all of part II of the XEmacs
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
701 FAQ for an overview of problem reporting.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
702 @xref{Installation, Installation and Troubleshooting, , xemacs-faq}.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
703 The most relevant parts are in section 2.4, General Troubleshooting.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
704 @c #### Why doesn't this link work?
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
705 @c @ref{Q2.4.1, General Troubleshooting, , xemacs-faq}.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
706 Other items which are most important are:
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
707
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
708 @enumerate
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
709 @item
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
710 Do not submit C stack backtraces without line numbers. Since it
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
711 is possible to compile optimized with debug information with GCC
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
712 it is never a good idea to compile XEmacs without the -g flag.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
713 XEmacs runs on a variety of platforms, and often it is not
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
714 possible to recreate problems which afflict a specific platform.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
715 The line numbers in the C stack backtrace help isolate where the
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
716 problem is actually occurring.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
717
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
718 @item
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
719 Attempt to recreate the problem starting with an invocation of
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
720 XEmacs with @code{xemacs -no-autoloads}. Quite often, problems are
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
721 due to package interdependencies, and the like. An actual bug
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
722 in XEmacs should be reproducible in a default configuration
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
723 without loading any special packages (or the one or two specific
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
724 packages that cause the bug to appear). If you have trouble
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
725 getting anything to work at all with the above invocation, use
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
726 @code{xemacs -vanilla} instead. If you need to load your user init
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
727 file or the site file to get the problem to occur, then it has
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
728 something to do with them, and you should try to isolate the
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
729 issue in those files.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
730
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
731 @item
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
732 A picture can be worth a thousand words. When reporting an
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
733 unusual display, it is generally best to capture the problem in a
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
734 screen dump and include that with the problem report. The easiest
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
735 way to get a screen dump is to use the xv program and its grab
4708
1cecc3e9f0a0 Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents: 4312
diff changeset
736 function. Save the image as a PNG to keep bandwidth requirements
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
737 down without loss of information. MIME is the preferred method
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
738 for making the image attachments.
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
739 @end enumerate
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
740
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
741
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
742 @node Improving XEmacs, Index, Reporting Problems, Top
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
743 @chapter Improving XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
744
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
745 @menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
746 * Creating patches for submission::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
747 * Large contributions::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
748 @end menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
749
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
750 @node Creating patches for submission, Large contributions, Improving XEmacs, Improving XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
751 @section Creating patches for submission
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
752
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
753 All patches to XEmacs that are seriously proposed for inclusion (eg,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
754 bug fixes) should be mailed to @uref{mailto:xemacs-patches@@xemacs.org}. Each
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
755 patch will be reviewed by the patches review board, and will be
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
756 acknowledged and added to the distribution, or rejected with an
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
757 explanation. Progress of the patch is tracked on the XEmacs Patches
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
758 mailing list, which is open subscription. (If a patch is simply
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
759 intended to facilitate discussion, "I mean something that works like
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
760 this but this is really rough", a Cc to XEmacs Patches is optional,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
761 but doesn't hurt.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
762
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
763 Patches to XEmacs Lisp packages should be sent to the maintainer of
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
764 the package. If the maintainer is listed as `XEmacs Development Team'
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
765 patches should be sent to @uref{mailto:xemacs-patches@@xemacs.org}.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
766
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
767 Emailed patches should preferably be sent in MIME format and quoted
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
768 printable encoding (if necessary).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
769
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
770 The simplest way to create well-formed patches is to use CVS and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
771 Didier Verna's Patcher library (available as patcher.el in the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
772 xemacs-devel package). Patcher is new and requires some setup, but
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
773 most of the core developers are now using it for their own patches.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
774 Patcher also can be configured to create patches for several projects,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
775 and recognize the project from the directory it is invoked in. This
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
776 makes it a useful general tool (as long as XEmacs-style patches are
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
777 accepted at your other projects, which is likely since they conform to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
778 the GNU standards).
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
779
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
780 When making patches by hand, please use the `-u' option, or if your
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
781 diff doesn't support it, `-c'. Using ordinary (context-free) diffs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
782 are notoriously prone to error, since line numbers tend to change when
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
783 others make changes to the same source file.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
784
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
785 An example of the `diff' usage:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
786
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
787 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
788 $ diff -u OLDFILE NEWFILE
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
789 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
790
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
791 -or-
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
792
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
793 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
794 $ diff -c OLDFILE NEWFILE
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
795 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
796
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
797 Also, it is helpful if you create the patch in the top level of the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
798 XEmacs source directory:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
799
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
800 @example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
801 $ cp -p lwlib/xlwmenu.c lwlib/xlwmenu.c.orig
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
802 hack, hack, hack....
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
803 $ diff -u lwlib/xlwmenu.c.orig lwlib/xlwmenu.c
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
804 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
805
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
806 Also note that if you cut & paste from an xterm to an XEmacs mail
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
807 buffer you will probably lose due to tab expansion. The best thing to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
808 do is to use an XEmacs shell buffer to run the diff commands, or ...
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
809 @kbd{M-x cd} to the appropriate directory, and issue the command
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
810 @kbd{C-u M-!} from within XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
811
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
812 Patches should be as single-minded as possible. Mammoth patches can
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
813 be very difficult to place into the right slot. They are much easier
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
814 to deal with when broken down into functional or conceptual chunks.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
815 The patches submitted by Kyle Jones and Hrvoje Niksic are stellar
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
816 examples of how to "Do The Right Thing".
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
817
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
818 Each patch should be accompanied by an update to the appropriate
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
819 ChangeLog file. Guidelines for writing ChangeLog entries is governed
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
820 by the GNU coding standards. Please see
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
821 @uref{http://www.gnu.org/prep/standards_toc.html} [Change Logs section]
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
822 for details.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
823
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
824 Do not submit context diffs (either -c or -u) of ChangeLogs. Because
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
825 of the "stack" nature of ChangeLogs (new entries are always pushed on
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
826 the top), context diffs will fail to apply more often than they
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
827 succeed. Simply cutting and pasting the entry from an Emacs buffer to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
828 the mail buffer (beware of tab expansion!) is probably easiest. The
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
829 Patcher library also will set up your ChangeLogs for you, and copy
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
830 them to the mail. Context-less unified diffs (-U 0) are also
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
831 acceptable.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
832
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
833 @menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
834 * Patch discussion etiquette::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
835 @end menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
836
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
837 @node Patch discussion etiquette, , Creating patches for submission, Creating patches for submission
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
838 @subsection Patch discussion etiquette
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
839
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
840 If you intend a patch for _application_ to the sources as is, _always_
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
841 post it to xemacs-patches, even if there are minor points you would
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
842 like to have discussed by others. Not doing so will resulting in
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
843 patches getting "lost". If you expect that the patch will not be
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
844 acceptable, but are using it to stimulate discussion, then don't post
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
845 to xemacs-patches. Intermediate cases are up to your judgment;
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
846 unless you're sure you'll follow up with a "real" patch, better to err
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
847 on the side of posting to xemacs-patches.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
848
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
849 Discussion of the _content_ of the patch (ie responses to reviewer
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
850 comments beyond "that's right, ok, I'll do it your way") should _always_
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
851 be posted to xemacs-beta or to xemacs-design. If you're not sure
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
852 which is more appropriate, send it to xemacs-beta. That is the most
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
853 widely read channel.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
854
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
855 If discussion results in a bright idea and you come up with a new
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
856 patch, normally you should post it to both mailing lists. The people
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
857 discussing on XEmacs Beta will want to know the outcome of the thread,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
858 and you need to submit to XEmacs Patches as the "list of record."
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
859
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
860 If the old patch has been applied to CVS, then just submit the new one
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
861 as usual. If it has not been applied, then it is best to submit a new
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
862 patch against CVS. If possible do this as a reply to the original
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
863 patch post, or something following it in the thread. (The point is to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
864 get the original patch post's Message-ID in your References header.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
865 In this case, also use the keyword SUPERSEDES in the Subject header to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
866 indicate that the old patch is no longer valid, and that this one
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
867 replaces it.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
868
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
869 These rules will result in a fair number of cross posts, but we don't
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
870 yet have a better way to handle that.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
871
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
872 Note: Developers should never post to xemacs-patches unless there is a
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
873 patch in the post. We plan to enforce this with an automatic filter.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
874
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
875 The exceptions are administrative. If you have commit authorization,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
876 then post a short COMMIT notice to xemacs-patches when you commit to
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
877 CVS. Members of the Review Board will also post short notices of
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
878 administrative action (APPROVE, VETO, QUERY, etc) to xemacs-patches.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
879
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
880 @node Large contributions, , Creating patches for submission, Improving XEmacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
881 @section Large contributions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
882
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
883 Perhaps you have a whole new mode, or a major synchronization with
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
884 upstream for a neglected package, or a synchronization with GNU Emacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
885 you would like to contribute. We welcome such contributions, but they
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
886 are likely to be relatively controversial, generate more comments and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
887 requests for revision, and take longer to integrate. Please be
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
888 patient with the process.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
889
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
890 @menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
891 * Updates to existing packages::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
892 * New packages::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
893 * Syncing with GNU Emacs::
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
894 @end menu
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
895
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
896 @node Updates to existing packages, New packages, Large contributions, Large contributions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
897 @subsection Updates to existing packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
898
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
899 If a package has gotten a bit out of date, or even started to bitrot,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
900 we welcome patches to synchronize it with upstream/GNU Emacs versions.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
901 Most packages end up varying somewhat from their GNU origins. See
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
902 "Syncing with GNU Emacs" for hints. Note that if you do a reasonably
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
903 large amount of syncing with GNU Emacs, you should log this in the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
904 file itself as well as in the ChangeLog.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
905
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
906 If the package is important to you, please consider becoming the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
907 maintainer. (See "New packages", below.)
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
908
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
909 @node New packages, Syncing with GNU Emacs, Updates to existing packages, Large contributions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
910 @subsection New packages
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
911
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
912 If you have a new mode or other large addition that does not require
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
913 changes to the core, please consider submitting it as a package, and
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
914 becoming the maintainer. You get direct commit privileges to the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
915 repository for your package, "approval" privileges for your own
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
916 patches as well as third party patches to your package, and some
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
917 degree of veto power over patches you don't like. In return, you are
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
918 expected to maintain friendly liaison with the upstream developer (if
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
919 you aren't the upstream developer), keep watch on the XEmacs Patches
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
920 list for relevant patches, and be available by email to other
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
921 developers for discussion of changes that impact your package. It's
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
922 also a pretty standard route to the "core" development group, where we
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
923 have plenty of extra work waiting for volunteers.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
924
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
925 You don't have to become the maintainer, but it virtually ensures
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
926 rapid acceptance of the package.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
927
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
928 For help in creating new packages, see the (rather sparse) discussions
2547
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
929 in the XEmacs User's Guide and the Lisp Reference Manual. The
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
930 participants in the XEmacs Beta mailing list
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
931 @uref{mailto:xemacs-beta@@xemacs.org} and the XEmacs Package Release
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
932 Engineer are the most likely sources of advice. See
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
933 @uref{http://www.xemacs.org/Develop/jobs.html#package,jobs.html} for
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
934 current information about package release engineers.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
935
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
936
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
937 @node Syncing with GNU Emacs, , New packages, Large contributions
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
938 @subsection Syncing with GNU Emacs
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
939
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
940 Syncing with GNU Emacs is an important activity. Although each
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
941 version has its advantages and areas of concentration, it is very
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
942 desirable that common functionality share specifications and APIs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
943 When porting GNU code to XEmacs, the following points should be given
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
944 special attention:
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
945
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
946 @itemize @bullet
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
947 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
948 Recent GNU Emacsen cannot be built without Mule, but XEmacs can.
2547
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
949 Make sure that changes that depend on the presence of Mule are
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
950 appropriately conditionalized, with @samp{#ifdef MULE} in C code and
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
951 with @samp{(featurep 'mule)} in Lisp.
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
952
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
953 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
954 GNU Emacs nomenclature often differs from that of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
955 Sometimes syncing the names is desirable, other times not.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
956
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
957 @item
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
958 GNU Emacs functionality often differs from that of XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
959 Syncing functionality is often controversial.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
960 @end itemize
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
961
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
962 It is important that you let other developers know that
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
963 synchronization has taken place, to what degree, and when. For this
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
964 purpose, we use comments of the form
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
965
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
966 @example
2547
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
967 /* Synched up with: GNU 21.3 by Stephen Turnbull */
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
968 @end example
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
969
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
970 in the source file itself, as the last element of the prefatory
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
971 material (copyright notice and commentary). Obviously the comment
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
972 marker needs to be changed to leading semicolons for Lisp, but
2547
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
973 otherwise the format is the same. (Older sync comments may have ``FSF''
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
974 in place of ``GNU''. They're equally accurate in our opinion, but
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
975 Richard Stallman and other GNU developers consider the term ``FSF
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
976 Emacs'' ``insulting''. Please use ``GNU'' in new sync comments.)
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
977
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
978 Of course you should note syncing as the purpose in the ChangeLog,
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
979 too. But entries get buried deep in the ChangeLog file, and may even
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
980 get moved to a separate ChangeLog.OLD file for rarely synched files.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
981
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
982 Rather than dates we use the version of GNU Emacs to sync to. If the
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
983 synchronization is partial, add a new comment describing what has
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
984 actually been synched, leaving the description of the last full sync
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
985 in place. At each full sync, remove all previous synchronization
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
986 comments.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
987
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
988 This applies to Lisp that we have broken out into packages, but
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
989 remains in the GNU Emacs core, as well to core Lisp in XEmacs.
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
990
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
991 @c Print the tables of contents
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
992 @contents
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
993 @c That's all
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
994
3388
e7fb0df1caea [xemacs-hg @ 2006-05-09 05:15:15 by stephent]
stephent
parents: 2647
diff changeset
995
2547
a9527fcdf77f [xemacs-hg @ 2005-02-03 06:14:40 by stephent]
stephent
parents: 2537
diff changeset
996 @node Index, , Improving XEmacs, Top
2537
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
997 @unnumbered Index
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
998
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
999 @printindex cp
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
1000
b7b90f750a78 [xemacs-hg @ 2005-01-31 20:08:32 by ben]
ben
parents:
diff changeset
1001 @bye